「RHCSA 红帽系统管理」7、管理网络

网络接口名称

旧版的红帽系统将 eth0、eth1 和 eth2 等用于各个网络接口名称,新版的红帽系统采用了另一种命名体系。

系统将基于固件信息、PCI 总线拓扑及网络设备的类型来分配网络接口名称。例如:以太网接口以 en 开头、WLAN 接口以 wl 开头、WWAN 接口以 ww 开头。

在类型之后,接口名称的其余部分将基于服务器固件所提供的信息,或由 PCI 拓扑中设备的位置确定。o 表示板载设备,s 表示 PCI 热插拔插槽。因此 ens3 代表PCI 热插拔插槽 3 中的以太网卡。

验证网络配置

使用 ip link 可以列出系统上所有的可用网络接口。

[root@redhat ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:35:aa:a0 brd ff:ff:ff:ff:ff:ff

使用 ip 命令可以查看设备和地址信息,显示硬件 MAC 地址、ipv4 地址、网络号和作用域。

[root@redhat ~]# ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:35:aa:a0 brd ff:ff:ff:ff:ff:ff
    inet 10.0.101.201/24 brd 10.0.101.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever

ip 命令也可以查看网络性能的统计信息,显示收到(RX)和传出(TX)对数据包数量、错误数量和丢弃的数量。

[root@redhat ~]# ip -s link show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:35:aa:a0 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped missed  mcast   
    240540646  1106911  0       0       0       6647    
    TX: bytes  packets  errors  dropped carrier collsns 
    26314483   93542    0       0       0       0      

ping 命令可用于持续的测试连接,使用组合键 Ctrl + C 可停止测试。

[root@redhat ~]# ping -c3 10.0.100.1
PING 10.0.100.1 (10.0.100.1) 56(84) bytes of data.
64 bytes from 10.0.100.1: icmp_seq=1 ttl=63 time=2.86 ms
64 bytes from 10.0.100.1: icmp_seq=2 ttl=63 time=4.45 ms
64 bytes from 10.0.100.1: icmp_seq=3 ttl=63 time=4.30 ms
--- 10.0.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2009ms
rtt min/avg/max/mdev = 2.864/3.870/4.446/0.713 ms

使用 ip 命令的 route 选项可以显示路由信息。

[root@redhat ~]# ip route
default via 10.0.101.1 dev ens160 proto static metric 100 
10.0.101.0/24 dev ens160 proto kernel scope link src 10.0.101.201 metric 100 

使用 tracepath 命令可以追踪网络流量到达远程主机所采用的路由路径。

[root@redhat ~]# tracepath 10.0.100.1
 1?: [LOCALHOST]                      pmtu 1500
 1:  Linksys-AX4200.lan                                    3.434ms 
 1:  Linksys-AX4200.lan                                    2.913ms 
 2:  10.0.100.1                                            5.662ms reached
     Resume: pmtu 1500 hops 2 back 2

配置网络设置

使用 nmcli dev status 命令可以显示所有网络设备的状态。

[root@redhat ~]# nmcli dev status
DEVICE  TYPE      STATE   CONNECTION
ens160  ethernet  已连接  ens160
ens224  ethernet  已断开  --         
lo      loopback  未托管  --  

使用 nmcli con show 命令可以显示所有连接的列表。

[root@redhat ~]# nmcli con show
NAME    UUID                                  TYPE      DEVICE
ens160  4a41d887-f339-4b58-81e3-cacad1965ddc  ethernet  ens160

使用 nmcli con add 命令可以添加新的网络连接。

[root@redhat ~]# nmcli con add con-name ens224 type ethernet ifname ens224
连接 "ens224" (5997d08c-0beb-4fae-ad8b-6f91b6d783cf) 已成功添加。

# 添加网络连接的同时,还可以设置 IPv4 地址和默认网关
[root@redhat ~]# nmcli con add con-name ens224 type ethernet ifname ens224 ipv4.address 192.168.184.33/24 ipv4.gateway 192.168.184.2
连接 "ens224" (19739cdb-4b5e-44e8-8fc7-2cdba763b2b4) 已成功添加。

使用 nmcli con up 命令可以激活网络接口的连接,使用 nmcli dev dis 命令可以断开网络接口。

# 激活接口
[root@redhat ~]# nmcli con up ens224 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)

# 断开接口
[root@redhat ~]# nmcli dev dis ens224 
成功断开设备 "ens224"。

网络连接有两种类型设置。如果是静态连接属性,配置信息存储在 /etc/sysconfig/network-scripts/ifcfg-* 文件中;如果是活动连接数据,则通过 DHCP 服务器获取信息,不会在系统中持久存储。

使用 nmcli con show 命令可以查看某个连接的当前设置。

[root@redhat ~]# nmcli con show ens224

如果需要更改连接的设置,可以通过 nmcli con mod 命令进行操作。修改完成后需要对接口进行重启后才可以生效。

[root@redhat ~]# nmcli con mod ens224 ipv4.address 192.168.184.44/24 ipv4.gateway 192.168.184.2

# 更新配置信息
[root@redhat ~]# nmcli con reload

# 重新启动接口
[root@redhat ~]# nmcli con down ens224
成功停用连接 "ens224"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@redhat ~]# nmcli con up ens224
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)

使用 nmcli con del 命令可以删除连接,同时断开与设备的连接,并删除配置信息 /etc/sysconfig/network-scripts/ifcfg-* 文件。

[root@redhat ~]# nmcli con del ens224
成功删除连接 "ens224" (19739cdb-4b5e-44e8-8fc7-2cdba763b2b4)。

使用 nmcli 命令可以管理网络设置和设备,常见选项如下:

nmcli dev status显示所有网络接口的 NetworkManager 状态。
nmcli con show列出所有连接。
nmcli con show name列出 name 连接的当前设置。
nmcli con add con-name name添加一个名为 name 的新连接。
nmcli con mod name修改 name 连接。
nmcli con reload重新加载配置文件(在手动编辑配置文件之后使用)。
nmcli con up name激活 name 连接。
nmcli dev dis dev在网络接口 dev 上停用并断开当前连接。
nmcli con del name删除 name 连接及其配置文件。

通过文本编辑器手动编辑配置文件,也可以实现修改网络配置。

[root@redhat ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp                              # none 表示静态方式配置,dhcp 表示 DHCPv4 自动获取
IPADDR=192.168.184.44                       # 设置静态 IPv4 地址
PREFIX=24                                   # 设置网络前缀
GATEWAY=192.168.184.2                       # 设置默认网关
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
DNS=8.8.8.8                                 # 修改 /etc/resolv.conf 以使用此名称服务器。
DOMAIN=example.com                          # 修改 /etc/resolv.conf,以在 search 指令中使用这个域
PEERDNS=no                                  # 忽略来自 DHCP 服务器的 DNS 服务器信息
IPV6INIT=yes
IPV6_AUTOCONF=yes                           # no 表示静态方式配置,yes 表示使用路由器播发中的 SLAAC 配置
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens224                                 # 此连接的名称
UUID=b18f5973-494c-4ba1-845d-6c7f5586d537
HWADDR=00:0c:29:35:aa:aa                    # 连接与具有此 MAC 地址的网络接口绑定
DEVICE=ens224                               # 连接与具有此名称的网络接口绑定
ONBOOT=yes                                  # 在系统引导时自动激活此连接

配置主机名

使用 hostname 命令可以显示系统主机名。

[root@redhat ~]# hostname
redhat

使用 hostnamectl 命令可以修改主机名,静态主机名存储在 /etc/hostname 文件中。

[root@redhat ~]# hostnamectl set-hostname redhat

# 查看系统的主机名状态
[root@redhat ~]# hostnamectl status
   Static hostname: redhat
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 922721525563424481b28e3987312e6e
           Boot ID: ff5afeaaa8194c9b898308ffdea03ee6
    Virtualization: vmware
  Operating System: Rocky Linux 8.5 (Green Obsidian)
       CPE OS Name: cpe:/o:rocky:rocky:8.5:GA
            Kernel: Linux 4.18.0-348.el8.0.2.x86_64
      Architecture: x86-64

使用 host 命令可以测试 DNS 服务器连接。

[root@redhat ~]# host www.qq.com
www.qq.com is an alias for ins-r23tsuuf.ias.tencent-cloud.net.
ins-r23tsuuf.ias.tencent-cloud.net has address 121.14.77.221
ins-r23tsuuf.ias.tencent-cloud.net has address 121.14.77.201
ins-r23tsuuf.ias.tencent-cloud.net has IPv6 address 240e:97c:2f:1::5c
ins-r23tsuuf.ias.tencent-cloud.net has IPv6 address 240e:97c:2f:2::4c

# 执行 host 命令需要安装 bind-utils 程序包
[root@redhat ~]# yum -y install bind-utils

总结

  • NetworkManager 是监控和管理网络配置的守护进程。
  • nmcli 命令是一个用于通过 NetworkManager 来配置网络设置的命令行工具。
  • 系统的静态主机名存储在 /etc/hostname 文件中。
  • hostnamectl 命令用于修改或查看系统的主机名和相关设置的状态。
  • hostname 命令显示或临时修改系统的主机名。
本文为原创文章,著作权归作者所有:来自「KOBIN 技术随笔」作者的原创作品,转载请标明出处。
「RHCSA 红帽系统管理」7、管理网络
https://blog.kobin.cn/notes/2855.html
(0)

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHAis initialing...