使用 systemd-networkd 重命名以太接口,无需重新启动

使用 systemd-networkd 重命名以太接口,无需重新启动

我有一个配置为路由器的虚拟 Debian 11 服务器。在路由器上,我用来systemd-networkd配置所有网络接口。

当我向路由器添加(虚拟)接口时,该接口将被检测为ens1mac 地址aa:bb:cc:dd:ee:ff。我想将名称更改为更有意义的名称,例如eth0

01-eth0.link我创建了一个包含/etc/systemd/network以下信息的文件:

[Match]
MACAddress=aa:bb:cc:dd:ee:ff

[Link]
Name=eth0

之后,我创建一个02-eth0.network包含以下信息的文件:

[Match]
Name=eth0

[Network]
Address=192.168.1.1

当我执行 a 时,systemctl restart systemd-networkd它会毫无问题地重新启动,但也不会提及重命名。

networkctl输出以下内容:

IDX LINK         TYPE     OPERATIONAL SETUP
 49 ens1         ether    off         unmanaged

当我重新启动机器时,名称将被更改,并且链接将毫无问题地建立。但我想.link在不重新启动的情况下将配置应用到界面。

答案1

我现在无法对此进行测试,之前也没有尝试过这个确切的过程,所以对此持保留态度。

这些.link文件不是由 处理的systemd-networkd,而是由systemd-udevd(参见man 5 systemd.link)处理的。所以你可能想尝试:

udevadm control --reload
udevadm trigger /sys/class/net/ens1

答案2

感谢@telcoM 让我走上了寻找答案的正确道路。

通过重新启动systemd-udev-trigger服务,接口将根据.link文件重命名。

完整命令:systemctl restart systemd-udev-trigger.service

相关内容