![focal - 防止 networkd 执行 dhcprelease](https://linux22.com/image/945885/focal%20-%20%E9%98%B2%E6%AD%A2%20networkd%20%E6%89%A7%E8%A1%8C%20dhcprelease.png)
我们在使用 focal/networkd 和我们的 dhcp-server 时遇到了问题,当某些(不是所有)主机重新启动时,它们会为它们提供新的 ipaddress。网络人员说这是由于 dhclient 发送了 DHCPRELEASE,所以我想强制 networkd 停止发送 DHCPRELEASE 数据包。
我尝试使用以下命令创建 /etc/systemd/network/default.network 文件:
[Network]
DHCP=ipv4
KeepConfiguration=dhcp
[DHCPv4]
SendRelease=false
根据http://manpages.ubuntu.com/manpages/focal/man5/systemd.network.5.html看起来正确,但是它不起作用,主机仍然获取新的 ip 地址,并且当主机重新启动时,我仍然在日志中收到“DHCP 租约丢失”:
-- Reboot --
apr 05 10:47:47 lab01-wrk4 systemd[1]: Stopped Network Service.
apr 05 10:47:47 lab01-wrk4 systemd[1]: systemd-networkd.service: Succeeded.
apr 05 10:47:47 lab01-wrk4 systemd-networkd[744]: ens192: DHCP lease lost
apr 05 10:47:47 lab01-wrk4 systemd[1]: Stopping Network Service...
最后说明:主机是从同一模板创建的虚拟机,但我尝试了常用的方法,例如确保 /etc/machine-id 是唯一的,并且还在 networkd 中尝试使用 ClientIdentifier=mac ...
有什么建议么?
谢谢 ...
答案1
DHCP 租约时间通常在路由器上设置。即使 sendRelease 为 false,路由器通常也会在 DHCP 租约到期后撤销租约。如果您尝试在私有网络上执行此操作,请确保登录路由器并使用地址保留来为设备的 MAC 地址保留相同的 IP。