He visto últimamente varias consultas sobre el servicio DHCP, y más específicamente relativas al tema de que un único servicio DHCP pueda suministrar configuración IP a máquinas en diferentes redes. O inclusive dar por sentado que hay que tener un servicio DHCP en cada red, y esto no es así
También dudas sobre si un servicio DHCP tiene varios ámbitos de direcciones cómo sabe de cuál debe seleccionar la configuración a otorgar
Todo esto se soluciona con un componente poco conocido de los “Routers” llamado “DHCP Relay Agent”, que en algunos ambientes también es conocido como “IP Helper”
Inclusive, aunque no entraré en esta nota, el uso de “DHCP Relay Agent” es una de las formas posibles de tener tolerancia a fallas del servicio DHCP en ambiente de más de una red
Todas estas dudas surgen por el hecho que el tráfico de DHCP es en gran parte tráfico de “Broadcast” (Difusión), el cual normalmente los Routers no permiten pasar. Si alguien tiene dudas sobre este tema puede consultar la siguiente nota:
Cómo Funciona el Servicio DHCP (Incluye Capturas de Red) | WindowServer:
https://windowserver.wordpress.com/2013/09/20/cmo-funciona-el-servicio-dhcp-incluye-capturas-de-red/
O si tuvieran dudas sobre la instalación y configuración del servicio DHCP también pueden ver esta otra nota:
Windows Server 2012: Instalando y Configurando DHCP | WindowServer:
https://windowserver.wordpress.com/2012/12/20/windows-server-2012-instalando-y-configurando-dhcp/
La infraestructura que utilizaré aunque se trata de un ambiente de Dominio Active Directory, no es algo necesario, es totalmente válido todo el contenido de esta nota en ambiente de Grupo de Trabajo
Además para facilitar la demostración, usaré como servidor DHCP al Controlador de Dominio, puede ser cualquier servidor que estuviera en la red
También utilizaré como Router (ya configurado) un servidor con Windows Server que es donde se debe configurar el “DHCP Relay Agent”. Cada uno deberá consultar la documentación de su Router si fuera un hardware dedicado
Respecto al tema del Router interno, estoy preparando una serie de notas sobre cómo simular una «Internet virtual propia» que publicaré a continuación de esta
Por supuesto también necesitamos clientes para hacer la demostración. En mi caso utilizaré dos (CL1 y CL2) aunque bien podría ser uno sólo, y moverlo de una red a otra
Un gráfico aclara más que mil palabras :)
Supongo que nadie que lea esto, y luego de la referencia a las notas, tendrá dudas sobre la instalación y configuración del servicio DHCP, así que no mostraré los pasos necesarios
He creado dos ámbitos (“Scopes”), uno para la red local donde se encuentra el servidor DHCP (DC1) y un cliente (CL1), y otro para la red donde se encuentra el cliente remoto CL2
Cada uno de estos ámbitos tiene los parámetros de configuración necesarios, que son además de la dirección IP, servidor DNS, Puerta de Enlace, y sufjio de Dominio
Los muestro en las capturas que siguen a continuación
Como podemos observar en la siguiente pantalla, CL1 que está en la misma red que el servicio DHCP no presenta ningún problema y adquiere la configuración en forma automática
Inclusive podemos ver que detecta correctamente que se trata de una red de Domino
En cambio CL2, que está en otra red, no puede obtener configuración IP y por lo tanto utiliza APIPA (“Automatic Private IP Address Assinegment”) que sólo le proporciona una dirección IP en la red 169.254.0.0/16 y ningún otro parámetro
Además detecta la red como “No identificada”
Ahora debemos configurar el Router, que en mi caso es una máquina virtual con Windows Server 2016 configurada para enrutar tráfico entre las dos redes virtuales internas nombradas (también hace NAT sobre una externa para tener conectividad a mi red interna y por lo tanto a Internet, que para esta nota no se necesita). Lo único necesario para esta práctica es que ya esté configurado el enrutamiento entre las dos redes internas (Private y Private2)
Debemos agregar, tal como se muestra un “Routing Protocol” ya que así considera Microsoft que es “DHCP Relay Agent”
Debemos agregar la interfaz de red, donde escuchará a los pedidos de clientes de DHCP, en mi caso Private2
Por omisión, este servicio esperará hasta 4 segundos antes de reenviar el tráfico, esto es así para darle tiempo si hubiera un DHCP local, en este caso al no haber, he bajado el tiempo a 1 segundo
Y además debemos indicar a qué servicio DHCP deberá reenviar el pedido de configuración, lo cual hará mediante tráfico dirigido (“Unicast”)
Si todo está bien configurado ya podemos ver su funcionamiento
En CL2, forzando la adquisición de configuración IP con “IPCONFIG /RENEW” vemos que toma la configuración desde el DHCP remoto
E inclusive, que en este caso ya detecta la red como de Dominio
Si observamos ahora la consola de administración de DHCP veremos la asignación de configuración IP tanto para CL1 como para CL2
Esta opción a veces poco conocida de “DHCP Relay Agent” puede ayudar en varias ocasiones, sin necesidad de tener un servicio DHCP en cada red, o tener que poner un DHCP con múltiples interfaces en cada red
Comentarios
Por un lado:
Como sabe que scope otorgar el dhcp server????
Imagino que en este caso, a los paquetes DHCP-Request les responde con el scope de la misma lan del servidor, y por defecto, al relay que usa otro protocolo, le hace un Offer del otro scope,……pero y si son mas de 2 scopes?
Por otro lado:
Casualmente tengo que implementar un dhcp server para que no tenga problemas con las actualizaciones de los registros A de las workstations en diferentes delegaciones, cada una con su subred y un forti como router. Podras hacer un articulo de como configurar cada scope de acuerdo al relay agent que lo consulta? Si lo resuelvo antes, te mando screenshots para documentar. Ya que buscando en google no encontre mucho al respecto, todo lo que encontre es lo opuesto, es lo de configurar como relay agent un windows.
Muy buen articulo.
Un abrazo.
Hola Javier, cuando el «DHCP Relay Agent» reenvía en forma dirigida el pedido, indica sobre qué interfaz lo recibió (Dirección IP), por lo tanto está indicando de qué ámbito se debe seleccionar la configuración
Por otro lado: no hago notas sobre situaciones particulares :)
Los ámbitos no son diferentes para nada sean usados o no por un «DHCP Relay Agent», lo único que hay que configurar es el Router, sea Windows, Forti, Cisco, o el que sea
Guillermo, leyendo el articulo, sigo sin tener en claro como resolver la pregunta que te hice en su momento. Si tengo mas de 2 equipos como relay agent….. como sabe el dhcp server a que Relay darle leases de cada scope (suponiendo el caso de tener mas de 1 scope para Relay agents)????. Entiendo lo de no hacer articulos sobre casos particulares, pero bien podría ser un agregado a este que ya de por sí es bastante completo.
Nuevamente, muchas gracias.
Hola Javier, es el «Relay Agent DHCP» quien le informa al DHCP de qué «scope» debe asignarle configuración. El «Relay Agent DHCP» lo conoce porque sabe en qué interfaz propia escuchó los «DHCP Discover»
Mejor explicado imposible….acabo de caer en que la interfaz lan del router tiene la ip estatica. Muchisimas gracias.
:)
Buenas tardes Guillermo. Excelente post asi como muchos otros post. Son muy didacticos. Sencilla y claramente explicados. Queria hacerte una consulta relacionada con este post y con el post https://windowserver.wordpress.com/2013/02/08/configurando-sites-sitios-en-active-directory/. Tengo dos sitios geograficamete remotos. Uno es una sede principal y el otro una sucursal. Ambos conectados via VPN con la facilidad que da para esto WIndows Server 2016 (segui los pasos de tu post relacionado a VPN). En la sede principal hay un controlador de dominio (Windows Server 2016) con un solo dominio. En la sucursal pretendo instalar un segundo controlador de dominio (del mismo dominio de la sede principal, tambien Windows Server 2016), pero en esta sucursal el segmento de red es distinto al de la sede principal. El objetivo es que este segundo controlador ubicado fisicamente en la sucursal atienda todas las solicitudes de DHCP, DNS y de servicios de Active directory en general de los equipos clientes en dicha sucursal.
1. Debo entonces configurar un servidor DHCP fisicamente ubicado en la sucursal que adminstre las IP de dicha sucursal?
2. Es necesario que el controlador de dominio ubicado en la sede central se configuren ambos scopes (IP) (el de la sede y el de la sucursal)?
El objetivo es reducir a traves de la WAN el trafico reativo a servicios de directorio actvo teniendo un controldador de dominio en cada sitio fisico, pero ambos miembros de un mismo dominio para mas adelante implementar DFS y otras facilidades.
Gracias de antemano por todo el apoyo.
Hola Eduardo, en lo referido a crear los «Sites», «Subnets» y «Links» todo perfecto es tal cual como dices, ya que eso permite que los clientes de cada lugar sean «atendidos» por el Controlador de Dominio local. Cada cliente debe tener configurado para usar como DNS preferido a su DNS local, y al otro como alternativo
Con repecto a DHCP, como casi todo el tráfico es de «Broadcast» (Difusión», este no pasa por los Routers, el servidor VPN es un Router :)
Hay dos alternativas para resolver el tema, y yo me inclino por la primera:
1.- En cada sitio un DHCP, en el propio servidor. El servicio no pone casi carga sobre el servidor, y se disminuye tráfico sobre el enlace WAN
2.- En un de los sitios, en el servidor VPN agregar y configurar «DHCP Relay Agent» y que el servidor de la central tenga los «Scopes» para ambas redes, pero en ese caso el tráfico va por el enlace WAN
¡Gracias por tu comentario sobre el blog! :)
Amigo Guillermo, te comento tengo una duda, implementamos una solucion como la tuya, pero tengo un detalle, te platico… Tenemos 2 sucursales y un sitio central, cada sucursal se conecta a un servidor DHCP a la central, en ambas sucursales está el IP Helper configurado para realizar dicha accion, el detalle surge cuando un usuario viaja (cambia) del sitio A al Sitio B, como en ambos están apuntando al mismo DHCP, mi servidor central otorga la IP que tenia en el sitio A al usuario y este queda sin conexion, lo que veo es que si reservo la IP que el usuario tenia originalmente en el sitio A automaticamente toma una del sitio B y ya permite la conexion.
Tendras alguna idea de que pudiera ser?
Saludos.
Hola Juan, lo primero a tener en cuenta que para que el cliente se dé cuenta que está en una red diferentes es reiniciarlo, porque en ese momento tratará de renovar el «lease», y si todavía le queda tiempo y no recibiera respuesta tratará de contactar al «Default Gateway» para darse cuento del cambio de red o no
Algo obvio … pero ¿son redes IP diferentes en cada sitio? ¿si?
El poblema me da para pensar que venga del «IP Helper» que no informa al DCHP desde qué interfaz recibió el pedido de renovación
¿Has probado con IPCONFIG /RELEASE – IPCONFIG /RENEW?
Así es amigo, si hemos hecho la prueba renovando la IP por comando, aún así vuelve a tomar la IP «original» otorgada por el sitio A. Si fuera tema del «IP Helper» crees que haya algo que este omitiendo por ese lado?…
Gracias por tu pronta respuesta.
Si el «IP Helper» está bien configurado habría que investigar por ese lado. Si es un Router consultar al soporte del mismo, y si fuera un Windows revisar que tenga bien configurado para enviar el pedido directamente al DHCP de la central
Si te animas, un «Sniffer» puede darte información
Estimado Guillermo, sigo mucho de tus post, y este tema lo desarrollaste de una forma insuperable, siendo una solución avanzada de redes e infraestructura permites que se vea practico. solo quiero confirmar algo ¿los recursos compartidos en la red de dominio seguirán disponibles aunque estén en diferente scope?, ya que estos forman parte de la red de servidores o principal, y comparten la resolución de nombres «DNS» Agradeciendo de antemano tu gran aporte.
Hola Lisandro, para que una máquina pueda acceder a recursos compartidos de otra, o están en la misma red, o hay que tener un Router que se encargue de comunicar ambas redes
Es necesario configurar en los switches, algo? Me refiero en la zona de la red, que recibir servicio DHCP de la otra red.
En un «Switch puro» no hay que hacer nada. Lo que sí hay que tener en cuenta que hay Switches que hacen mucho más que «switchear»
Saludos Guillermo. Como alternativa a lo planteado en esta nota quisiera tu opinion sobre que en vez de usar dos subredes con mascara de subred /24 unidas por un router se utilizase la mascara /23.
Hola Eduardo, para poder opinar debería conocer muchos más detalles, imposible desde acá :)
De todas formas tener dos redes o todo en una tiene ventajas e inconvenientes, para nombrar sólo alguno: un Router normalmente es mucho más lento que un Switch, aunque depende de cada uno; pero un Router tiene la ventaja que limita los Dominios de «Broadcast»
Así que no es fácil opinar
Tengo un DHCP con dos ámbitos, pero ambas tarjetas de red van al mismo switch, esto es incorrecto? ya que estoy manejando el segmento 192.168.0.0 y 192.168.254.0, pero tengo algunos equipos reservados en el segmento 1, y de todos modos obtienen ip del segmento 2, por lo que lei al principio, DHCP Relay Agent es para cuando estan fuera de la red. He intentado con ipconfig setclassid, pero no he logrado que me asigne del segundo ambito.
Estoy utilizando el segundo segmento de esa forma, ya que los demas, los tengo ocupados con vpn, y no puedo ampliar el 192.168.0.0 a mascara 16, porque me afectaria mi conexion con las vpn, espero me haya explicado
Saludos
Hola Sergio, rescaté tu mensaje desde el Spam, no sé qué sucedió pero es la primera vez que una pregunta buena la manda así :)
Al estar conectados al mismo Switch no tienes ningún control sobre desde qué ámbito les dará configuración
La obtención de configuración entre el cliente y el servidor es todo Broadcast así que se difunde por todos los puertos
Si te interesa ver un poco más del tema revisa Cómo Funciona el Servicio DHCP (Incluye Capturas de Red) | WindowServer
https://windowserver.wordpress.com/2013/09/20/cmo-funciona-el-servicio-dhcp-incluye-capturas-de-red/
El «DHCP Relay Agent» es algo que funciona en los Routers, no en los Switches
Direcciones IP privadas tienes «a montones» :) Todo lo que comience con 10, todo lo comprendido entre 172.16 y 172.31, y todo lo que comience con 192.168
Gracias por la respuesta Guillermo, muy esclarecedor el articulo. Estaba revisando este enlace
https://blogs.technet.microsoft.com/latam/2016/12/28/utilizar-dhcp-policies-para-asignar-direcciones-ip-a-equipos-con-un-class-id-especifico/
En donde explican que se pueden ignorar las solicitudes discover de los clientes que no tengan asignada una clase, y dejar que responda el dhcp segun la clase que le corresponda, pero tendria que tener dos dhcp, y establecer manualmente la clase a los clientes, lo cual no parece muy viable.
Saludos
Sí, se puede hacer usando Clases, pero es complicado, hace tiempo hice una nota sobre el tema de Clases con DHCP
DHCP: Asignar Configuración Unicamente a Máquinas del Dominio | WindowServer
https://windowserver.wordpress.com/2017/02/14/dhcp-asignar-configuracin-unicamente-a-mquinas-del-dominio/
Lo que para mí no sé si se justifica es tener dos redes IP sobre la misma red
Qué tal?
Excelente tu blog!… tiene tiempo que lo sigo.
Mi pregunta es la siguiente, para poder implementar las diferentes redes, teniendo más de 2 segmentos diferentes, es recomendable utilizar un switch administrable donde podamos asignar salida para switches no administrables para poder repartir los diferentes segmentos? Ya que por ejemplo, en mi caso quiero separar la red de la escuela, *.*.10.* la de administración, *.*.20.* profesores, *.*.30.* alumnos y *.*.40.* wifi invitados …. cada uno con su puerto en el switch administrable hacia el switch no administrable, y en el caso de el wifi directo a las antenas para una mesh…
Estoy en lo correcto ? O sigo estudiando ?
Gracias de antemano.
Saludos !!
Hola Victor, estos comentarios son sobre la nota, no son para soporte, sólo oriento cuando puedo
Victor, si lo soporta tu switch usa VLAN’s , míralo que es interesante.
Guillermo, no conocía tu blog. Muy buen trabajo, didáctico y directo, sin florituras!
¡Gracias Paco! aunque como verás ya hace mucho que no pongo nuevas notas
Trackbacks
[…] red, o inclusive tener un único servidor DHCP, real o virtual, conectado a cada una de las redes (Servicio DHCP para Múltiples Redes) utilizadas, pero en este caso además de que cada red debe recibir configuración apropiada […]