目录
网络接口名称
旧版的红帽系统将 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 命令显示或临时修改系统的主机名。
「RHCSA 红帽系统管理」7、管理网络
https://blog.kobin.cn/notes/2855.html