1.7. 使用 udev 规则配置用户定义的网络接口名称
您可以使用 udev 规则来实现反映您机构要求的自定义网络接口名称。
流程
识别您要重命名的网络接口:
# ip link show ... enp1s0: <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 ...记录接口的 MAC 地址。
显示接口的设备类型 ID:
# cat /sys/class/net/enp1s0/type 1创建
/etc/udev/rules.d/70-persistent-net.rules文件,并为您要重命名的每个接口添加一个规则:SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="<MAC_address>",ATTR{type}=="<device_type_id>",NAME="<new_interface_name>"重要如果您在引导过程中需要一致的设备名称,则只使用
70-persistent-net.rules作为文件名。如果您重新生成 RAM 磁盘镜像,则dracut工具会在initrd镜像中添加具有此名称的文件。例如,使用以下规则将 MAC 地址为
00:00:5e:00:53:1a的接口重命名为provider0:SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="00:00:5e:00:53:1a",ATTR{type}=="1",NAME="provider0"可选:重新生成
initrdRAM 磁盘镜像:# dracut -f只有在 RAM 磁盘中需要网络功能时才需要这一步。例如,如果 root 文件系统存储在网络设备上,如 iSCSI,则是这种情况。
确定哪个 NetworkManager 连接配置文件使用您要重命名的接口:
# nmcli -f device,name connection show DEVICE NAME enp1s0 example_profile ...在连接配置文件中取消
connection.interface-name属性的设置:# nmcli connection modify example_profile connection.interface-name ""临时配置连接配置文件,以匹配新的和以前的接口名称:
# nmcli connection modify example_profile match.interface-name "provider0 enp1s0"重启系统:
# reboot验证具有您在链接文件中指定的 MAC 地址的设备已重命名为
provider0:# ip link show provider0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:00:5e:00:53:1a brd ff:ff:ff:ff:ff:ff ...将连接配置文件配置为仅匹配新接口名称:
# nmcli connection modify example_profile match.interface-name "provider0"现在,您已从连接配置文件中删除了旧接口名称。
重新激活连接配置文件:
# nmcli connection up example_profile