DHCP Failover con ISC DHCP Server



Hoy vamos a instalar un servidor secundario/failover del servicio DHCP de nuestra red Linux. Como todos sabemos, una simple caida del servidor DHCP puede dejar a toda la red sin funcionar ya que nuestros clientes (si usan el servicio de DHCP), no podran obtener una dirección IP válida y seria imposible que les funcionase algo. Para evitar posibles caidas de este servicio, vamos a instalar un segundo servidor failover.

Suponemos que ya tenemos el servidor principal funcionando en la subred 192.168.200.0/24 como se puede ver en el ejemplo. Tan solo tenemos poner las primeras lineas que estan entre los corchetes de failover, poniendo en address la IP del servidor principal, y en peer adress la IP del servidor failover. Aqui lo vemos:

#
# /etc/dhcpd.conf for primary DHCP server
#
 
authoritative;
ddns-update-style none;
 
failover peer "dhcp-failover" {
   primary; # declare this to be the primary server
   address 192.168.200.2;
   port 647;
   peer address 192.168.200.3;
   peer port 647;
   max-response-delay 30;
   max-unacked-updates 10;
   load balance max seconds 3;
   mclt 1800;
   split 128;
   }
 
subnet 192.168.200.0 netmask 255.255.255.0 {
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.200.255;
   option routers 192.168.200.1;
   option domain-name-servers 192.168.200.1;
   pool {
      failover peer "dhcp-failover";
      max-lease-time 1800; # 30 minutes
      range 192.168.200.100 192.168.200.254;
      }
   }

En el servidor secundario quedaria algo asi como lo siguiente. Fijaros que en address pone la IP del servidor secundario, y en peer address la IP del servidor principal:

#
# /etc/dhcpd.conf for secondary DHCP server
#
 
authoritative;
ddns-update-style none;
 
failover peer "dhcp-failover" {
   secondary; # declare this to be the secondary server
   address 192.168.200.3;
   port 647;
   peer address 192.168.200.2;
   peer port 647;
   max-response-delay 30;
   max-unacked-updates 10;
   load balance max seconds 3;
   }
 
subnet 192.168.200.0 netmask 255.255.255.0 {
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.200.255;
   option routers 192.168.200.1;
   option domain-name-servers 192.168.200.1;
   pool {
      failover peer "dhcp-failover";
      max-lease-time 1800; # 30 minutes
      range 192.168.200.100 192.168.200.254;
      }
   }

Lo respecto a la declaracion de las subredes, es exactamente igual en un servidor que en otro, por lo que tenemos que tener cuidado al hacer un cambio en un servidor, sea exactamente igual que en otro. Para solucionar esto podemos sacar todo el bloque subnet a un archivo y hacer un include de ese archivo, asi sincronizando el archivo de la subred entre los servidores no hay posible error.

Share
Javier Rodriguez Escrito por:

Sé el primero en comentar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *