Fundamentos de IPv6: verifica ULA, RA/SLAAC, PD y DNS
Cinco términos de direcciones y mecanismos
Sección titulada «Cinco términos de direcciones y mecanismos»| Nombre | Ejemplo/función | Error común |
|---|---|---|
| link-local | fe80::/10 |
toda NIC tiene una; no es pública |
| ULA | dentro de fd00::/8 |
no es enrutable directamente en internet |
| GUA | dirección pública 2000::/3 |
requiere PD/asignación del upstream |
| RA | el router anuncia prefijo/puerta de enlace/DNS | sin RA no hay SLAAC |
| SLAAC | el cliente genera una dirección a partir del prefijo RA | no es DHCPv6 |
| DHCPv6 | el servidor asigna dirección/prefijo/DNS | distinto del DHCP de IPv4 |
| PD | el upstream delega un prefijo al router | sin PD no hay GUA en la LAN |
Estado actual
Sección titulada «Estado actual»ip -6 addr showip -6 routeuci show network.lanuci show dhcp.lanuci show network.globalslogread -e odhcpd | tail -30En este laboratorio: br-lan tenía la ULA fd2f:385b:7d0a::1/60 y la link-local; sin ruta IPv6 por defecto ni GUA.
EsperadoSabes si tienes solo link-local, ULA o GUA.
LAN: ULA + RA/SLAAC
Sección titulada «LAN: ULA + RA/SLAAC»uci show network.globals.ula_prefixuci show network.lan.ip6assignuci show dhcp.lan.rauci show dhcp.lan.ra_slaacuci show dhcp.lan.dhcpv6ps | grep [o]dhcpdEn este laboratorio:
network.globals.ula_prefix='fd2f:385b:7d0a::/48'network.lan.ip6assign='60'dhcp.lan.ra='server'dhcp.lan.ra_slaac='1'dhcp.lan.dhcpv6='server'ip6assign='60' toma un /60 para la LAN del /48 de la ULA; los clientes suelen recibir un /64.
EsperadoLa LAN tiene un prefijo ULA y odhcpd envía RA.
Ejemplo en Linux (accept_ra=2 solo en este netns; los clientes normales suelen mantener los valores por defecto):
sysctl -w net.ipv6.conf.eth0.accept_ra=2ip -6 addr show eth0ip -6 routeping -6 -c 2 <router-ULA>El cliente netns de este laboratorio obtuvo:
fd2f:385b:7d0a:0:5088:71ff:fed4:32d2/64 scope global dynamicfe80::5088:71ff:fed4:32d2/64 scope linke hizo ping a fd2f:385b:7d0a::1. El cliente solo tenía fd2f:385b:7d0a::/64, sin ruta IPv6 por defecto (sin upstream).
EsperadoEl cliente obtiene una ULA y puede hacer ping al IPv6 del router.
WAN: GUA y PD
Sección titulada «WAN: GUA y PD»uci show network.wan6 2>/dev/nullubus call network.interface.wan6 status 2>/dev/nullip -6 routeip -6 addr show eth1logread | grep -Ei 'odhcp6c|dhcpv6|pd' | tail -30Router principal típico:
uci set network.wan6=interfaceuci set network.wan6.device='eth1'uci set network.wan6.proto='dhcpv6'uci commit network/etc/init.d/network reload- El upstream debe admitir IPv6/PD; algunos ONT/ISP dan solo un
/64o nada; - Sin PD, no inventes un «prefijo público» en la LAN;
- Este laboratorio no tenía IPv6 upstream, así que no se verificaron GUA/PD; solo ULA/RA/SLAAC.
EsperadoUna GUA y una ruta por defecto, o un «sin IPv6» claro del upstream.
DNS y cortafuegos
Sección titulada «DNS y cortafuegos»nslookup -type=AAAA openwrt.org 127.0.0.1nslookup -type=AAAA openwrt.org <router-ULA>cat /tmp/resolv.conf.d/resolv.conf.auto- AAAA puede resolverse aunque el DNS use IPv4;
- el DNS del cliente puede venir de RA/DHCPv6 o de configuración manual;
- No cambies todo el DNS a IPv6 para que «IPv6 funcione»; mantén el respaldo IPv4/IPv6.
Cortafuegos:
uci show firewallnft list ruleset 2>/dev/null | head -80- Permite ICMPv6/ND/RA (de lo contrario IPv6 se rompe);
- Permite el reenvío IPv6 LAN→WAN;
- No desactives el cortafuegos IPv6 «para probar la conectividad»; eso expone la LAN.
EsperadoSabes si es «no hay AAAA» o «el DNS no usó IPv6».
Fallos comunes
Sección titulada «Fallos comunes»Solo direcciones fe80
Sección titulada «Solo direcciones fe80»- la LAN no tiene prefijo ULA/
ip6assign; - odhcpd no está en ejecución / RA bloqueado;
- el cliente tiene
accept_ra=0; - el switch/AP bloquea multicast/ICMPv6.
ULA pero sin GUA
Sección titulada «ULA pero sin GUA»- el upstream no tiene IPv6/PD;
wan6no está configurado / no se recibió el prefijo;- el ISP da solo un
/64, que no se puede dividir para la LAN; - los escenarios de relay/ND proxy son distintos; no los fuerces.
Hay dirección pero no hay internet
Sección titulada «Hay dirección pero no hay internet»- no hay ruta IPv6 por defecto;
- reenvío del cortafuegos/ICMPv6;
- el DNS solo en IPv4;
- ruta/prefijo upstream no válidos.
IPv4 se vuelve lento o se rompe al activar IPv6
Sección titulada «IPv4 se vuelve lento o se rompe al activar IPv6»- preferencia de DNS/respaldo de doble pila;
- direcciones de privacidad del cliente/parámetros RA;
- Mantén IPv4 funcionando; añade IPv6 paso a paso.
Prueba de laboratorio E2 (2026-10-20)
Sección titulada «Prueba de laboratorio E2 (2026-10-20)»- Entorno: VM x86 200 con OpenWrt 25.12.6; LAN
192.168.1.2/24+ ULAfd2f:385b:7d0a::1/60. - Prefijo ULA
fd2f:385b:7d0a::/48;ip6assign=60;ra=server,ra_slaac=1,dhcpv6=server; odhcpd en ejecución. - Cliente: SLAAC obtuvo
fd2f:385b:7d0a:0:5088:71ff:fed4:32d2/64; hizo ping a la ULA del router. - Sin IPv6/GUA/PD upstream; WAN6, ISP real, cliente DHCPv6 y cortafuegos/NAT IPv6 sin probar.
- Receta:
tests/recipes/ipv6-25.12.md.
Fuentes y revisión
Sección titulada «Fuentes y revisión»- Es un E2 parcial: se probaron ULA/RA/SLAAC de la LAN; no se probaron GUA/PD de WAN ni un ISP real.
- Sin revisor independiente; las conclusiones se limitan a este entorno de VM/netns.
- No conviertas «la LAN tiene una ULA» en «el internet IPv6 funciona»; la ULA es solo interna.
Fuentes
Notas independientes sobre OpenWrt. Cada página indica el firmware, el dispositivo, el gestor de paquetes y la vía de retorno.
Iconos: Solar by 480 Design, CC BY 4.0