背景:公司DHCP服务器为了安全性,一般最少要2台dhcp server ,1台故障另外一台可以正常工作。不过2台dhcp server 怎么分配地址是个问题,正常情况下dhcp server 收到dhcp 请求,都会发送offer报文。client 接受最先收到的offer报文,这样可能导致内网ip地址冲突等情况

解决方法:
dhcp failover RFC2131 标准(终于还是用上RFC了 ~……~)
主要原理:
1、master slave 同步租约等信息,避免master故障后,dhcp地址分配出现混乱
2、split 128 通过此参数调整,哪些dhcp 请求由master处理,哪些请求由slave处理,避免2台dhcp server 同时分配地址
3、更多的原理以后研究,下班了 ~~~

参考部分配置
failover peer "dhcp-failover" {
primary; # declare this to be the primary server
address 10.x.x.1;
port 647;
peer address 10.x.x.2;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 5;
mclt 1800;
split 128;
}
subnet 10.100.200.0 netmask 255.255.255.0 {
option domain-name-servers 10.8.128.58,10.8.2.8,10.8.6.8;
option subnet-mask 255.255.255.0;
option routers 10.100.200.254;
pool {
failover peer "dhcp-failover";
range 10.100.200.10 10.100.200.250;
}
}

----补充-------------------------------------
dhcp 地址租约信息 主备 两台设备间正常情况下信息会同步
/var/lib/dhcpd/dhcpd.leases