0% del curso completado
DHCPv4 a fondo: DORA, cliente, servidor y relay en IOS (1.7)
📋 En esta lección
DHCP es el servicio que hace que "conectar y funcionar" funcione — y su ausencia es la avería APIPA que ya sabes diagnosticar. Aquí cierras el círculo: el intercambio DORA mensaje a mensaje, el servidor DHCP en IOS con pools y exclusiones, el relay (
ip helper-address) que salva la frontera de los broadcasts, y el router como cliente DHCP en la WAN.
Qué reparte DHCP
DHCP (Dynamic Host Configuration Protocol) entrega a cada cliente su configuración IP completa en régimen de concesión (lease) temporal: dirección + máscara, gateway, DNS, dominio y, si procede, opciones extra (NTP, TFTP para teléfonos…). Sin DHCP, cada alta sería manual — y cada error, una IP duplicada (lección 4.6).
Transporta sobre UDP: servidor 67, cliente 68 (pareja de puertos que el examen pregunta — lección 1.6).
DORA: los cuatro mensajes
El cliente recién conectado no tiene IP ni sabe dónde está el servidor. La secuencia completa:
| # | Mensaje | Dirección | Contenido |
|---|---|---|---|
| 1 | Discover | Broadcast (cliente 0.0.0.0 → 255.255.255.255) | "¿Algún servidor DHCP por aquí?" |
| 2 | Offer | Del servidor al cliente | "Te ofrezco 10.1.10.57, máscara, gateway, DNS…" |
| 3 | Request | Broadcast otra vez | "Acepto la oferta de ESE servidor" |
| 4 | Ack | Del servidor | "Tuya por 8 horas" — concesión formalizada |
Dos matices con miga:
- El Request es broadcast a propósito: si varios servidores ofrecieron, todos deben enterarse de cuál fue elegido — los no elegidos liberan su oferta.
- Renovación: el cliente no espera a caducar; a la mitad del lease (T1) pide renovar directamente al servidor (unicast Request → Ack). Solo si el servidor no contesta escala a broadcast, y solo si el lease expira del todo vuelve a empezar con Discover (y mientras tanto, APIPA — lección 4.2).
El servidor DHCP en IOS
Cualquier router/switch L3 Cisco puede ser el servidor — habitual en sedes pequeñas (en las grandes suele serlo un servidor corporativo):
! 1. Excluir lo que NO se reparte (estáticos: gateway, servidores, impresoras):
R1(config)# ip dhcp excluded-address 10.1.10.1 10.1.10.19
! 2. Definir el pool:
R1(config)# ip dhcp pool VLAN10
R1(dhcp-config)# network 10.1.10.0 255.255.255.0
R1(dhcp-config)# default-router 10.1.10.1
R1(dhcp-config)# dns-server 10.1.30.10 8.8.8.8
R1(dhcp-config)# domain-name subnetacademy.local
R1(dhcp-config)# lease 0 8 0 ← días horas minutos
Detalles operativos:
- Las exclusiones van fuera del pool (comando global) y antes de que empiecen a repartirse — la disciplina que evita el clásico "estática dentro del pool" de la lección 4.6.
- El pool sirve a la subred de su
network; el router sabe por qué interfaz porque la interfaz con IP en esa subred es la puerta del pool. - Reservas por MAC (siempre-la-misma-IP para una impresora): en IOS se crean como pools de host individuales (
host+client-identifier) — más habitual y cómodo en servidores DHCP corporativos; consérvalo como concepto.
Verificación del servidor
R1# show ip dhcp binding ← concesiones activas: IP ↔ MAC ↔ caducidad
Bindings from all pools not associated with VRF:
IP address Client-ID/HW addr Lease expiration Type
10.1.10.57 0100.1a2b.3c4d.5e Sep 18 2026 10:22 PM Automatic
R1# show ip dhcp pool ← tamaño, repartidas, ¿se agota?
R1# show ip dhcp conflict ← IPs detectadas en conflicto (ping antes de ofrecer)
R1# clear ip dhcp binding * ← liberar concesiones (lab)
show ip dhcp binding responde el 90% de las preguntas de soporte ("¿qué IP tiene la MAC tal?"); show ip dhcp pool delata el pool agotado (otra causa de APIPA masiva); conflict lista IPs que el servidor descubrió ocupadas al hacer ping previo a ofrecer — huellas de estáticas furtivas.
El relay: ip helper-address
El problema estructural: el Discover es broadcast — y los routers no reenvían broadcasts (lección 2.3). Con el servidor DHCP centralizado en la VLAN de servidores, los Discover de las demás VLANs nunca le llegan.
El relay agent lo resuelve en la puerta de cada subred: el router/SVI que recibe el broadcast lo convierte en unicast hacia el servidor, anotando en el campo giaddr la IP de la interfaz por la que llegó — así el servidor sabe de qué subred elegir el pool:
! En CADA interfaz/SVI de cliente (no en la del servidor):
SwitchL3(config)# interface vlan 10
SwitchL3(config-if)# ip helper-address 10.1.30.5
Con esto, un único servidor sirve a toda la red. Las averías con nombre: helper ausente en una VLAN nueva ("los de la VLAN 40 no cogen IP" — APIPA en toda la VLAN, lección 4.6), helper apuntando a la IP vieja del servidor tras una migración, o pool del servidor sin definir para esa subred (el relay funciona, el servidor no tiene qué ofrecer).
📝 📝 helper-address reenvía más que DHCP
ip helper-addressreenvía por defecto varios broadcasts UDP útiles (DHCP 67, DNS 53, TFTP 69, NTP…). Para DHCP es su uso universal; solo recuerda que existe ese abanico si un día ves llegar al servidor tráfico UDP inesperado desde los relays.
El router como cliente DHCP
En la WAN doméstica/pyme, el ISP entrega la IP por DHCP — y el cliente es tu router:
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address dhcp
R1# show ip interface brief ← Method: DHCP, y la IP recibida
R1# show dhcp lease ← detalles de la concesión del ISP
Con ip address dhcp, el router puede además recibir e instalar su ruta por defecto desde el ISP. Las tres caras del protocolo — cliente, servidor y relay — pueden convivir en la misma caja.
Relación con otros conceptos
- APIPA como síntoma de DHCP ausente: lecciones 4.2/4.6 — esta lección explica todas sus causas de fondo (servidor, pool agotado, relay, VLAN).
- El broadcast del Discover y su no-cruce de routers: lecciones 2.3 y 5.1 — el helper existe por la arquitectura de dominios de broadcast.
- DHCPv6 y sus modos (con el RA repartiendo el gateway): lección 6.3 — contrasta con DHCPv4, que sí entrega gateway.
- DHCP snooping — la defensa contra servidores DHCP piratas — llega en la lección 10.6.
Resumen
DHCP concede configuración completa (IP/máscara, gateway, DNS, dominio; UDP 67/68) por leases renovables: DORA — Discover broadcast, Offer, Request broadcast (para despedir a los no elegidos), Ack; renovación unicast a mitad de lease, APIPA si todo falla. Servidor IOS: ip dhcp excluded-address (los estáticos, fuera del pool y del reparto) + ip dhcp pool (network, default-router, dns-server, lease). El relay (ip helper-address <servidor> en cada interfaz de cliente) convierte el Discover en unicast con giaddr para centralizar el servicio — su ausencia es la "APIPA de toda una VLAN". Verificación: show ip dhcp binding / pool / conflict. Y el router también sabe ser cliente: ip address dhcp en la WAN.