我有一个配置为路由器的虚拟 Debian 11 服务器。在我systemd-networkd
用来配置所有网络接口的路由器上。
当我向路由器添加(虚拟)接口时,该接口将被检测为ens1
带有 mac address 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
当我这样做时,systemctl restart systemd-networkd
它会毫无问题地重新启动,但也不会提及重命名。
networkctl
输出以下内容:
IDX LINK TYPE OPERATIONAL SETUP
49 ens1 ether off unmanaged
当我重新启动机器时,名称将被更改,并且链接将正常运行。但我想将.link
配置应用到接口而无需重新启动。
我现在无法对此进行测试,也没有尝试过这个确切的程序,所以请谨慎对待。
这些
.link
文件不是由 处理的systemd-networkd
,而是由systemd-udevd
(参见man 5 systemd.link
)处理的。所以你可能想尝试:感谢@telcoM 让我找到了正确的答案。
通过重新启动
systemd-udev-trigger
服务,接口将根据.link
文件重命名。完整命令:
systemctl restart systemd-udev-trigger.service