Configuración y Exclusión de Direcciones IP en Servidores DHCP de Cisco IOS

La gestión eficiente de las direcciones IP en una red es fundamental para su correcto funcionamiento y seguridad. Los servidores DHCP (Dynamic Host Configuration Protocol) desempeñan un papel crucial en este proceso, automatizando la asignación de direcciones IP a los dispositivos clientes. Sin embargo, en determinadas situaciones, es necesario que el administrador de red tenga un control preciso sobre qué direcciones se asignan y cuáles deben reservarse. La exclusión de direcciones IP específicas del rango asignado por el servidor DHCP en dispositivos Cisco IOS es una tarea común y necesaria para garantizar la estabilidad y la predictibilidad de la red.

Diagrama de flujo de asignación de direcciones IP por DHCP

El Rol Fundamental del Servidor DHCP en la Red

Un servidor DHCP, al igual que el NAT (Network Address Translation), requiere que el administrador defina un conjunto de direcciones IP que se pondrán a disposición de los clientes. El proceso de configuración de DHCP en un router Cisco comienza con la creación de un "pool" o conjunto de direcciones, utilizando el comando ip dhcp pool. Este comando no solo crea el conjunto con la denominación especificada, sino que también sitúa al router en un modo especializado de configuración DHCP. Dentro de este modo, el comando network se emplea para definir el rango de direcciones IP que se arrendarán dinámicamente a los clientes.

Además de definir el rango de direcciones, el servidor DHCP puede configurarse para proporcionar otros valores esenciales de configuración IP a los clientes. Uno de los más importantes es la puerta de enlace por defecto, configurada mediante el comando default-router. Este comando especifica la dirección IP del router que los clientes utilizarán para comunicarse con redes externas. El servidor DHCP también puede ser configurado para proporcionar la dirección del servidor DNS (Domain Name System) a través del comando dns-server, permitiendo a los clientes resolver nombres de dominio en direcciones IP. Asimismo, se puede configurar la dirección del servidor WINS (Windows Internet Name Service) con el comando netbios-name-server, facilitando la resolución de nombres NetBIOS en entornos Windows. El servidor DHCP de Cisco IOS es capaz de configurar a los clientes con prácticamente cualquier información TCP/IP necesaria.

El Proceso de Exclusión de Direcciones IP

En la mayoría de los casos, un servidor DHCP se configura para asignar un número de direcciones IP significativamente mayor que el número de dispositivos conectados. Esto proporciona flexibilidad y permite el crecimiento futuro de la red. Sin embargo, existen escenarios donde es imperativo reservar ciertas direcciones IP para dispositivos que requieren asignaciones estáticas. Estos dispositivos pueden incluir servidores, impresoras de red, o incluso las propias interfaces de los routers. Para evitar conflictos y garantizar que estos dispositivos siempre tengan la misma dirección IP, estas deben ser excluidas del rango dinámico del DHCP.

Para realizar esta exclusión, el administrador debe regresar al modo de configuración global del router. Una vez allí, se utiliza el comando ip dhcp excluded-address. Este comando permite configurar el router para excluir una dirección IP individual o un rango de direcciones IP de ser asignadas a los clientes DHCP. La sintaxis básica es ip dhcp excluded-address <dirección_inferior> [<dirección_superior>]. Si se desea excluir una única dirección, se especifica esa dirección como el rango inferior y superior. Si se desea excluir un rango continuo de direcciones, se especifican la primera y la última dirección de ese rango.

Por ejemplo, para excluir la dirección 192.168.10.254, se utilizaría el comando ip dhcp excluded-address 192.168.10.254. Si se necesita excluir el rango desde 192.168.10.1 hasta 192.168.10.10, el comando sería ip dhcp excluded-address 192.168.10.1 192.168.10.10. Estas direcciones excluidas no serán ofrecidas por el servidor DHCP a ningún cliente, permitiendo su asignación estática sin temor a duplicaciones.

Ilustración de un router Cisco con flechas indicando la configuración DHCP y la exclusión de direcciones

Habilitación y Deshabilitación del Servicio DHCP

En muchas versiones de Cisco IOS que soportan la funcionalidad DHCP, el servicio de servidor DHCP viene habilitado por defecto. Esto significa que, una vez configurado un pool de direcciones, el router comenzará a asignar IPs automáticamente. Para desactivar este servicio, si fuera necesario, se utiliza el comando no service dhcp en modo de configuración global. Por el contrario, para volver a habilitar el proceso del servidor DHCP si ha sido deshabilitado, se emplea el comando service dhcp en modo de configuración global. Es importante notar que si no se han configurado los parámetros necesarios para el servicio DHCP (como un pool de direcciones), habilitar el servicio no tendrá ningún efecto práctico.

El Intercambio de Mensajes DHCP: Un Proceso Detallado

El funcionamiento del protocolo DHCP se basa en un intercambio de mensajes entre el cliente y el servidor. Este proceso dinámico asegura que los dispositivos obtengan una dirección IP y la configuración de red necesaria.

  1. DHCP Discover (Descubrimiento DHCP): El proceso comienza cuando un cliente DHCP, que necesita una dirección IP, envía un mensaje de "DHCP Discover" a través de una difusión (broadcast) en la red. Este mensaje se envía a la dirección IP de broadcast 255.255.255.255. Incluso sin una dirección IP válida de origen, el cliente puede enviar esta difusión para encontrar cualquier servidor DHCP que esté escuchando en la red.

  2. DHCP Offer (Oferta DHCP): Cualquier servidor DHCP que reciba el mensaje "DHCP Discover" y tenga direcciones IP disponibles responderá con un mensaje de "DHCP Offer". Este mensaje contiene una oferta para que el cliente utilice una dirección IP específica, junto con su máscara de subred y la dirección de la puerta de enlace por defecto. También puede incluir otros parámetros de configuración necesarios para el uso de la IP.

  3. DHCP Request (Solicitud DHCP): Cuando el cliente recibe una o varias ofertas (si hay múltiples servidores DHCP en la red), selecciona una de ellas y envía un mensaje de "DHCP Request". Este mensaje, que también suele ser una difusión, indica al servidor elegido que el cliente desea aceptar la dirección IP ofrecida. Si el cliente recibe múltiples ofertas, el mensaje "DHCP Request" sirve para informar a los otros servidores que sus ofertas no fueron aceptadas.

  4. DHCP ACK (Acuse de Recibo DHCP): Finalmente, el servidor DHCP seleccionado responde al cliente con un mensaje de "DHCP ACK" (Acknowledgement). En este mensaje, la dirección IP y todos los parámetros de configuración necesarios para usarla son devueltos al cliente como una aprobación formal. A partir de este momento, el cliente puede usar legítimamente la dirección IP asignada.

Debido a que DHCP es un mecanismo dinámico, las direcciones IP se ofrecen en alquiler temporal, con una duración de concesión definida. Es crucial tener en cuenta que DHCP está diseñado para funcionar dentro de un dominio de difusión. La mayoría de los mensajes en un intercambio DHCP se envían como difusiones. Esto implica que, idealmente, debería haber un servidor DHCP para cada dominio de transmisión o VLAN en la red. Sin embargo, esto no siempre es posible debido a limitaciones de infraestructura o gestión.

6. Acuse Recibo de las Solicitudes de Acceso a la Información

Configuración Paso a Paso de un Servidor DHCPv4 en un Router Cisco

La configuración de un router Cisco como servidor DHCPv4 es un proceso relativamente directo que implica varios pasos clave.

Paso 1: Excluir Direcciones IPv4

Como se mencionó anteriormente, el primer paso es identificar y excluir las direcciones IP que no deben ser asignadas dinámicamente. Esto se realiza en modo de configuración global.

R1(config)# ip dhcp excluded-address <dirección_inferior> [<dirección_superior>]

Por ejemplo, para excluir la dirección 192.168.10.254:

R1(config)# ip dhcp excluded-address 192.168.10.254

O para excluir un rango:

R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10

Paso 2: Configurar un Pool de DHCPv4

A continuación, se crea el conjunto de direcciones DHCP y se definen sus parámetros principales. Esto se hace en modo de configuración DHCP.

R1(config)# ip dhcp pool <nombre_del_pool>R1(dhcp-config)# network <número_de_red> [<máscara_de_subred> | <longitud_prefijo>]R1(dhcp-config)# default-router <dirección_gateway> [dirección_gateway2…dirección_gateway8]

Por ejemplo, para un pool llamado "LAN_POOL" en la red 192.168.10.0 con máscara 255.255.255.0 y puerta de enlace 192.168.10.1:

R1(config)# ip dhcp pool LAN_POOLR1(dhcp-config)# network 192.168.10.0 255.255.255.0R1(dhcp-config)# default-router 192.168.10.1

Paso 3: Configurar Tareas Específicas (Opcionales)

Finalmente, se pueden configurar tareas adicionales para personalizar el comportamiento del pool DHCP.

  • Definir un servidor DNS:

    R1(dhcp-config)# dns-server <dirección_servidor_dns> [dirección_servidor_dns2…dirección_servidor_dns8]

    Ejemplo: dns-server 8.8.8.8

  • Definir el nombre de dominio:

    R1(dhcp-config)# domain-name <nombre_dominio>

    Ejemplo: domain-name miempresa.com

  • Definir la duración de la concesión DHCP:

    R1(dhcp-config)# lease {días [horas] [minutos] | infinito}

    Ejemplo: lease 7 (concesión de 7 días)

  • Definir el servidor WINS con NetBIOS:R1(dhcp-config)# netbios-name-server <dirección_servidor_wins> [dirección_servidor_wins2…dirección_servidor_wins8]Ejemplo: netbios-name-server 192.168.10.5

Verificación de la Configuración DHCPv4

Una vez configurado el servidor DHCP, es crucial verificar su funcionamiento. Se pueden utilizar varios comandos show para este propósito.

  • show running-config | section dhcp: Este comando muestra la configuración actual del router, filtrando específicamente las secciones relacionadas con DHCP. Permite revisar los pools creados, las direcciones excluidas y otros parámetros.

  • show ip dhcp binding: Este comando es fundamental para verificar qué direcciones IP han sido asignadas a qué clientes (mediante sus direcciones MAC). Inicialmente, si ningún cliente ha solicitado una dirección, la tabla estará vacía.

  • show ip dhcp server statistics: Este comando proporciona estadísticas sobre la actividad del servidor DHCP, incluyendo el número de mensajes DHCPDISCOVER, DHCPOFFER, DHCPREQUEST y DHCPACK recibidos y enviados. Esto es útil para diagnosticar problemas de comunicación.

Captura de pantalla de la salida del comando show ip dhcp binding en un router Cisco

Tras la configuración y la solicitud de una dirección IP por parte de un cliente, la salida de estos comandos reflejará la actividad. Por ejemplo, show ip dhcp binding mostrará las asignaciones, y las estadísticas indicarán el intercambio de mensajes.

En un cliente, como un PC, el comando ipconfig /all (en Windows) o ifconfig (en Linux/macOS) permitirá verificar los parámetros TCP/IP recibidos, incluyendo la dirección IP, máscara de subred, puerta de enlace predeterminada y servidor DNS. Si la PC está conectada a un segmento de red con un pool DHCPv4 disponible, y la configuración de interfaz del router es correcta, la computadora obtendrá automáticamente una dirección IP del pool adecuado.

Retransmisión de DHCPv4: Superando las Limitaciones de Difusión

Un desafío común en redes complejas y jerárquicas es que los servidores DHCP suelen estar ubicados en centros de datos o subredes específicas, mientras que los clientes pueden encontrarse en diferentes segmentos de red. Dado que los mensajes DHCP (Discover, Request) son difusiones, y los routers por defecto no reenvían difusiones entre subredes, los clientes en subredes remotas no pueden comunicarse con el servidor DHCP.

Diagrama de red mostrando un router que no reenvía broadcast DHCP y un router configurado como agente de retransmisión DHCP

En una red jerárquica, los servidores empresariales a menudo se encuentran en una granja de servidores y pueden proporcionar servicios DHCP, DNS, TFTP y FTP. Generalmente, los clientes de red no están en la misma subred que estos servidores. Para localizar los servidores y recibir servicios, los clientes frecuentemente utilizan mensajes de difusión. Si un router no está configurado para reenviar estos mensajes de difusión, el cliente no podrá obtener una dirección IP.

Solución: Agente de Retransmisión DHCPv4 (DHCP Relay Agent)

La solución a este problema es configurar una dirección de ayuda en el router, convirtiéndolo en un agente de retransmisión DHCPv4. Esta configuración permite que el router reenvíe las difusiones de DHCPv4 al servidor DHCPv4 ubicado en otra subred. Cuando un router reenvía solicitudes de asignación o parámetros de direcciones, actúa como un agente de retransmisión DHCPv4.

Para configurar un router como agente de retransmisión DHCPv4, se utiliza el comando ip helper-address en la interfaz del router que recibe la difusión del cliente. Este comando especifica la dirección IP del servidor DHCP al que se deben reenviar las solicitudes.

R1(config-if)# ip helper-address <dirección_IP_servidor_DHCP>

Por ejemplo, si la PC1 en la subred 192.168.10.0/24 necesita una dirección IP de un servidor DHCP ubicado en 192.168.11.6, y el router R1 tiene una interfaz en ambas subredes, se configuraría en la interfaz conectada a la subred 192.168.10.0/24:

R1(config-if)# interface GigabitEthernet0/1R1(config-if)# ip address 192.168.10.1 255.255.255.0R1(config-if)# ip helper-address 192.168.11.6

Cuando el R1 está configurado como agente de retransmisión DHCPv4, acepta las solicitudes de difusión para el servicio DHCPv4 y las reenvía en forma de unidifusión a la dirección IP especificada (192.168.11.6 en el ejemplo). El comando show ip interface puede ser utilizado para verificar la configuración de la interfaz, incluyendo la dirección de ayuda configurada.

Es importante destacar que el comando ip helper-address no solo reenvía servicios DHCP/BOOTP, sino que, por defecto, reenvía otros ocho servicios UDP comunes: Tiempo (puerto 37), TACACS (puerto 49), DNS (puerto 53), cliente DHCP/BOOTP (puerto 67), servidor DHCP/BOOTP (puerto 68), TFTP (puerto 69), servicio de nombres NetBIOS (puerto 137) y servicio de datagrama NetBIOS (puerto 138).

Configuración de un Router como Cliente DHCPv4

En algunos casos, los routers Cisco, especialmente en oficinas pequeñas y remotas (SOHO) o sitios de sucursales, pueden necesitar configurarse como clientes DHCPv4. Esto es común cuando el ISP (Proveedor de Servicios de Internet) asigna la dirección IP pública del router de forma dinámica. El método específico varía según el ISP, pero en su configuración más simple, se utiliza la interfaz Ethernet conectada al módem (cable módem o DSL) para obtener una dirección IP.

Para configurar una interfaz Ethernet como cliente DHCP, se utiliza el comando ip address dhcp en modo de configuración de interfaz:

R1(config-if)# interface GigabitEthernet0/0R1(config-if)# ip address dhcp

Con esta configuración, la interfaz GigabitEthernet0/0 solicitará y recibirá su configuración de red (incluyendo la dirección IP, máscara de subred, puerta de enlace y servidores DNS) de un servidor DHCP externo, típicamente proporcionado por el ISP.

Captura de pantalla de la página de configuración WAN de un router inalámbrico doméstico mostrando la opción DHCP

En el contexto de routers inalámbricos domésticos o para pequeñas oficinas, es muy común que la conexión a Internet se configure automáticamente mediante DHCP. La página de configuración WAN de estos dispositivos suele presentar una opción como "Automatic Configuration - DHCP" o similar, lo que permite al router obtener su dirección IP pública de forma dinámica del ISP.

Consideraciones sobre DHCPv6 y Configuración sin Estado

Si bien la información proporcionada se centra en DHCPv4, es relevante mencionar que en entornos IPv6, existen mecanismos de configuración automática de direcciones. Un cliente IPv6 puede crear una dirección única global combinando información anunciada por el router (prefijo de subred de capa 3 de 64 bits) con información de su propio adaptador de red (ID de interfaz de 64 bits). El ID de interfaz se construye a partir de la dirección MAC del adaptador. La configuración automática sin estado (SLAAC - Stateless Address Autoconfiguration) proporciona la información más básica, como una dirección IPv6, el prefijo IPv6 y la dirección del router predeterminado (gateway).

En resumen, la exclusión de direcciones IP en servidores DHCP de Cisco IOS es una técnica esencial para la administración de redes, permitiendo reservar direcciones estáticas para dispositivos críticos. La comprensión del proceso de asignación DHCP, la configuración detallada de los pools y la capacidad de retransmitir mensajes DHCP a través de agentes de retransmisión son pilares para mantener una red robusta y eficiente.

tags: #excluir #ip #en #dhcp #cisco