使用udev规则配置用户自定义网络接口名称
1、识别您要重命名的网络接口:
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:53:3a:8e brd ff:ff:ff:ff:ff:ff
altname enp3s0
记录接口的 MAC 地址。
2、显示接口的设备类型 ID:
#cat /sys/class/net/ens160/type
1
3、创建 /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:0c:29:53:3a:8e 的接口重命名为eth0 :
SUBSYSTEM"net",ACTION"add",ATTR{address}"00:0c:29:53:3a:8e",ATTR{type}"1",NAME="eth0"
4、可选:重新生成 initrd RAM 磁盘镜像:
dracut -f
只有在 RAM 磁盘中需要网络功能时才需要这一步。例如,如果根文件系统存储在网络设备上,如 iSCSI,则会出现这种情况。
5、确定哪个 NetworkManager 连接配置文件使用您要重命名的接口:
nmcli -f device,name connection show
6、在连接配置文件中取消 connection.interface-name 属性的设置:
nmcli connection modify example_profile connection.interface-name ""
7、临时配置连接配置文件,以匹配新的和以前的接口名称:
nmcli connection modify example_profile match.interface-name "eth0 eth0" #注意两个eth0,前面的是nmcli connection con-name,后面的eth0是网卡名称
8、重启系统:
#shutdown -r now
9、验证具有您在链接文件中指定的 MAC 地址的设备是否已被重命名为 eth0 :
#ip link show
10、配置连接配置文件,以仅匹配新接口名称:
#nmcli connection modify example_profile match.interface-name "eth0"
现在,您已经从连接配置文件中删除了旧接口名称。
11、重新激活连接配置文件:
nmcli connection up example_profile