ISC DHCP HA
With the ISC DHCP it is possible to setup two server to get a high available DHCP system. On Debian GNU/Linux (here wheezy 7.0) you need to install isc-dhcp-server.
/etc/dhcp/dhcpd.conf on server1
server-identifier server1.example.com;
failover peer "DHCP-HA" {
primary;
split 128; # load balancing threshold (should be 128)
mclt 3600; # Maximum Client Lead Time
address 10.0.0.1;
port 519;
peer address 10.0.0.2;
peer port 519; # connect to peer on this port
max-response-delay 60; # how many seconds to wait for answer from peer
max-unacked-updates 10; # how often to try to contact the failover peer
load balance max seconds 3; # a cutoff after which load balancing is disabled
}
include "/etc/dhcp/dhcpd.conf.shared";
/etc/dhcp/dhcpd.conf on server 2
server-identifier server2.example.com;
failover peer "DHCP-HA" {
secondary;
address 10.0.0.2;
port 519;
peer address 10.0.0.1;
peer port 519; # connect to peer on this port
max-response-delay 60; # how many seconds to wait for answer from peer
max-unacked-updates 10; # how often to try to contact the failover peer
load balance max seconds 3; # a cutoff after which load balancing is disabled
}
include "/etc/dhcp/dhcpd.conf.shared";
/etc/dhcp/dhcpd.conf.shared should be the same on both servers
authoritative;
ddns-update-style none;
ddns-updates off;
allow booting;
allow bootp;
option domain-name "example.com";
option domain-name-servers 10.0.0.1, 10.0.0.2;
option netbios-name-servers 10.0.0.1;
option netbios-node-type 2;
option netbios-scope "";
option routers 10.0.0.254;
# default 7 days
default-lease-time 604800;
# max 14 days
max-lease-time 1209600;
# TFTP server is OPSI to get machines installed by OPSI
next-server tftp.example.com;
filename "linux/pxelinux.0";
log-facility local7;
use-host-decl-names on;
#deny unknown-clients;
subnet 10.0.0.0 netmask 255.255.255.0 {
pool {
failover peer "DHCP-HA";
deny dynamic bootp clients;
# kein Range, nur registrierte Clients bekommen eine IP
range 10.0.0.101 10.0.0.199;
next-server tftp.example.com;
filename "linux/pxelinux.0";
host fixedhost { hardware ethernet f0:f1:f0:f2:f4:f2; fixed-address 10.0.0.100; }
}
}