我注意到我的 DHCP 租用文件 ( /var/lib/dhcp/dhclient.eth1.leases
) 对于我的外部面向互联网的 IP 接口有多个条目。
一些租赁条目的时间范围重叠。
dhclient
我在 Debian 9 上运行 ISC DHCP 客户端 ( )。
可能是什么原因?
答案1
事实证明,两者systemd-networkd
同时dhclient
运行,并且两个守护进程都在同一个文件上运行。
- dhclient 已更新
/var/lib/dhcp/dhclient.eth1.leases
- systemd-networkd 也处理相同的 DHCP RESPONSE 数据包并发送
dhclient
收到的数据包。
systemd-networkd 更早地设置了它的 T1 计时器,因此它向 报告“DHCP 租约丢失” syslog()
,并用另一个 IP 地址替换了 IP 地址,这让 dhclientd 感到困惑。
如果您需要 ISC DHCP 客户端(而不是 systemd),请通过编辑以下命令关闭 systemd 中的 DHCP /etc/systemd/network
:
[Network]
DHCP=no
如果您需要 systemd(通过 ISC DHCP 客户端),请卸载 dhclient 软件包:
apt-get remove isc-dhcp-client
== 解决方案==
就我而言,Verizon FiOS 运行瞻博网络 DHCP 服务器,并且喜欢将 dhclient 报告Wireless_Broadband_Router
为主机名和域名,home
这正是 Actiontec Cablemodem 路由器所做的。他们还更喜欢处理广播 DHCP REBIND 消息,而不是单播 DHCP REBIND 消息。
此外,不支持 DHCP 选项systemd-networkd
,因此 ISC DHCP 仍然是王者。
systemd
另外,我还发布了与 ISC DHCP 客户端相关的整个代码库:GitHub。