我有一个配置为路由器的虚拟 Debian 11 服务器。在路由器上,我用来systemd-networkd
配置所有网络接口。
当我向路由器添加(虚拟)接口时,该接口将被检测为ens1
mac 地址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