运行 isc-dhcp 时,租约文件似乎无限增长(几百 MB)。如果我重新启动 isc-dhcp 服务,文件会缩小到 1.5MB。
如何让 isc-dhcp 定期刷新过期记录而无需重新启动整个服务?
答案1
正如 MadHatter 在评论中提到的那样,租约文件会定期重新创建以避免出现此问题。虽然文档中没有提到期限,但讨论在 dhcp-users 邮件列表上表示每小时执行一次,我检查了源代码发现这是正确的。
不幸的是,这不是一个可配置的选项。为了更改它,您需要从源代码编译 dhcp 服务器。在文件中,server/db.c
您需要更改行
#define LEASE_REWRITE_PERIOD 3600
设置为您希望的秒数。
答案2
查看我的问题的答案如何清除 dhcpd.leases。在我的情况下,由于 isc-dhcp-server 中的一个错误,/var/lib/dhcp 的所有权是 root:root。将其更改为 dhcpd:dhcpd 可以暂时解决问题,但当 dhcpd 重新启动时,问题又会再次出现。