Cisco propone una solución que básicamente lo que hace es atrapar los broadcasts (que llegan a las interfaces que a nosotros nos interesen) y reenviarlos como {es:Unicast|unicast} a una dirección IP que nosotros indiquemos.
En este caso tenemos la siguiente distribución de equipos:
- R2 es un servidor DHCP que tiene varios pooles configurados.
- R0 es un router de tránsito que hará la conversión broadcast/unicast antes mencionada.
- R1 emula un equipo que quiere aprender la dirección IP de dos de sus interfaces mediante DHCP.
Veamos las configuraciones:
R2:
ip dhcp excluded-address 192.168.10.1
ip dhcp excluded-address 192.168.11.1
!
ip dhcp pool pepito
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
domain-name pepito
!
ip dhcp pool juancito
network 192.168.11.0 255.255.255.0
domain-name juancito
default-router 192.168.11.1
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.252
duplex auto
speed auto
!
ip route 192.168.10.0 255.255.255.0 192.168.1.1
ip route 192.168.11.0 255.255.255.0 192.168.1.1
R0:
interface FastEthernet0/0 description Enlace a R1 no ip address duplex auto speed auto ! interface FastEthernet0/0.10 encapsulation dot1Q 10 description VLAN 10 de R1 ip address 192.168.10.1 255.255.255.0 ip helper-address 192.168.1.2 ! interface FastEthernet0/0.11 encapsulation dot1Q 11 description VLAN 11 de R1 ip address 192.168.11.1 255.255.255.0 ip helper-address 192.168.1.2 ! interface FastEthernet0/1 description Enlace a R2 ip address 192.168.1.1 255.255.255.252 duplex auto speed auto !
R1:
interface FastEthernet0/0 description Enlace a R0 no ip address duplex auto speed auto ! interface FastEthernet0/0.10 encapsulation dot1Q 10 description VLAN 10 de R0 ip address dhcp ! interface FastEthernet0/0.11 encapsulation dot1Q 11 description VLAN 10 de R0 ip address dhcp !
El comando ip helper-address configurado en las interfaces de R0 hace que este reenvíe las peticiones DHCP (y por defecto otros protocolos más) hacia la IP 192.168.1.2 que es el servidor DHCP.
Es muy importante notar que para que R2 entregue las direcciones DHCP tiene que saber como llegar a las redes que entrega, por esto las rutas estáticas que se configuraron en R2 son fundamentales, y en caso de no conocerse dichas redes el servidor DHCP no funcionará.
Ahora vemos que pasa en R1 al momento de levantar las interfaces:
R1# *Mar 1 00:13:03.315: %SYS-5-CONFIG_I: Configured from console by console R1#sh ip int bri Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset up up FastEthernet0/0.10 unassigned YES DHCP up up FastEthernet0/0.11 unassigned YES DHCP up up FastEthernet0/1 unassigned YES unset up up R1# *Mar 1 00:15:18.907: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0.10 assigned DHCP address 192.168.10.2, mask 255.255.255.0, hostname R1 R1# *Mar 1 00:15:23.091: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0.11 assigned DHCP address 192.168.11.2, mask 255.255.255.0, hostname R1 R1#show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset up up FastEthernet0/0.10 192.168.10.2 YES DHCP up up FastEthernet0/0.11 192.168.11.2 YES DHCP up up FastEthernet0/1 unassigned YES unset up up
Ahora vemos el lease en R2:
R2#show ip dhcp pool Pool pepito : Utilization mark (high/low) : 100 / 0 Subnet size (first/next) : 0 / 0 Total addresses : 254 Leased addresses : 1 Pending event : none 1 subnet is currently in the pool : Current index IP address range Leased addresses 192.168.10.3 192.168.10.1 - 192.168.10.254 1 Pool juancito : Utilization mark (high/low) : 100 / 0 Subnet size (first/next) : 0 / 0 Total addresses : 254 Leased addresses : 1 Pending event : none 1 subnet is currently in the pool : Current index IP address range Leased addresses 192.168.11.3 192.168.11.1 - 192.168.11.254 1 R2#show ip dhcp binding Bindings from all pools not associated with VRF: IP address Client-ID/ Lease expiration Type Hardware address/ User name 192.168.10.2 0063.6973.636f.2d63. Mar 02 2002 12:15 AM Automatic 3430.312e.3039.3266. 2e30.3030.302d.4661. 302f.302e.3130 192.168.11.2 0063.6973.636f.2d63. Mar 02 2002 12:15 AM Automatic 3430.312e.3039.3266. 2e30.3030.302d.4661. 302f.302e.3131
Espero que lo implementen pronto.
¡Hasta la próxima!
24 comentarios:
Gracias Damián por la idea para implementar este LAB.
muy interesante este ejmplo Ariel, tengo problemas con el comando ip helper-address y este ejemplo me ayudó mucho :D
¿¿sabes si el comando ip helper-address funciona en Packet Tracer??
Gracias de nuevo, saludos:D
En el Packet Tracer el helper-address funciona, ya que si haces el 'simulation' vas a ver que el broadcast viaja. Lo que me parece que no funciona bien es el dhcp-server con redes remotas.
Hola ariel,
el tema del DHCP me esta dando algunos problemas.
El servidor DHCP(R2) tiene que saber como llegar a las redes que entrega(VLANs 10 y 11), pero ¿R1 no deberia tambien tener una ruta estática a R2?
Gracias, saludos:D
En el lab R1 simboliza un cliente (una PC) que tiene un cliente DHCP. Ruta estática no hace falta porque el cliente recibe la default (0.0.0.0/0) del DHCP server.
Este default gateway se entrega con el parámetro default-router de cada pool del server.
Piensa que en el instante inicial R1 no tiene configurada una IP (y por ende tampoco tiene rutas a ningún lado).
Saludos
hola ariel,
me decidi a implementar este sencillo ejemplo sobre DHCP sin embargo a la hora de enviar el pakee DHCP a R2, este me dice(en el modo simulacion):
"The DHCP server does not have a pool configured for the received port. It drops the packet." y lo elimina, no entiendo que es lo que pasa, me puedes explicar que ocurrio??
Gracias de antemano Ariel:D
Con Packet Tracer nunca logré hacer andar este tipo de laboratorio. De hecho armé este post con equipos por pedido de un colega instructor de CCNA, y para sacarnos la duda de si esto se podía implementar o no.
El resultado del comando ip helper-address es satisfactorio, dado que el broadcast que manda la pc se reenvía como unicast al servidor DHCP remoto. Sin embargo parece que el router configurado como DHCP server no soporta tener un pool que pertenezca a una red no conectada.
Sin embargo el ejemplo publicado aquí fue armado con equipos reales y funciona correctamente.
Saludos!
si, si en modo simulacion, como bien dices, puede verse como efectivamente el helper-adress transforma el multicasta en unicast....me volvi loco intentando hacerlo funcionar pero el servidor DHCP no parecer soportar la red remota
quiza en GSN3 si funcione esta practica...lo probaste??
Gracias Ariel:D
Saludos¡¡¡¡
Te podría asegurar que si funciona en equipos reales, funciona en dynamips y sus derivados...
Saludos
[...] Este tipo de ataque tiene más posibilidades de éxito cuando hay un servidor DHCP centralizado en una red apartada de los clientes y el router que hace de default gateway para cada LAN hace relay de DHCP. Para conocer detalles sobre relay de DHCP ver: este post. [...]
Hola, gracias por el ejemplo!
Creés que esto podría funcionar en la versión 5.1 del Packet Tracer?
Gracias
Yo lo probé y no me anduvo. Lo que no recuerdo es si era la 5.1
Saludos
Nosotros lo probamos y no nos anduvo, aunque leímos en internet que si podría funcionar con un servidor de dhcp, en lugar de hacerlo desde el router. Lo probaste?
Sinceramente no lo probé.
Si lo haces y quieres compartir el archivo .pkt lo pego aquí para que todos puedan verlo en acción.
Saludos y gracias.
Jajajjajajaja tenia mucho tiempo de saber como hacer para la comunicación en un dhcp remoto pero habia podido GRACIAS..... Me funciono EXCELENTE Yujuuuuuu muy bueno..... DX
Amigo las url de las imagenes estan rotas.
Gracias por avisar
Lo he probado y funciona con packet tracer en la version 5.2
Vengo leyendo los comentarios, yo tmb me volvi loco con estos tipos de LAB, en PT 5.0 no lo pude correr.
Slds
Compañero una pregunta, en mi red tengo funcionando esta solucion para varios segmentos que comparten el mismo server DHCP, cada segmento lo relaciono con un ambito y todo va excelente, el problema es que tengo una aplicacion cliente-servidor, los clientes encuentran el server por broadcast y tengo que aplicar la misma estrategia para que hice con DHCP para esto, lo que aun no se es, si introduzco otro ip helper-address para el server de la aplicacion entraria en conflicto con el de DHCP, espero me haga entender, los clientes y el server estan en distintas VLAN.
EL comando ip helper address funciona con ocho protocolos a la vez entre los cuales está el DHCP.
En IOS puedes habilitar la traducción de broadcast a unicast de otros puertos diferentes para permitir otros protocolos.
Podes leer algo sobre esto en: http://www.cisco.com/univercd/cc/td/doc/product/software/ssr83/rpc_r/48383.htm#xtocid670622
Ante cualquier duda no temas escribime un mail a la dirección de contacto que se encuentra en el margen derecho.
Saludos
Hola, gracias por tu aporte...
He probado con los comandos aqui citados, cuando pongo "show ip int br" me aparecen FastEthernet0/0.10 y FastEthernet0/0.11 como Method: DHCP y Status: up, pero ip address: unassigned, las apago y las vuelvo a levantar, pero con el mismo resultado, que puedo hacer?
Hola. He implementado este ejemplo en un packet tracer 6.1 y en su mayoría funcionó, el único problema es que en el cliente dhcp sólo la sub-interfaz 0.11 está tomando direccionamiento, la subinterfaz 0.10 sigue unassigned. Verifiqué todos los comandos citados. Si tienes alguna idea a qué se debe este problema te agradeceré compartor.
Saludos.
Buen material, ¿la configuración del R2 no se puede hacer en el R0 para evitar el uso de un router mas?
Publicar un comentario