我在 OpenBSD 5.8 上运行 DHCPD,但遇到了一个奇怪的问题。
我在/etc/dhcpd.conf中设置租用时间如下:
max-lease-time 7200;
default-lease-time 7200;
这应该是2个小时。
当我检查 dhcpd.leases 文件时,我看到以下内容:
lease 172.24.186.224 {
starts 5 2018/07/31 07:17:03 UTC;
ends 5 2018/07/31 19:17:03 UTC;
hardware ethernet b4:f6:1c:27:4f:a4;
uid 01:b4:f6:1c:27:4f:a4;
client-hostname "Apple";
}
在执行 tcpdump 并使用 Wireshark 进行分析时,也会检查这 12 小时的租用时间。 (dhcpd.leases 文件中还有一些 24 小时租用时间,我也无法解释。)
我尝试在“顶层”配置中或为特定子网设置最大租用时间和默认租用时间,但没有成功。
这里发生了什么?
答案1
我刚刚找到了解决方案。
这似乎是这个特定 OpenBSD 版本中的一个错误:
答案2
新的租约期限默认值(无论是网络块本地的还是全局的)仅影响配置后(并且服务dhcpd
重新启动)后给出的新发出的租约。
旧的活动租约优先于配置更改(在某些情况下),并且将显示旧的默认值,直到它们过期。
因此,只有在今天 19:07 UTC 之后,您向我们展示的 MAC 的租约才会获得您刚刚配置的较短期限的租约。
如果您希望它在时间到期之前表现不同,则必须删除该租约。
注意:如果是测试系统,您可以将租用文件截断为 0 字节,或者编辑掉“lease {”和“}”之间的行后停止dhcpd
守护进程。