操作系统网络配置基础

01. 了解DNS,修改操作系统设置的DNS服务器为114.114.114.114

说白了DNS(Domain Name System), 就是将域名翻译为IP地址。

DNS服务器:DNS服务器是负责将域名解析为IP地址的服务器。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

主机名到 IP 地址映射的两种方式:

  • 静态映射(/etc/hosts文件) 在每台设备上都有主机到IP的映射关系,只供此设备使用。
  • 动态映射(/etc/resolv.conf文件) 指通过DNS服务器配置主机到IP的映射关系。

更改DNS服务器:修改resolv.conf文件来指定系统所使用的DNS服务器。具体操作如下:

终端输入sudo vim /etc/resolv.conf ,按i键进入插入模式,修改nameserver的值为114.114.114.114,修改完成后,按:进入命令模式,输入wq保存并退出。

02. 查看操作系统的路由配置

(1)路由基础知识

  • 路由: 跨越从源主机到目标主机的一个互联网络来转发数据包的过程。
  • 路由器:能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备。
  • 路由表:在路由器中维护的路由条目,路由器根据路由表做路径选择。
  • 直连路由:当在路由器上配置了接口的IP地址,并且接口状态为up的时候,路由表中就出现直连路由项。
  • 静态路由:是由管理员手工配置的,是单向的。
  • 默认路由:当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口 。

(2)Linux内核路由表

  • 使用route -n命令查看Linux内核路由表。
[benny@localhost ~]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.80.2    0.0.0.0         UG    100    0        0 ens33
192.168.80.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

route命令的输出项说明:

输出项说明
Destination目标网段或者主机
Gateway网关地址(*表示目标是本主机所属的网络,不需要路由)
Genmask网络掩码
Flags标记,一些可能的标记如下: U:表示此路由当前为启动状态 H:目标是一个主机 G:表示此网关为一路由器 R:恢复动态路由产生的表项 D:由路由的后台程序动态地安装 M:由路由的后台程序修改 !:拒绝路由
Metric路由距离,到达指定网络所需的中转数(linux内核中没有使用)
Ref路由项引用次数(linux内核中没有使用)
Use此路由项被路由软件查找的次数
Iface该路由表项对应的输出接口

03. 了解 SELinux,并关闭操作系统的SElinux

(1)SELinux 介绍

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。Selinux是由美国国家安全局发起的,在进程层面管控文件系统资源的访问的一种安全机制

(2)SELinux 作用

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则),避免权限过大的角色给系统带来灾难性的结果。SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

(3)关闭 SELinux

# 查看SELinux状态
[benny@localhost ~]$ getenforce
Enforcing
# 临时关闭SElinux
[benny@localhost ~]$ setenforce 0
setenforce: setenforce() failed  # 临时关闭报错,原因是是权限不够,需要管理员权限才可以。
# 使用sudo 命令重新尝试关闭SElinux
[benny@localhost ~]$ sudo setenforce 0
[sudo] benny 的密码:
# 再次查看SELinux状态,已临时关闭
[benny@localhost ~]$ getenforce
Permissive

# 永久关闭SELinux
[root@vm01]# vi /etc/selinux/config
# 修改配置文件/etc/selinux/config,将SELINUX=enforcing 改为 SELINUX=disabled

04. 了解 iptables,启用一条开放80端口的iptables策略并使其持久化(重启仍生效)

(1)防火墙相关概念

在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或限制数据的传输。从逻辑上讲,防火墙可以大体分为主机防火墙和网络防火墙。

  • 主机防火墙:针对于单个主机进行防护。
  • 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。

从物理上讲,防火墙可以分为硬件防火墙和软件防火墙。

  • 硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。
  • 软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。

(2)iptables 介绍

iptables是Linux系统中一个强大的防火墙工具,它允许系统管理员定义数据包的转发、过滤和网络地址转换(NAT)规则,以保护网络安全、限制网络流量并优化网络资源的利用。iptables 可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

(3)启用一条开放80端口的iptables策略并使其持久化(重启仍生效)

  • CentOS 7默认没有iptables(CentOS7默认防火墙是firewalld),但我们还是可以自己安装iptables。
# CentOS7关闭firewalld防火墙:
[benny@localhost sysconfig]$ systemctl stop firewalld
# CentOS7关闭firewalld防火墙开机启动:
[benny@localhost sysconfig]$ systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

# CentOS7安装iptables防火墙:
[benny@localhost sysconfig]$ sudo yum -y install iptables
# CentOS7安装iptables的service启动工具:
[benny@localhost sysconfig]$ sudo yum -y install iptables-services

# 启动iptable
[benny@localhost sysconfig]$ systemctl start iptables
# 查看iptables状态
[benny@localhost sysconfig]$ systemctl status iptables
  • 开放主机指定端口(以8080为例)
# 方式一:修改配置文件 `/etc/sysconfig/iptables`
[benny@localhost ~]$ sudo vim /etc/sysconfig/iptables
# 在该文件添加一行:
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

# 查看iptables文件内容:
[benny@localhost ~]$ sudo cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# 允许新的TCP连接到端口22,这通常是SSH服务的端口。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# 下面这条规则允许新的TCP连接到端口8080。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

# ----------------------------------------------------------------------
# 方式二:通过命令直接添加规则
[benny@localhost ~]$ iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# 注意,以方法二新增的规则是存在于iptables进程内存中未持久化的。
[benny@localhost ~]$ service iptables save

05. 了解firewalld防火墙,启用一条开放80端口并限制IP为自己本机公网IP访问的策略

(1)Firewalld 防火墙

Firewalld 是一个基于区域的防火墙管理工具,它提供动态管理的防火墙,支持定义网络连接或接口的信任级别的网络区域。Firewalld 是 CentOS7默认的管理防火墙规则的工具。

firewalld防火墙的配置方法有三种,分别是:

1.firewall-config图行化工具。

2.firewall-cmd命令行工具。

3./etc/firewalld/中的配置文件。

(2)Firewalld 开启指定端口

方式二:firewall-cmd 命令行工具

# 方式二:firewall-cmd 命令行工具
# 查看防火墙运行状态,出现active (running)则表示运行中
[benny@localhost ~]$ systemctl status firewalld
# 启动firewalld 防火墙
[benny@localhost ~]$ systemctl start firewalld
# 设置防火墙为开机自启
[benny@localhost ~]$ systemctl enable firewalld

# 开启80端口
[benny@localhost ~]$ firewall-cmd --zone=public --add-port=80/tcp --permanent
success
# 参数说明:--zone=public 表示作用域;--add-port=80/tcp 表示添加的端口、及协议;--permanent 表示永久生效,没有此参数重启后失效

# 开启端口后还需要重启防火墙
[benny@localhost ~]$ systemctl restart firewalld

(3)限制IP为自己本机公网IP访问

firewall-cmd --permanent --add-source=111.8.36.179
# 参数说明:
# firewall-cmd:调用防火墙命令行工具。
# --permanent:表示更改将被永久保存,即使在重启后也会保留。
# --add-source=111.8.36.179:添加源 IP 地址 111.8.36.179 到防火墙规则中。

# 永久移除对特定源IP地址(在这个例子中是111.8.36.179)的访问限制或规则
firewall-cmd --permanent --remove-source=111.8.36.179

06. 了解nmap,并在自己的电脑上安装一个nmap对云主机进行端口扫描

(1)nmap介绍

nmap(Network Mapper)是一款开源免费的针对大型网络的端口扫描工具,nmap可以检测目标主机是否在线、主机端口开放情况、检测主机运行的服务类型及版本信息、检测操作系统与设备类型等信息。

nmap主要功能:

  • 检测主机是否在线。例如,列出响应TCP或ICMP请求或打开特定端口的主机。
  • 扫描指定主机/主机列表端口开放状态,枚举目标主机上的开放端口,常用。
  • 检测主机运行服务类型及版本,检测远程设备上的网络服务以确定应用程序名称和版本号。
  • 检测操作系统版本和设备类型 ,确定网络设备的操作系统和硬件特性。
  • 可与脚本进行脚本交互,使用Nmap脚本引擎(NSE)和Lua编程语言。

(2)安装nmap

# 使用 yum 命令直接从 CentOS 默认仓库安装 nmap
[benny@localhost ~]$ sudo yum install nmap
# 安装完成后,可以通过运行 nmap 命令并查看其版本信息来验证是否成功安装
[benny@localhost ~]$ nmap --version
Nmap version 6.40 ( http://nmap.org )
Platform: x86_64-redhat-linux-gnu
Compiled with: nmap-liblua-5.2.2 openssl-1.0.2k libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

(3)nmap 端口扫描

# 使用ifconfig命令查看主机ip地址
[benny@localhost ~]$ ifconfig
# 扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描1000个端口)
[benny@localhost log]$ nmap 192.168.80.133

Starting Nmap 6.40 ( http://nmap.org ) at 2024-08-28 17:17 CST
Nmap scan report for 192.168.80.133
Host is up (0.00024s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbind

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

# 从中可以看出,它用0.05秒扫描了1000个端口,其中998个端口关闭,结果中列出的2个端口就是开放的端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值