DHCP3-Server Failover
August 7th, 2008Este artículo explica como instalar 2 servidores DHCP en una red en modo failover, esta configuración es util para entornos donde el servicio DHCP es vital para el funcionamiento correcto de la red, teniendo así un servidor primario y otro secundario para ofrecer IP sin interrupciones en el caso de que uno de estos 2 este fuera de servicio temporalmente.
Escenario:
Sistema operativo GNU/Linux
Red 192.168.0.0/24
DHCP Primario 192.168.0.4
DHCP Secundario 192.168.0.5
DNS Primario 192.168.0.2
DNS Secundario 192.168.0.3
Router 192.168.0.1
Primero instalaramos el servidor dhcp en el primario y en el secundario:
# Debian/Ubuntu
apt-get install -y dhcp3-server ntp
# Redhat/CentOS
yum install -y dhcp ntp
Editaremos el archivo de configuración del DHCP primario dejandolo así:
# /etc/dhcp3/dhcpd.conf
authoritative;
ddns-update-style none;
allow booting;
allow bootp;
log-facility local7;
failover peer “dhcpdfailover” {
primary; # declare this to be the primary server
address 192.168.0.20;
port 647;
peer address 192.168.0.1;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.4;
pool {
failover peer “dhcpdfailover”;
deny dynamic bootp clients;
max-lease-time 1800; # 30 minutos
range 192.168.0.100 192.168.0.200;
}
allow unknown-clients;
ignore client-updates;
}
Editaremos el archivo de configuración del DHCP secundario dejandolo así:
# /etc/dhcp3/dhcpd.conf
authoritative;
ddns-update-style none;
allow booting;
allow bootp;
log-facility local7;
failover peer “dhcpdfailover” {
secondary; # declare this to be the secondary server
address 192.168.0.1;
port 647;
peer address 192.168.0.20;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.4;
pool {
failover peer “dhcpdfailover”;
deny dynamic bootp clients;
max-lease-time 1800; # 30 minutos
range 192.168.0.100 192.168.0.200;
}
allow unknown-clients;
ignore client-updates;
}
Editaremos el archivo /etc/default/dhcp3-server y añadiremos los adaptadores de red que utilizaran el dhcp para suministrar IP a la red.
Tan solo queda sincronizar los relojes de los 2 servidores con ntp y reiniciar los servicios de DHCP en los 2 servidores.
ntpq -p hora.rediris.es
/etc/init.d/dhcp* restart
Ahora podremos ver los log para verificar que funciona todo correctamente.
DHCP Primario.
rocco:~# tail -f /var/log/syslog
Aug 7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: peer update completed.
Aug 7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: I move from recover to recover-done
Aug 7 10:41:11 rocco dhcpd: Sent update done message to dhcpdfailover
Aug 7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: peer moves from recover to recover-done
Aug 7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: I move from recover-done to normal
Aug 7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: peer moves from recover-done to normal
Aug 7 10:41:11 rocco dhcpd: pool 8129ed0 192.168.0/24 total 101 free 51 backup 50 lts 0
DHCP Secundario
fwap:~# tail -f /var/log/syslog
Aug 7 10:41:09 fwap dhcpd: failover peer dhcpdfailover: I move from startup to recover
Aug 7 10:41:09 fwap dhcpd: Sent update request all message to dhcpdfailover
Aug 7 10:41:09 fwap dhcpd: Update request all from dhcpdfailover: sending update
Aug 7 10:41:10 fwap dhcpd: Sent update done message to dhcpdfailover
Aug 7 10:41:10 fwap dhcpd: failover peer dhcpdfailover: peer moves from recover to recover-done
Aug 7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: peer update completed.
Aug 7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: I move from recover to recover-done
Aug 7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: peer moves from recover-done to normal
Aug 7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: I move from recover-done to normal
Aug 7 10:41:11 fwap dhcpd: pool 8129de0 192.168.0/24 total 101 free 51 backup 50 lts 0
.


