DHCP significa Dynamic Host Configuration Protocol. Básicamente es un mecanismo que asigna direcciones IP a los ordenadores de forma dinámica. Por lo general, DHCP es un servicio que se ejecuta en un equipo servidor en la red con el fin de asignar direcciones IP dinámicas a los hosts.
Sin embargo, Los routers Cisco (y otros dispositivos como los firewalls ASA, etc) pueden funcionar también como servidor DHCP sustituyendo así a una máquina dedicada a esta tarea.
Una de las piezas más interesantes de configuración dentro de Cisco IOS, en mi opinión, es IP DHCP Pools. Con esta característica se puede configurar un switch o router Cisco para que actúe como servidor DHCP.
Esta característica es útil en varios casos, incluyendo algunos de los siguientes; servidor DHCP de pequeñas empresas, servidor DHCP de recuperación de desastres o ayudar con la configuración de dispositivos de direcciones IP estáticas. Veamos cada caso con más detalle.
Los pools de DHCP de Cisco IOS pueden configurarse para pequeñas empresas en las que la compra de un DHCP independiente no es económicamente viable. Las pequeñas empresas tienen que «trabajar con lo que tienen» y el uso de un router o switch de capa 3 que ya está en el entorno de la red es una gran manera de hacer esto.
Tener un plan de recuperación de desastres es fundamental para la continuidad del negocio. Tener el router DHCP de Cisco en el bolsillo puede convertirte en un héroe al final de un día inesperado. Usando esta tecnología puedes tener una plantilla de configuración de respaldo en tu arsenal para un mal día.
Más y más dispositivos de red están viniendo con DHCP habilitado por defecto en estos días. Algunos dispositivos como, cámaras IP, impresoras, punto de acceso inalámbrico y otros dispositivos. Using a configured DHCP pool makes it much easier to remotely access these devices and assign static IP addresses as desired.
Lets take a closer look at the configuration and design.
Steps:
1- Create DHCP Pool
2- Specify the following:
- Network (Subnet Address with Network Mask)
- Default Router (Better known as «Default Gateway»)
- DNS Servers
- DHCP Options (Optional)
3- Exclude any addresses reserved for static address assignment, including the default gateway.
DHCP Configuration Commands:
Router(config)# ip dhcp pool VLAN_10
Creates a DHCP Pool named VLAN_10. Dentro de este Pool especificaremos los elementos mencionados anteriormente.
Router(dhcp-config)# network 172.16.10.0 255.255.255.0
Especifica la red para el DHCP Pool VLAN_10 como la red 172.16.10.0/24.
Router(dhcp-config)# default-router 172.16.10.1
Especifica que la «puerta de enlace por defecto» para los clientes dhcp será 172.16.10.1.
Router(dhcp-config)# dns-server 172.16.2.10
Especifica que el servidor DNS será 172.16.2.10
Router(config)# ip dhcp excluded-address 172.16.10.1 172.16.10.20
El comando anterior indica al router que excluya las direcciones 172.16.10.1 a 172.16.10.20 de la asignación DHCP. Estas direcciones no serán entregadas a los clientes. La primera dirección que se utilizará será la 172.16.10.21.
Opcional
Router(dhcp-config)# opción 150 ip 172.16.2.20
Especifica las opciones opcionales de DHCP necesarias. Arriba la opción DHCP de 150 para el Servidor TFTP se ha establecido en 172.16.2.20.
Verificación:
Show ip dhcp binding
El comando anterior mostrará todas las direcciones IP DHCP asignadas y su tiempo de arrendamiento.
Reenvío de solicitudes DHCP utilizando el comando ip helper address
DHCP, como todos sabemos, es un protocolo de difusión (¡qué vergüenza si no lo sabes ya 🙂 !!) que normalmente sólo funciona en el mismo dominio de difusión de capa 2.
¿Significa esto que necesitas tener tu servidor DHCP conectado a la misma subred de red que los clientes DHCP? Si este fuera el caso no sería flexible ni económico en absoluto.
¿Qué pasa si ha segmentado su red interna en muchas subredes diferentes y tiene clientes DHCP en todas esas subredes. ¿Significaría esto que debe tener un servidor DHCP para cada subred?
Afortunadamente, no necesita tener esta situación. Con el comando Cisco «ip helper-address» configurado en la interfaz de capa 3 que recibe la difusión de DHCP del cliente, puede transformar la solicitud de difusión en una unicast y enviarla a un servidor DHCP centralizado que puede estar ubicado en una subred diferente de su red.
La solicitud de DHCP unicast se enrutará normalmente al servidor DHCP de destino dentro de la red, incluso si el servidor está lejos del cliente DHCP.
El servidor DHCP debe tener un ámbito de IP Pool apropiado configurado para la subred específica de la que proviene la solicitud de DHCP.
Usando este ámbito de IP, el servidor asignará una dirección IP apropiada al cliente solicitante. Por ejemplo, si la subred del cliente DHCP es 192.168.1.0/24, entonces el servidor DHCP remoto debe tener un IP Pool configurado para asignar direcciones dentro del ámbito 192.168.1.0/24.
La subred del cliente DHCP de origen está determinada por la dirección IP asignada a la interfaz de capa 3 que tiene configurada la dirección ip helper.
Veamos un escenario de ejemplo a continuación con una captura de configuración.
Desde el diagrama de red anterior, dos PC clientes DHCP están situados detrás del router A.
La interfaz Fe0/0 del router tiene la dirección IP 192.168.1.1/24.
Los clientes DHCP comenzarán a emitir solicitudes DHCP para obtener la información de su dirección IP asignada desde un servidor.
Por defecto, estas solicitudes de difusión DHCP se limitarán dentro del Switch A y nunca llegarán a ninguna otra subred más allá del Router A.
Configurando una «ip helper-address 10.10.10.1» bajo la interfaz Fe0/0 del router A, le decimos al router que convierta la difusión DHCP en una unidifusión DHCP y la envíe al servidor DHCP de destino 10.10.10.1.
El servidor verá que la solicitud DHCP proviene de la subred de origen 192.168.1.0/24 y, por lo tanto, asignará una dirección IP adecuada de un ámbito de pool IP configurado dentro del rango 192.168.1.0.
Configuración en el router A
RouterA# conf t
RouterA(config)# interface fastethernet0/0
RouterA(config-if)# ip address 192.168.1.1 255.255.255.0
RouterA(config-if)# ip helper-address 10.10.10.1
Algunas otras consideraciones importantes para ip helper-address
Por defecto, el comando ip helper-address reenvía también algunos otros protocolos de difusión además del protocolo DHCP (BOOTP). Reenvía por defecto los siguientes ocho protocolos de difusión UDP:
- UDP 37 (Protocolo de tiempo)
- UDP 49 (TACACS)
- UDP 53 (DNS)
- UDP 67 (Servidor DHCP)
- UDP 68 (Cliente DHCP)
- UDP 69 (TFTP)
- UDP 137 (NetBios)
- UDP 138 (Servicio de datagramas NetBios)
Si desea añadir más protocolos de difusión para ser reenviados, o incluso eliminar algunos de los protocolos reenviados por defecto, puede utilizar el comando «ip forward-protocol» en el modo de configuración global.
Ejemplo: Eliminar los protocolos NetBios (137,138) de ser reenviados por defecto, y añadir el protocolo NTP 123 para ser reenviado por ip helper-address.
RouterA(config)# no ip forward-protocolo udp 137
RouterA(config)# no ip forward-protocolo udp 138
RouterA(config)# ip forward-protocolo udp 123
Ejemplo de configuración de DHCP en routers Cisco
Todos los modelos de la serie Cisco tienen la capacidad de funcionar como servidores DHCP, asignando así las direcciones a los hosts internos de la LAN. Sin un servidor DHCP en la red, tendría que asignar direcciones IP manualmente a cada host. Estas direcciones asignadas manualmente también se denominan «direcciones IP estáticas».
En la siguiente sección le mostraré cómo configurar un router Cisco 851 o 871 para que funcione como servidor DHCP. La misma configuración se aplica también a otros modelos de la serie de routers.
Router> enable
Router# config t
¡definir un nombre y rango de pool de direcciones IP
Router(config)# ip dhcp pool LANPOOL
! defina un rango de red para las direcciones que se asignarán
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
! defina un nombre dns para asignar a los clientes
Router(dhcp-config)# domain-name mycompany.com
! defina una puerta de enlace por defecto para los clientes
Router(dhcp-config)# default-router 192.168.1.1
! defina el servidor dns para los clientes
Router(dhcp-config)# dns-server 100.100.100.1
! defina un servidor WINS si tiene uno
Router(dhcp-config)# netbios-name-server 192.168.1.2
Router(dhcp-config)# exit
Las siguientes direcciones no se darán a los clientes
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10