lunes, 31 de diciembre de 2018

El comando ip helper-address

ip helper-address

Muchos estamos habituados a implementar servicios DHCP proxy, y en dispositivos Cisco IOS eso significa utilizar el comando ip helper-address. Sin embargo, este comando ofrece mucho más que sencillamente un servicio de proxy para servicios DHCP.

¿Qué es un DHCP proxy?
En redes extensas o con múltiples subredes en la que se debe atender solicitudes de  clientes DHCP es habitual que el servidor DHCP se encuentre centralizado.

Sin embargo esto implica una dificultad ya que las solicitudes DHCP se realizan en formato de broadcast (en redes IPv4), y como todos sabemos, los paquetes de broadcast no son reenviados por los dispositivos de capa 3. 

Esto significa que una solicitud DHCP no va más allá del segmento de red en el cual se encuentra el cliente que la genera, ¿cómo podría entonces alcanzar un servidor que se encuentra en una red o segmento de red diferente?

Para esto se utiliza un DHCP proxy. El proxy recibirá la solicitud en formato de broadcast y la convertirá en un paquete unicast cuya dirección destino será la del servidor. 

De esta manera la solicitud se convierte en completamente ruteable y podrá alcanzar el servidor con la única condición de que exista ruta que permita llegar a esa dirección de destino.

ip helper-addreess
En redes Cisco IOS esto se puede implementar utilizando el comando ip helper-address en cliente que requiere una configuración IP utilizando DHCP. Sin embargo este comando no solamente reenvía solicitudes DHCP.

Varios servicios críticos para el funcionamiento de la red utilizan broadcast como DHCP: TACACS, DNS, TFTP, NetBios, etc.; y es común que en redes complejas y extensas estos la interfaz que opera como default-gateway del segmento de red en el que se encuentra el servidores se encuentren en un área de red específica, en otro segmento de red. 

Esto implica que es necesario enrutar solicitudes de todos estos servicios, que en su definición original se propagan por broadcast.

Esta es la situación a la que responde el comando helper-address; permite que los routers actúen como proxies al reenviar solicitudes de estos servicios que corren sobre UDP.

El router recibe las solicitudes UDP en formato de broadcast y las reenvía como paquetes unicast a una dirección IP específica. También puede reenviarlas a una red o subred en particular.

El comando ip helper-address reenvía por defecto 8 servicios UDP: Time, TACACS, DNS, DHCP server, DHCP client, TFTP, NetBios name service y NetBios datagram service.

Table 2-10 Default Forward UDP Services


Service Port
Time 37
TACACS 49
DNS 53
BOOTP/DHCP Server 67
BOOTP/DHCP Client 68
TFTP 69
NetBIOS name service 137
NetBIOS datagram service 138
Tabla obtenida de: http://www.ciscopress.com/articles/article.asp?p=330807&seqNum=9


Router#configure terminal
Router(config)#interface GigabitEthernet 0/0
Router(config-if)#ip helper-address 172.18.1.3

    Reenvía el tráfico de servicios UDP que se recibe a través de la interfaz GigabitEthernet a la dirección 172.18.1.3 . Este comando se puede repetir si es necesario direccionar hacia más de un servidor.
Router(config-if)#ip helper-address 172.18.1.255
    Reenvía el tráfico de servicios UDP que se recibe a través de la interfaz Fastethernet a la subred 172.18.1.0/24. Esta es la forma de aplicación cuando los diferentes servicios no están en una única dirección IP sino en varias de un mismo segmento de red, como ocurre en una granja de servidores.
Router(config-if)#interface GigabitEthernet 0/1
Router(config-if)#ip directed-broadcast
    Cuando se direccionan los servicios UDP a una granja de servidores, es preciso indicar a la interfaz del router que da acceso a la graja de servidores que los servicios que recibe redirigidos a una dirección de broadcast (p.e. 172.18.1.255), debe encapsularlos como broadcast de capa 2 para que entonces puedan ver la petición todos los nodos de la subred.
Router(config-if)#exit
Router(config)#ip forward-protocol udp 517 
    Agrega a la lista de 8 servicios que se reenvían por defecto, el tráfico de UDP que está dirigido al puerto 517.
Router(config)#no ip forward-protocol udp 49 
    Retira de la lista de servicios que se reenvían, el tráfico de TACACS (puerto 49).

Esta configuración puede verificarse utilizando el comando show ip interfaces

Post Relacionado:

Tomado de: http://librosnetworking.blogspot.com/2016/05/ip-helper-address.html

No hay comentarios:

Publicar un comentario