目前我面临的问题是更改服务器中的 DHCP 租约时间选项的值,并使用相同的值配置客户端。我使用了 dhcp-server 包,并在服务器的 /etc/dhcp/dhcpd.conf 文件中放入了以下条目作为默认租约时间。
默认租用时间 60;
但是当我在客户端启动 dhcp 服务时,客户端仍然将 300 秒作为其 dhcp 租约时间值。我尝试通过删除客户端的 /var/lib/dhcp/dhclient.leases 文件并重新启动 DHCP 服务器来使其正常工作,但这没有帮助。它始终将 300 秒作为其 dhcp 租约时间值。
您认为这背后的可能原因是什么?您认为 dhcp 租约时间选项值有下限吗?NB:我知道将 DHCP 租约设置为 60 秒没有多大意义,因为客户端必须在最多 60 秒内刷新其租约信息,这会增加网络流量。但我正在尝试不同的配置参数,如果有人能告诉我是否可以将 DHCP 租约时间设置为 60 秒,我将不胜感激。如果不能,那为什么?
答案1
最短租约时间曾经是 1 小时(参见 RFC1541)。在较新版本的规范中,没有官方的最短租约时间,如果客户端不喜欢租约时间,则应该拒绝租约。因此可以说这个客户端有问题。
答案2
您必须设置租赁时间/etc/dhcp/dhcpd.conf像这样
default-lease-time 60;
max-lease-time 60;
min-lease-time 60;
默认最短租约时间是300秒。你在 wireshark 中看到 300s 的原因。
答案3
这DHCP 规范 RFC 2131 - 取代 RFC 1541使用 4 个八位字节/32 位值来表示租用时间,以秒为单位 - 因此 0 表示零秒(我建议不要使用它),1 表示一秒,0xffffffff 表示无穷大 - 虽然 0xfffffffe 不是无穷大,实际上计算结果略低于 136.2 年。