Linux DHCP租约时间设置方法详解
导读:Linux DHCP租约时间设置方法详解 一 概念与生效规则 租约时间是DHCP为客户端分配的IP使用时长,常见单位为秒。客户端在租约期的T1=50%时尝试单播续租,若失败在T2=87.5%时广播续租;若仍失败则释放IP并重新发现。实际生...
Linux DHCP租约时间设置方法详解
一 概念与生效规则
- 租约时间是DHCP为客户端分配的IP使用时长,常见单位为秒。客户端在租约期的T1=50%时尝试单播续租,若失败在T2=87.5%时广播续租;若仍失败则释放IP并重新发现。实际生效值通常遵循“服务器优先、客户端请求为辅”的原则:服务器通过default-lease-time与max-lease-time下发,客户端可在请求中建议更短或更长的租约,但不得超出服务器允许的最大值。高流动性场景(如公共Wi‑Fi)建议缩短租约(如300秒),稳定内网可适当延长(如7200秒)以减少续租与服务器负载。
二 在ISC DHCP服务器上设置(dhcpd)
- 配置文件路径通常为**/etc/dhcp/dhcpd.conf**。在全局或子网作用域中设置default-lease-time与max-lease-time(单位:秒),子网内定义优先于全局定义。示例:
修改后先执行语法检查(如: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客户端设置(请求更短或更长租约)
- 使用ISC dhclient的常见做法(通用):
- 编辑**/etc/dhcp/dhclient.conf**,在需要的接口作用域或全局添加/调整:
使配置生效(视系统而定):# 建议租约(单位:秒) 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>。
- 编辑**/etc/dhcp/dhclient.conf**,在需要的接口作用域或全局添加/调整:
- 使用NetworkManager管理的系统:
- 可在连接配置中设置ipv4.dhcp-lease-time(单位:秒),例如:
不同版本/插件对“请求特定租约时间”的支持程度不一,若未生效,请改用dhclient方式或调整服务器端策略。nmcli con mod "Your-Connection" ipv4.dhcp-lease-time 3600 nmcli con up "Your-Connection"
- 可在连接配置中设置ipv4.dhcp-lease-time(单位:秒),例如:
- 使用传统ifupdown的Debian/Ubuntu:
- 在**/etc/network/interfaces**接口块中加入:
dhcp-lease-time 3600,然后重启网络:systemctl restart networking。
- 在**/etc/network/interfaces**接口块中加入:
- 临时测试(不持久):
- 释放并带建议租约重新获取:
dhclient -r < iface> & & dhclient -t 3600 < iface>(部分实现支持以秒指定建议租约;若不支持,请采用配置文件方式)。
- 释放并带建议租约重新获取:
四 验证与排错
- 客户端查看当前租约与续租时间点:
- 查看租约文件:
cat /var/lib/dhcp/dhcpd.leases(服务器)或客户端对应租约文件(如/var/lib/dhcp/dhclient.leases或/var/lib/NetworkManager/dhclient-*.lease)。 - 观察续租行为:抓包确认T1/T2续租报文
tcpdump -i eth0 -nn udp port 67 or port 68 - 查看系统日志:
journalctl -u isc-dhcp-server或tail /var/log/syslog。
- 查看租约文件:
- 服务器侧核对:确认配置语法与生效作用域,必要时调整default-lease-time/max-lease-time并重启服务;检查地址池是否紧张与租约分配记录。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux DHCP租约时间设置方法详解
本文地址: https://pptw.com/jishu/774986.html
