温馨提示×

centos dhclient更新策略是什么

小樊
73
2025-12-27 05:46:16
栏目: 智能运维

CentOS 中 dhclient 的租约更新策略

在 CentOS 上,dhclient 遵循标准的 DHCP 租约续约机制:客户端在获得地址后,会在租期的 T1=50% 时尝试单播续租;若失败,在 T2=87.5% 时改为广播续租;若仍失败,租约到期后释放地址并重新发起 Discover 获取新地址。该行为由 DHCP 协议定义,dhclient 默认实现为标准策略,无需额外配置即可生效。

租约时间与控制参数

  • 租约时间由服务器在 ACK 报文中通过 lease-time 选项下发,客户端据此计算 T1/T2 并按时续约。
  • 可在 /etc/dhcp/dhclient.conf 中通过 send { dhcp-lease-time <秒> } 请求特定租期;若未请求,客户端通常使用默认请求值(常见为约2小时)。
  • 可用 default/require/supersede/append/prepend 等语句对选项进行默认、强制、覆盖、追加等控制,从而影响续约时携带或接受的参数。
  • 示例(请求更长租期并强制某些选项):
    send { dhcp-lease-time 86400; }
    require domain-name-servers;
    supersede domain-name “example.com”;
    上述配置会影响续约阶段向服务器请求与接受的内容,但 T1/T2 的 50%/87.5% 计算规则不变。

重启与续租行为

  • 客户端重启(同一网络)会进入 INIT-REBOOT 状态,优先以 DHCP Request 请求继续使用上次分配的 IP;若服务器确认(ACK)则直接延长租约,若拒绝(NAK)或超时则转入 Discover 重新获取。
  • 该“重启后优先复用旧地址”的行为由 reboot 计时控制,默认值为 10 秒;也可在 dhclient.conf 中调整。
  • 示例:
    reboot 15; # 将重启后复用旧地址的等待超时设为15秒
    此策略减少了网络震荡与重复分配,有助于地址稳定。

相关命令与排查要点

  • 手动触发续约或重新获取:
    • 释放并重新获取:sudo dhclient -r && sudo dhclient
    • 前台查看详细过程:sudo dhclient -v
  • 查看本地租约记录:cat /var/lib/dhcp/dhclient.leases(确认服务器下发的 lease-time、renewal-time、rebind-time 等)。
  • 使用 NetworkManager 时,可用 nmcli 控制连接上下线以触发 DHCP 流程:
    nmcli con down && nmcli con up
    以上操作常用于验证续约是否按预期进行以及定位异常。

0 踩