Linux DHCP租约时间设置方法详解
一 概念与生效规则
二 在ISC DHCP服务器上设置(dhcpd)
option domain-name "example.com";
option domain-name-servers 8.8.8.8, 1.1.1.1;
default-lease-time 600; # 默认10分钟
max-lease-time 7200; # 最大2小时
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
# 可在子网内覆盖全局租约
default-lease-time 1200;
max-lease-time 3600;
}
修改后先执行语法检查(如:service dhcpd configtest 或 dhcpd -t),再重启服务(如:systemctl restart isc-dhcp-server)。服务器侧租约分配记录可在**/var/lib/dhcpd/dhcpd.leases**查看。三 在Linux客户端设置(请求更短或更长租约)
# 建议租约(单位:秒)
option lease-time 3600;
# 可选:最大可接受的租约
option max-lease-time 7200;
# 可选:自定义续租时点(单位:秒),默认约为租约的50%与87.5%
renew-timer 1800;
rebind-timer 3150;
使配置生效(视系统而定):systemctl restart networking 或重启对应网络服务/接口;必要时先释放再获取:dhclient -r <iface> 与 dhclient <iface>。nmcli con mod "Your-Connection" ipv4.dhcp-lease-time 3600
nmcli con up "Your-Connection"
不同版本/插件对“请求特定租约时间”的支持程度不一,若未生效,请改用dhclient方式或调整服务器端策略。dhcp-lease-time 3600,然后重启网络:systemctl restart networking。dhclient -r <iface> && dhclient -t 3600 <iface>(部分实现支持以秒指定建议租约;若不支持,请采用配置文件方式)。四 验证与排错
cat /var/lib/dhcp/dhcpd.leases(服务器)或客户端对应租约文件(如/var/lib/dhcp/dhclient.leases或/var/lib/NetworkManager/dhclient-*.lease)。tcpdump -i eth0 -nn udp port 67 or port 68
journalctl -u isc-dhcp-server 或 tail /var/log/syslog。