0% del curso completado
SLAAC y DHCPv6: autoconfiguración (1.4 parcial)
📋 En esta lección
IPv6 nació para autoconfigurarse: un host recién conectado se fabrica su propia dirección sin servidor DHCP, escuchando los anuncios del router. Aquí aprendes SLAAC y los mensajes RA/RS que lo hacen posible, el papel de NDP (el sustituto de ARP), las variantes con DHCPv6 stateless y stateful, y las banderas del RA que deciden todo el comportamiento.
NDP: la fontanería previa
Antes de la autoconfiguración, conoce al protagonista de fondo: NDP (Neighbor Discovery Protocol), la navaja suiza de IPv6 construida sobre ICMPv6. Sus mensajes:
| Mensaje | Papel |
|---|---|
| RS — Router Solicitation | Host pregunta: "¿hay routers aquí?" (a ff02::2) |
| RA — Router Advertisement | Router anuncia: prefijo, gateway, banderas (a ff02::1, periódico o en respuesta a RS) |
| NS — Neighbor Solicitation | "¿Quién tiene esta IPv6? Dime tu MAC" — el ARP Request de IPv6 |
| NA — Neighbor Advertisement | La respuesta con la MAC — el ARP Reply |
NS/NA: el ARP quirúrgico
ARP en IPv4 preguntaba a todos (broadcast). NDP pregunta al grupo multicast solicited-node ff02::1:ffXX:XXXX, formado con los últimos 24 bits de la dirección buscada: solo los nodos cuya dirección termina igual escuchan ese grupo — típicamente, exactamente uno. Donde ARP molestaba a toda la LAN, NS molesta a un dispositivo. La caché resultante (show ipv6 neighbors en IOS, la "tabla ARP de IPv6") funciona como la que ya conoces.
NDP también hace DAD (Duplicate Address Detection): antes de usar cualquier dirección, el host manda un NS preguntando por su propia dirección tentativa. Si alguien responde, está duplicada y no se usa — la detección de duplicados que IPv4 hacía tarde y mal, de serie.
SLAAC: la autoconfiguración sin servidor
SLAAC (Stateless Address Autoconfiguration) — el flujo completo de un host que se conecta:
1. El host genera su link-local (fe80::…) y la verifica con DAD
2. Envía RS a ff02::2: "¿routers?"
3. El router responde RA: "prefijo 2001:db8:acad:10::/64, yo soy el gateway"
4. El host construye su GUA: prefijo (64) + interface ID (64, aleatorio o EUI-64)
5. DAD sobre la nueva dirección → lista para usar
6. Gateway: la LINK-LOCAL del router (origen del RA) — no su GUA
Sin servidor, sin concesiones, sin estado en ningún sitio: stateless. El router no sabe qué direcciones existen — solo anuncia el prefijo. Y fíjate en el paso 6: el gateway que instala el host es fe80::… — por eso la lección 6.1 insistía en que los protocolos viven en link-local.
En IOS, SLAAC funciona solo: configurar una GUA en la interfaz activa los RAs automáticamente (ipv6 unicast-routing mediante — lección 6.4).
El problema de SLAAC: ¿y el DNS?
SLAAC clásico anuncia prefijo y gateway… pero un host sin DNS no navega (lección 4.5). Tres soluciones, y aquí entran las banderas del RA:
Las banderas del RA
El Router Advertisement lleva bits que le dicen al host cómo configurarse:
| Bandera | Nombre | Significado para el host |
|---|---|---|
| A | Autonomous | "Constrúyete la dirección con SLAAC usando este prefijo" |
| O | Other config | "Tu dirección por SLAAC, pero pide lo demás (DNS…) a DHCPv6" |
| M | Managed | "Pide la dirección (y todo) a un servidor DHCPv6" |
Y la opción RDNSS (RFC 8106): el RA moderno puede llevar el servidor DNS dentro, sin DHCPv6 en absoluto.
Los tres modos resultantes
1. SLAAC puro (A=1, con RDNSS): el RA lo trae todo — prefijo, gateway, DNS. Cero servidores. El modo de las redes domésticas modernas y el más simple.
2. SLAAC + DHCPv6 stateless (A=1, O=1): dirección por SLAAC; el host pregunta a DHCPv6 solo por las opciones (DNS, dominio). El servidor no registra nada — stateless, sin estado de concesiones.
3. DHCPv6 stateful (M=1, A=0): como el DHCP de IPv4 — el servidor asigna la dirección, la registra, y la organización tiene el control y el rastro de quién tiene qué. El modo corporativo cuando auditoría e inventario mandan. Peculiaridad: DHCPv6 no entrega el gateway — eso sigue siendo trabajo del RA, siempre. En IPv6, el router se anuncia a sí mismo; el DHCP nunca lo suplanta.
⚠️ ⚠️ Android y DHCPv6
Dato de despliegue real: Android no implementa DHCPv6 — solo SLAAC (con RDNSS). Una red configurada en modo stateful puro deja a los móviles Android sin IPv6. Las redes con BYOD anuncian SLAAC+RDNSS aunque además ofrezcan DHCPv6. Este tipo de matiz es lo que diferencia un despliegue IPv6 que funciona de uno que "debería funcionar".
Configurar las banderas en IOS
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 nd other-config-flag ← enciende O (stateless DHCPv6)
R1(config-if)# ipv6 nd managed-config-flag ← enciende M (stateful)
R1(config-if)# ipv6 nd prefix 2001:db8:acad:10::/64 no-autoconfig ← apaga A
Y el servidor DHCPv6 en el propio IOS (para labs y redes pequeñas):
R1(config)# ipv6 dhcp pool LAN10
R1(config-dhcpv6)# dns-server 2001:4860:4860::8888
R1(config-dhcpv6)# domain-name subnetacademy.local
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 dhcp server LAN10
(Ese pool sin address prefix es stateless — solo opciones. Añadiéndole address prefix 2001:db8:acad:10::/64 pasaría a repartir direcciones: stateful.)
Verificación
R1# show ipv6 interface GigabitEthernet0/0
IPv6 is enabled, link-local address is FE80::1
Global unicast address(es):
2001:DB8:ACAD:10::1, subnet is 2001:DB8:ACAD:10::/64
Joined group address(es):
FF02::1 ← todos los nodos
FF02::2 ← todos los routers (anuncia RAs)
FF02::1:FF00:1 ← su solicited-node
ND advertised default router preference is Medium
R1# show ipv6 neighbors ← la "tabla ARP" de IPv6 (estados REACH/STALE)
R1# show ipv6 dhcp pool ← estado del pool DHCPv6
En un host Windows: ipconfig mostrará la link-local, la GUA de SLAAC (y las temporales de privacy extensions — varias direcciones por interfaz es lo normal en IPv6, no un error).
Relación con otros conceptos
- Los grupos multicast (ff02::1, ff02::2, solicited-node) son los de la lección 6.1; el interface ID que SLAAC construye, el de la 6.2.
- El contraste con DHCPv4 y su DORA es directo — lección 8.1 (y el relay
ipv6 dhcp relay destinationexiste igual que el helper-address de IPv4). - Que el gateway sea siempre la link-local del RA explica las rutas estáticas IPv6 con next-hop link-local — lección 7.2.
- El troubleshooting de "tengo link-local pero no GUA" (¿llegan los RAs?) es el corazón de la lección 6.5.
Resumen
NDP (sobre ICMPv6) sustituye y mejora a ARP: NS/NA resuelven MACs vía multicast solicited-node (pregunta quirúrgica, no broadcast), DAD detecta duplicados antes de usar cualquier dirección, y RS/RA llevan la autoconfiguración. SLAAC: el host toma el prefijo /64 del RA, añade su interface ID, verifica con DAD y usa como gateway la link-local del router. Las banderas del RA deciden el modo: A (SLAAC), O (dirección por SLAAC + DNS por DHCPv6 stateless), M (todo por DHCPv6 stateful — que registra concesiones pero nunca entrega el gateway), más RDNSS para DNS en el propio RA. Varias direcciones por interfaz es lo normal; Android no habla DHCPv6 — planifica con SLAAC+RDNSS.