如果不存在 DHCP 服务器,是否可以配置 systemd-networkd.service 自动切换到静态 IP 配置?
或者,如果 systemd-networkd 不直接支持此功能,我可以创建一些其他服务单元,在超时后检查 DHCP 是否成功,如果没有配置静态配置?
这似乎是一件很常见的事情,但我没有在任何地方看到它的记录,它一定太简单了,以至于我错过了它。
答案1
我认为目前不能用systemd-networkd
这种方式替换 NetworkManager。它主要是在配置不需要动态设置的虚拟机时提出的。
如果你想让它工作,你必须在启动后几秒钟编写一个systemd.timer
启动OnBootSec=
服务来检查 dhcp 是否工作,如果不工作则编辑网络配置。
例如,如果您有 a/etc/systemd/network/20-dhcp.network
和 a /etc/systemd/network/30-static.network
,则 dhcp 应优先。当您想要覆盖此设置时,请添加指向/run/systemd/network/09-override.network
静态文件的链接,然后daemon-reload
重新启动systemd-networkd
以使其优先。
通过将覆盖文件放入/run
,它将在重新启动时丢失。