RHEL之(四)Red Hat Linux 网络管理:网络设备命令规则,查看网络信息,网络信息的配置和管理,IPv6配置,链路聚合(Team Bridge)

 

网络管理

  前言

  在 RHEL7 乃至 RHEL7 之前,有一个专门的名为 network 的服务。

  但是在 RHEL8 中默认不再有这个服务。  

  

modemmanager管理网卡 管理网卡的服务_配置文件

  在 RHEL6 之后,新增了一个叫 NetworkManager 的服务,用于对网络进行管理。

  在 RHEL6/7 的时候,很多时候建议将 NetworkManager 服务关闭;但是在 RHEL8 中,这个服务不再允许被关闭。  

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_02

 

 

  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 网络设备名

  

modemmanager管理网卡 管理网卡的服务_配置文件_03

 

  Tips:如果不加设备名,则可以看到所有的网络设备的网络信息

 

  (2)查看路由信息

  命令:ip route

  

modemmanager管理网卡 管理网卡的服务_链路_04

 

  通常来说,我们仅需要知道其中两个信息:

  a. 系统的默认路由是如何设置的:在没有明细路由的情况下,数据包的下一跳是通过什么出口出去。如图,默认路由是有 default关键字的那一行。

  b. 查看具体的明细路由:通往某个特定网络的下一跳通过什么出口出去。

  例如:如图所示,通往 192.168.24.0/24 都通过网卡 ens160发送出去。

 

 

  命令:route -n

  可以更明细地查看路由信息。其中 Flags 含义在下面给出。

  

modemmanager管理网卡 管理网卡的服务_DNS_05

  

modemmanager管理网卡 管理网卡的服务_链路_06

 

 

  (3)查看 DNS 信息

  命令:cat /etc/resolv.conf 

  

modemmanager管理网卡 管理网卡的服务_配置文件_07

 

Tips:/etc/resolv.conf 文件中配置的是全局 DNS,若要为每个网卡配置不同的 DNS 服务器,可以在各自的网卡配置文件中手动配置。更详细的内容在下面会给出讨论。

 

 

  (4)查看主机名

  命令:hostname 或 hostnamectl

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_08

 

 

  (5)网络接口统计信息

  命令:ifconfig 网络设备名  

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_09

 

 

  命令:ip -s link show 网络设备名

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_10

 

 

 

  (6)网络连通性测试

  命令:ping 域名/IP -c XX -s packetsize  

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_11

 

 

 

  Tips:参数解读

  -c:设置发出 ping 包的数目

  -s:设置发出 ping 包的大小(单位为字节 bytes)

 

  对于 IPV6 地址,使用命令:ping6

  

modemmanager管理网卡 管理网卡的服务_配置文件_12

 

  对于追踪路由,使用命令:tracepath

  

modemmanager管理网卡 管理网卡的服务_配置文件_13

 

 

 

  (7)查看端口信息

  命令:lsof  

  

modemmanager管理网卡 管理网卡的服务_配置文件_14

 

 

 

  命令:netstat 或 ss (和 Windows 的 netstat -ano 相似)

  

modemmanager管理网卡 管理网卡的服务_DNS_15

 

 

  各个参数的含义在下图给出

  参考链接: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:连接)

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_16

 

 

  连接文件: 把一个的配置的集合放在一个文件内,就叫连接文件,比如网卡的配置文件。

  命令:nmcli connection show

  

modemmanager管理网卡 管理网卡的服务_DNS_17

 

 

 

  (2)新增并连接(激活)一块网卡

  右键选中要新增网卡的虚拟机,选择设置,打开如下图所示

   

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_18

  

  点击“添加”,在选择“网络适配器”后点完成,点击“确定”后新增网卡(ens224)。

    

modemmanager管理网卡 管理网卡的服务_DNS_19

添加网卡后,可以使用命令 ip addr show 查看,可以发现新增的网卡(ens224)还没有连接。  

  

modemmanager管理网卡 管理网卡的服务_配置文件_20

 

  命令: nmcli device status 查看设备的连接

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_21

 

 

 

  接下来,使用命令 nmcli device connect 设备名来连接(激活)网卡。

  

modemmanager管理网卡 管理网卡的服务_DNS_22

 

 

  Tips:确认设备连接需要知道三点信息:

  A、设备(Device)的状态

  

modemmanager管理网卡 管理网卡的服务_链路_23

 

 

 

  B、设备(Device)的连接

  

modemmanager管理网卡 管理网卡的服务_配置文件_24

 

 

 

  C、设备(Device)所对应的连接配置文件

  /etc/sysconfig/network-scripts/ifcfg-ensXXX

  

 

  (3)IP 地址的配置修改,路由的配置,DNS 的配置等

  A、使用命令 nmcli connection modify 来修改设备所对应的连接属性(可修改 IP、子网掩码、网关和 DNS 这四个信息)

  

modemmanager管理网卡 管理网卡的服务_DNS_25

 

   

modemmanager管理网卡 管理网卡的服务_DNS_26

 

 

 

   

  Tips:除了上述使用“nmcli device connect 设备名”来自动创建连接文件的方式以外,还可以使用手动添加连接的方式来对设备进行关联,如下所示:

  

modemmanager管理网卡 管理网卡的服务_配置文件_27

 

 

  命令:nmcli connection add XXXXXXX

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_28

   

modemmanager管理网卡 管理网卡的服务_配置文件_29

  手动的 connect 会自动创建连接,手动创建会自动 connect。

  Tips:IP 是针对设备的 ,但是网关和 DNS 是针对系统的。

  

modemmanager管理网卡 管理网卡的服务_配置文件_30

  重载网卡后即可生效

 

  B、手动添加静态路由

  通过命令 ip route add 来手动添加静态路由。

  

  方法 1:通过指定出接口设备名来添加路由(dev)

  

modemmanager管理网卡 管理网卡的服务_配置文件_31

  

  方法 2:通过指定出接口的 IP 来添加路由(via)

  

modemmanager管理网卡 管理网卡的服务_配置文件_32

  验证:route -n

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_33


  

 

  C、配置全局 DNS

  在文件/etc/resolv.conf 中,可以配置全局 DNS 服务器地址

  

modemmanager管理网卡 管理网卡的服务_链路_34

 

  Nameserver XXXX(DNS 地址)重启网卡后生效

Tips:另外,还可以通过直接修改网卡配置文件进行配置,方法在以下给出。

  

  (4)通过修改配置文件的方式修改网络配置

  

modemmanager管理网卡 管理网卡的服务_配置文件_35

 

  

  以配置 ens160 网卡为例:

  编辑配置文件

  /etc/sysconfig/network-scripts/ifcfg-ens160

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_36

 

   

  Tips:补充 DEFROUTE 选项为是否生成默认路由

  

modemmanager管理网卡 管理网卡的服务_DNS_37

  保存文件并退出后,记得重启一下网卡 ens160

 

 

  (5)主机名的查看与配置

  A、查看主机名

  命令:hostnamectl status

   

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_38

 

 

  B、临时设置主机名

  命令:hostname xxx

   

modemmanager管理网卡 管理网卡的服务_配置文件_39

 

 

  C、永久设置主机名

  命令:hostnamectl set-hostname xxx

  

modemmanager管理网卡 管理网卡的服务_链路_40

 

 

 

  

  4. IPV6 配置

  编辑网卡 ens160 的配置文件,如下所示:

  

modemmanager管理网卡 管理网卡的服务_链路_41

  保存退出后,重启网卡,使用 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、为虚拟机添加两块网卡

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_42

 

 

 

  添加网卡后,查看网卡设备的连接状态,可知两块网卡均没激活连接。

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_43

 

 

  B、安装 teamd 服务

  teamd 已在 RHEL8 默认被安装:

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_44

 

 

 

  C、创建一个逻辑绑定口(team0)

  

modemmanager管理网卡 管理网卡的服务_链路_45

 

 

 

  D、添加逻辑绑定口的成员(物理网卡 ens161 和 ens256)

  

modemmanager管理网卡 管理网卡的服务_DNS_46

 

 

 

  E、修改逻辑绑定口配置文件(team0)

  编辑链路聚合 team0 的配置文件

  /etc/sysconfig/network-scripts/ifcfg-team0

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_47

Tips:注意,物理接口 ens161 和 ens256 都不需要添加 IP 地址!

 

 

  G、保存并退出,重新加载 team0 后,查看设备的连接状态。

  

modemmanager管理网卡 管理网卡的服务_链路_48

 

 

  H、测试连通性

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_49

 

 

  I、teambridge 测试(以 active-backup 为例)

  使用命令 teamdctl team0 state 查看链路聚合口状态(当前 active port 为 ens161)

  

modemmanager管理网卡 管理网卡的服务_modemmanager管理网卡_50

 

 

  此时断掉活跃端口(active port)ens161 后,team0 active port自动切换到 ens256。

  

modemmanager管理网卡 管理网卡的服务_DNS_51

 

 

  重新开启 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