DHCP – Tolerancia a fallas

Una de las consultas frecuentes en los foros de Technet está relacionada con cómo proveer tolerancia a fallas para el servicio DHCP. Teniendo en cuenta esto veremos en esta nota una de las opciones que nos da Windows Server 2008-R2

La forma en que se podía hacer hasta ahora eran básicamente dos: instalar el servicio sobre un “Failover Cluster”, opción que no está disponible para todos y es de alto costo; o configurar manualmente dos servidores dividiendo el rango de direcciones disponibles, y configurando en cada servidor los parámetros de configuración.

Con Windows Server 2008-R2 podemos implementar esta segunda solución en forma mucho más sencilla, ya que el sistema se encargará de gran parte del trabajo.

Para ejecutar esta nota usaré una infraestructura sencilla de cuatro máquinas de acuerdo a la configuración de la tabla. Se pueden modificar los valores que quieran, las condiciones necesarias es que pertenezcan al mismo dominio, y estén en la misma red IP.

Nombre Sist. Operat. Rol Dirección  IP
DC1 W2008-R2 Controlador de Dominio 192.168.1.200
DHCP1 W2008-R2 Servidor DHCP 192.168.1.101
DHCP2 W2008-R2 Servidor DHCP 192.168.1.102
CL1 Windows 7 Cliente DHCP Obtener automáticamente

Asumo que ninguno de los lectores tendrá dificultades en crear una estructura como la anterior, así que no describiré los pasos para configurarla.
Como aclaración, a CL1 le asigné provisoriamente una dirección IP manualmente a los fines de unirla al dominio.

Lo primero que haremos es instalar la funcionalidad Servidor DHCP en la máquina DHCP1. Esto lo haremos de la forma habitual, ingresando por Server Manager y agregando el rol. En las capturas que siguen podemos ver la configuración hecha.

Creamos un ámbito (“Scope”) apropiado para la red

En la máquina DHCP2 hacemos el mismo procedimiento, con la única diferencia que no creamos el ámbito (“Scope”)

Luego, nuevamente en DHCP1, abrimos la consola de administración de DHCP, observamos que está creado y activa el ámbito hecho durante la instalación, y con botón derecho sobre el mismo elegimos las opciones: Advanced / Split-scope

Seguimos el asistente

Podemos aceptar la sugerencia de repartir las direcciones disponibles en 80-20 como es habitual, o podríamos modificar la proporción

Podemos cambiar las demoras de respuesta para asegurarnos cuál otorgará preferentemente las direcciones IP

Y confirmamos

A partir de lo anterior podemos observar en la consola de DHCP en la máquina DHCP1 que se mantiene el rango total de direcciones IP, pero que se ha excluido el rango desde 192.168.1.81 a 192.168.1.100 que debería haber sido asignado a DHCP2

Así que observemos la consola en DHCP2 ahora, y lo primero que podemos observar es que el ámbito (“Scope”) fue creado pero esa pequeña flecha roja hacia abajo nos indica que no está activo.
Así que con botón derecho sobre el mismo procedemos a activarlo

Y observando el mismo vemos que aunque tiene asignado el mismo rango de direcciones IP, en este caso están excluidas las direcciones entre 192.168.1.1 y 192.168.1.80

Para probar que la configuración es correcta y que todo funciona como debería, configuramos a CL1 para que obtenga una dirección IP en forma automática. Debería tomarla desde DHCP1, ya que a DHCP2 le hemos asignado un retardo de 1000 ms

Esto lo podemos confirmar en CL1

Ahora para probar que en caso de ausencia de DHCP1, lo suplirá DHCP2, simplemente detenemos el servico DHCP en la máquina DHCP1, y en CL1 ejecutamos:
– IPCONFIG /RELEASE
– IPCONFIG /RENEW

Y observamos la configuración suministrada por DHCP2 🙂

Me adelanto antes que surjan las preguntas. Como el cliente trata de conservar su dirección IP cada vez que renueva, en el futuro seguirá renovando su uso con DHCP2, aún haciendo IPCONFIG /RELEASE e IPCONFIG /RENEW o reiniciando el equipo.
La única forma que creo posible sería deteniendo el servicio en DHCP2 para forzarlo a que vuelva con DHCP1.
O por supuesto, si en DHCP2 se agotaran las direcciones disponibles

Post a comment or leave a trackback: Trackback URL.

Comments


  • Fatal error: Uncaught Error: Call to undefined function ereg() in F:\blogs.itpro.es\wp-content\themes\notesil\functions.php:333 Stack trace: #0 F:\blogs.itpro.es\wp-content\themes\notesil\functions.php(35): notesil_commenter_link() #1 F:\blogs.itpro.es\wp-includes\class-walker-comment.php(179): notes_comments(Object(WP_Comment), Array, 1) #2 F:\blogs.itpro.es\wp-includes\class-wp-walker.php(145): Walker_Comment->start_el('', Object(WP_Comment), 1, Array) #3 F:\blogs.itpro.es\wp-includes\class-walker-comment.php(139): Walker->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #4 F:\blogs.itpro.es\wp-includes\class-wp-walker.php(387): Walker_Comment->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #5 F:\blogs.itpro.es\wp-includes\comment-template.php(2174): Walker->paged_walk(Array, '5', 0, 0, Array) #6 F:\blogs.itpro.es\wp-content\themes\notesil\comments.php(25): wp_list_comments('type=comment&ca...') #7 F:\blogs.itpro.es\wp-includes\comment-template.php(1512): require('F:\\blogs.itpro....') #8 F:\ in F:\blogs.itpro.es\wp-content\themes\notesil\functions.php on line 333