DHCP 故障转移通道
647 是 DHCP 故障转移协议使用的端口(RFC 8156 体系),ISC DHCP 与 Kea 都支持。主备或负载均衡模式下,两台 DHCP 服务器通过这条通道同步租约与状态:一台故障时另一台能接管地址分配,客户端不会因为单台服务器宕机而拿不到地址。
基本信息
| 服务 | dhcp-failover |
|---|---|
| 协议 | TCP/UDP 647 |
| 规范 | RFC 8156(Failover 协议) |
| 实现 | ISC dhcpd、Kea |
| 场景 | 企业内网 DHCP 高可用 |
典型使用场景
- 双机主备部署 DHCP,避免单点故障导致全网拿不到地址
- 负载均衡模式,两台服务器同时分配地址
- 排查地址冲突或重复分配,回看故障转移链路是否中断
- 服务器维护前确认对端可以独立承担分配任务
- 规划网络分区时确认 647 只在两台服务器之间可达
查看状态与连通
查看状态与连通
ss -lntup 'sport = :647'
sudo lsof -i :647
# Kea 部署查看服务与控制通道状态
keactrl status故障转移要点
| 项目 | 说明 | 关注点 |
|---|---|---|
| 647 通道 | 两台服务器之间同步租约与状态 | 需双向放行,单方向会出现异常 |
| 主备模式 | 一台服务、一台热备 | 主故障后备用接管,切换需验证 |
| 负载均衡模式 | 两台同时服务 | 地址池划分必须不重叠 |
| 对账机制 | 定期同步 | 长时间中断后需核对租约差异 |
维护提示:故障转移链路中断期间,两台服务器可能各自分配地址而出现重复。链路恢复后要关注租约对账结果,必要时人工核对冲突地址,不能只看链路恢复就认为问题已经解决。
防火墙需要双向放行两台服务器之间的通信。只放单向会表现为状态不同步,典型现象是一台显示对端正常、另一台显示通信异常,判断故障方向时极易误判。
设计提示:故障转移的目的是让地址分配不中断,而不是提升性能。评估方案时先明确可接受的地址冲突窗口与对账周期,再决定采用主备还是负载均衡模式。