RHEL之(四)Red Hat Linux 网络管理
网络管理
前言
在 RHEL7 乃至 RHEL7 之前,有一个专门的名为 network 的服务。
但是在 RHEL8 中默认不再有这个服务。
在 RHEL6 之后,新增了一个叫 NetworkManager 的服务,用于对网络进行管理。
在 RHEL6/7 的时候,很多时候建议将 NetworkManager 服务关闭;但是在 RHEL8 中,这个服务不再允许被关闭。
1. 网络设备命名规则
RHEL7 以后,命名网卡的方式和网卡类型有关,例如:
ens160——en(Ethernet)以太网卡
s(PCI Slot): PCI 插槽
p(Port Number):编号
事实上,网卡的 device 名字是可以更改的,比如按照功能更改。
Tips:网络接口名称以对应的接口类型开头
以 en 开头:
以太网接口
以 wl 开头:
WLAN 接口
以 ww 开头:WWAN 接口
2. 查看网络信息
(1)查看 ip 地址,MAC 地址,地址掩码,状态信息等
命令:ip addr show 网络设备名
Tips:如果不加设备名,则可以看到所有的网络设备的网络信息
(2)查看路由信息
命令:ip route
通常来说,我们仅需要知道其中两个信息:
a. 系统的默认路由是如何设置的:在没有明细路由的情况下,数据包的下一跳是通过什么出口出去。如图,默认路由是有 default关键字的那一行。
b. 查看具体的明细路由:通往某个特定网络的下一跳通过什么出口出去。
例如:如图所示,通往 192.168.24.0/24 都通过网卡 ens160发送出去。
命令:route -n
可以更明细地查看路由信息。其中 Flags 含义在下面给出。
(3)查看 DNS 信息
命令:cat /etc/resolv.conf
Tips:/etc/resolv.conf 文件中配置的是全局 DNS,若要为每个网卡配置不同的 DNS 服务器,可以在各自的网卡配置文件中手动配置。更详细的内容在下面会给出讨论。
(4)查看主机名
命令:hostname 或 hostnamectl
(5)网络接口统计信息
命令:ifconfig 网络设备名
命令:ip -s link show 网络设备名
(6)网络连通性测试
命令:ping 域名/IP -c XX -s packetsize
Tips:参数解读
-c:设置发出 ping 包的数目
-s:设置发出 ping 包的大小(单位为字节 bytes)
对于 IPV6 地址,使用命令:ping6
对于追踪路由,使用命令:tracepath
(7)查看端口信息
命令:lsof
命令:netstat 或 ss (和 Windows 的 netstat -ano 相似)
各个参数的含义在下图给出
参考链接:https://www.jianshu.com/p/75266bc39eb4
3. 网络信息的配置和管理
在 RHEL8 之前,直接修改网卡配置文件后,重启 network 服务;RHEL8 之后,已经不再提供 network 服务,所有网络的管理都是通过NetworkManager 来完成。(Tips:直接修改配置文件依然有效)。
NetworkManager 既提供了图形化的工具,又提供了命令行。
图形化界面:nm-connection-editor
(1)NetworkManager 概念
命令:nmcli(NetworkManager Client)
nmcli connection 参数(connection:连接)
连接文件: 把一个的配置的集合放在一个文件内,就叫连接文件,比如网卡的配置文件。
命令:nmcli connection show
(2)新增并连接(激活)一块网卡
右键选中要新增网卡的虚拟机,选择设置,打开如下图所示
点击“添加”,在选择“网络适配器”后点完成,点击“确定”后新增网卡(ens224)。
添加网卡后,可以使用命令 ip addr show 查看,可以发现新增的网卡(ens224)还没有连接。
命令: nmcli device status 查看设备的连接
接下来,使用命令 nmcli device connect 设备名来连接(激活)网卡。
Tips:确认设备连接需要知道三点信息:
A、设备(Device)的状态
B、设备(Device)的连接
C、设备(Device)所对应的连接配置文件
/etc/sysconfig/network-scripts/ifcfg-ensXXX
(3)IP 地址的配置修改,路由的配置,DNS 的配置等
A、使用命令 nmcli connection modify 来修改设备所对应的连接属性(可修改 IP、子网掩码、网关和 DNS 这四个信息)
Tips:除了上述使用“nmcli device connect 设备名”来自动创建连接文件的方式以外,还可以使用手动添加连接的方式来对设备进行关联,如下所示:
命令:nmcli connection add XXXXXXX
手动的 connect 会自动创建连接,手动创建会自动 connect。
Tips:IP 是针对设备的 ,但是网关和 DNS 是针对系统的。
重载网卡后即可生效
B、手动添加静态路由
通过命令 ip route add 来手动添加静态路由。
方法 1:通过指定出接口设备名来添加路由(dev)
方法 2:通过指定出接口的 IP 来添加路由(via)
验证:route -n
C、配置全局 DNS
在文件/etc/resolv.conf 中,可以配置全局 DNS 服务器地址
Nameserver XXXX(DNS 地址)重启网卡后生效
Tips:另外,还可以通过直接修改网卡配置文件进行配置,方法在以下给出。
(4)通过修改配置文件的方式修改网络配置
以配置 ens160 网卡为例:
编辑配置文件
/etc/sysconfig/network-scripts/ifcfg-ens160
Tips:补充 DEFROUTE 选项为是否生成默认路由
保存文件并退出后,记得重启一下网卡 ens160
(5)主机名的查看与配置
A、查看主机名
命令:hostnamectl status
B、临时设置主机名
命令:hostname xxx
C、永久设置主机名
命令:hostnamectl set-hostname xxx
4. IPV6 配置
编辑网卡 ens160 的配置文件,如下所示:
保存退出后,重启网卡,使用 ifconfig ens160 查看配置成功。
5. 链路聚合(Team Bridge) --RHEL7 时常考到
(1)链路聚合的概念:链路聚合(Link Aggregation)是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。
(2)链路聚合的常见方式:team bond
常见几种链路聚合:
load balance(负载均衡)
round-robin(轮询)
active-backup(主备)Tips:
常见的工作模式
Mode 0 (balance-rr) : 轮转(Round-robin)策略,从头到尾顺序的在每一个 slave 接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup) :活动-备份(主备)策略,只有一个 slave 被激活,当且仅当活动的 slave 接口失败时才会激活其他 slave 。为了避免交换机发生混乱此时绑定的 MAC 地址只有一个外部端口上可见
Mode 3 (broadcast) :广播策略,在所有的 slave 接口上传送所有的报文,提供容错能力
注意:active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式 4 中需要 LACP 和 EtherChannel
(3)链路聚合的实现方式
A、为虚拟机添加两块网卡
添加网卡后,查看网卡设备的连接状态,可知两块网卡均没激活连接。
B、安装 teamd 服务
teamd 已在 RHEL8 默认被安装:
C、创建一个逻辑绑定口(team0)
D、添加逻辑绑定口的成员(物理网卡 ens161 和 ens256)
E、修改逻辑绑定口配置文件(team0)
编辑链路聚合 team0 的配置文件
/etc/sysconfig/network-scripts/ifcfg-team0
Tips:注意,物理接口 ens161 和 ens256 都不需要添加 IP 地址!
G、保存并退出,重新加载 team0 后,查看设备的连接状态。
H、测试连通性
I、teambridge 测试(以 active-backup 为例)
使用命令 teamdctl team0 state 查看链路聚合口状态(当前 active port 为 ens161)
此时断掉活跃端口(active port)ens161 后,team0 active port自动切换到 ens256。
重新开启 ens161,发现 team0 active port 没有变化,仍然是ens256。表明状态的切换是非抢占的。
Tips:在测试切换期间,team0 的网络一直处于连通状态,不会发生中断。
Tips:
1.这一部分在 RHCE 7.0 EX300 考试必有一题,为两台机做链路聚合,相互测试连通性。
2.也可以通过 teamd 的示例配置文件直接复制并修改即可。
/usr/share/doc/teamd/example_ifcfgs/X/ifcfg-eth1
/usr/share/doc/teamd/example_ifcfgs/X/ifcfg-eth2
/usr/share/doc/teamd/example_ifcfgs/X/ifcfg-team_test0
参考资料:
https://www.cnblogs.com/chailonggang/p/12769419.html