1.7. 使用 systemd 链接文件配置用户定义的网络接口名称
您可以使用 systemd
链接文件来实现反映您机构要求的自定义网络接口名称。
先决条件
- 您必须满足这些条件之一:NetworkManager 不管理这个接口,或者对应的连接配置文件使用 keyfile 格式。
流程
识别您要重命名的网络接口:
# 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 地址。
如果其不存在,请创建
/etc/systemd/network/
目录:# mkdir -p /etc/systemd/network/
对于您要重命名的每个接口,请在
/etc/systemd/network/
目录中创建一个具有以下内容的70-*.link
文件:[Match] MACAddress=<MAC_address> [Link] Name=<new_interface_name>
重要使用一个具有
70
前缀的文件名,使文件名与udev
规则的解决方案一致。例如,使用以下内容创建
/etc/systemd/network/70-provider0.link
文件,将 MAC 地址为00:00:5e:00:53:1a
的接口重命名为provider0
:[Match] MACAddress=00:00:5e:00:53:1a [Link] Name=provider0
可选:重新生成
initrd
RAM 磁盘镜像:# dracut -f
只有在 RAM 磁盘中需要网络功能时才需要这一步。例如,如果根文件系统存储在网络设备上,如 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
其他资源
-
您系统上的
systemd.link (5)
手册页