1.4. 切换到不同的网络接口命名方案
默认情况下,Red Hat Enterprise Linux (RHEL) 8 使用 rhel-8.0
命名方案,即使您安装或升级到了更新的 RHEL 次版本。虽然默认的命名方案适合大多数情况,但可能有切换到不同的方案版本的理由,例如:
- 如果其向接口名称添加了额外的属性(如插槽号),则新方案可以帮助更好地识别设备。
-
新方案可以防止
udev
回退到内核分配的设备名称(eth*
)。如果驱动程序没有为两个或多个接口提供足够的唯一属性,来为它们生成唯一名称,则会发生这种情况。
先决条件
- 您可以访问服务器的控制台。
步骤
列出网络接口:
ip link show
# ip link show 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 00:00:5e:00:53:1a brd ff:ff:ff:ff:ff:ff ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录接口的 MAC 地址。
可选:显示网络接口的
ID_NET_NAMING_SCHEME
属性,来识别 RHEL 当前使用的命名方案:udevadm info --query=property /sys/class/net/eno1 | grep "ID_NET_NAMING_SCHEME"
# udevadm info --query=property /sys/class/net/eno1 | grep "ID_NET_NAMING_SCHEME" ID_NET_NAMING_SCHEME=rhel-8.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,属性在
lo
loopback 设备上不可用。将
net.naming-scheme=<scheme>
选项附加到所有安装的内核的命令行中,例如:grubby --update-kernel=ALL --args=net.naming-scheme=rhel-8.4
# grubby --update-kernel=ALL --args=net.naming-scheme=rhel-8.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启系统。
reboot
# reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您记录的 MAC 地址,识别因不同的命名方案而更改的网络接口的新名称:
ip link show
# ip link show 2: eno1np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 00:00:5e:00:53:1a brd ff:ff:ff:ff:ff:ff ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 切换方案后,
udev
将具有指定 MAC 地址的设备命名为eno1np0
,而之前被命名为eno1
。确定哪个 NetworkManager 连接配置文件使用之前名称的接口:
nmcli -f device,name connection show
# nmcli -f device,name connection show DEVICE NAME eno1 example_profile ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将连接配置文件中的
connection.interface-name
属性设置为新接口名称:nmcli connection modify example_profile connection.interface-name "eno1np0"
# nmcli connection modify example_profile connection.interface-name "eno1np0"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新激活连接配置文件:
nmcli connection up example_profile
# nmcli connection up example_profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
通过显示网络接口的
ID_NET_NAMING_SCHEME
属性来识别 RHEL 现在使用的命名方案:udevadm info --query=property /sys/class/net/eno1np0 | grep "ID_NET_NAMING_SCHEME"
# udevadm info --query=property /sys/class/net/eno1np0 | grep "ID_NET_NAMING_SCHEME" ID_NET_NAMING_SCHEME=_rhel-8.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow