DNS IPv6: Registros AAAA, resolución dual-stack y mejores prácticas
Aprende cómo funciona DNS con IPv6, incluyendo registros AAAA, orden de resolución dual-stack, DNS64 y errores comunes de configuración.
DNS es donde el despliegue de IPv6 vive o muere. Publica un registro AAAA antes de que tu conectividad IPv6 funcione, y los usuarios esperan a través de timeouts. Omite el DNS inverso, y los servidores de correo rechazan tu tráfico. Configura mal la resolución dual-stack, y haces la red más lenta en lugar de más rápida.
Esta guía cubre cómo funciona DNS con IPv6, qué se rompe y cómo arreglarlo antes de que se convierta en un problema.
TL;DR - Resumen rápido
Puntos clave:
- Los registros AAAA son el equivalente IPv6 de los registros A (quad-A = 4 A's para direcciones de 128 bits)
- Happy Eyeballs (RFC 8305) intenta IPv6 primero pero vuelve a IPv4 dentro de 50-250ms
- DNS64 sintetiza registros AAAA desde registros A para redes solo IPv6 pero rompe DNSSEC
Ir a: Registros AAAA para conceptos básicos, Resolución Dual-Stack para rendimiento, o Errores comunes para solución de problemas.
Registros AAAA: la respuesta de IPv6 a los registros A#
Un registro AAAA (pronunciado "quad-A") mapea un hostname a una dirección IPv6. Es el equivalente IPv6 de un registro A, pero contiene una dirección de 128 bits en lugar de 32 bits.
Formato y estructura#
example.com. 3600 IN AAAA 2001:db8::1La estructura coincide con los registros A: nombre, TTL, clase, tipo y dirección. La dirección usa notación IPv6 estándar con dos puntos y dígitos hexadecimales.
Los ceros iniciales en cada grupo pueden omitirse, y los grupos de ceros consecutivos colapsan a ::. Ambos son válidos e idénticos:
example.com. IN AAAA 2001:0db8:0000:0000:0000:0000:0000:0001
example.com. IN AAAA 2001:db8::1Usa el formato comprimido. Es más fácil de leer y menos propenso a errores al escribir.
Consultar registros AAAA#
Consulta registros AAAA de la misma manera que consultas registros A, solo especifica el tipo.
Usando dig:
dig AAAA example.com
dig AAAA @2001:4860:4860::8888 example.comUsando nslookup:
nslookup -type=AAAA example.com
nslookup -type=AAAA example.com 2001:4860:4860::8888Usando host:
host -t AAAA example.comTambién puedes usar nuestra herramienta de búsqueda DNS para consultar registros A y AAAA simultáneamente y comparar resultados.
Registros AAAA vs A#
Ambos sirven el mismo propósito — traducir nombres a direcciones — pero difieren en aspectos clave:
| Característica | Registro A | Registro AAAA |
|---|---|---|
| Longitud de dirección | 32 bits | 128 bits |
| Formato de dirección | Decimal con puntos (192.0.2.1) | Hex con dos puntos (2001:db8::1) |
| Tipo de registro | 1 | 28 |
| Tamaño de consulta | Más pequeño | Más grande (afecta fragmentación UDP) |
| Comportamiento de caché | TTL independiente | TTL independiente |
Los registros A y AAAA son completamente independientes. Pueden tener diferentes TTLs, apuntar a diferentes servidores o existir sin el otro. Esta flexibilidad es útil pero crea oportunidades de mala configuración.
Prueba antes de publicar
Solo publica un registro AAAA si tu servicio es realmente alcanzable a través de IPv6. Publicar registros AAAA rotos causa retrasos de conexión cuando los clientes intentan IPv6 primero y esperan timeouts antes de volver a IPv4.
Resolución DNS dual-stack#
La mayoría de las redes funcionan en dual-stack: tanto IPv4 como IPv6 funcionan simultáneamente. Cuando un cliente busca un hostname, recibe registros A y AAAA. El sistema operativo luego decide cuál usar.
Happy Eyeballs (RFC 8305)#
Los sistemas operativos modernos implementan Happy Eyeballs, un algoritmo que intenta tanto IPv4 como IPv6 pero prefiere IPv6 cuando funciona. El algoritmo:
- Consulta DNS para registros A y AAAA
- Comienza conectándose a la dirección IPv6 primero
- Espera 50-250ms (dependiendo de la implementación)
- Si IPv6 aún no se ha conectado, inicia una conexión IPv4 en paralelo
- Usa la conexión que se complete primero
Este enfoque equilibra rendimiento con fiabilidad. IPv6 obtiene preferencia, pero IPv6 roto no detiene las conexiones por mucho tiempo.
Orden de resolución#
El orden en que los clientes consultan registros e intentan conexiones varía según el SO y la configuración.
La mayoría de sistemas Unix/Linux:
- Consultan A y AAAA simultáneamente o AAAA primero
- Prefieren direcciones IPv6 si existen
- Controlado por
/etc/gai.conf(configuración getaddrinfo)
macOS:
- Consulta ambos tipos de registros en paralelo
- Implementa Happy Eyeballs estrictamente
- Prefiere fuertemente IPv6 cuando está disponible
Windows:
- Consulta ambos tipos de registros
- Prefiere IPv6 por defecto (configurable vía registro)
- Implementa Happy Eyeballs desde Windows 8
Navegadores:
- Chrome y Firefox implementan su propio Happy Eyeballs
- No dependen únicamente del comportamiento del SO
- Pueden cachear resultados de resolución agresivamente
Cuándo IPv6 gana (o pierde)#
IPv6 típicamente gana la carrera cuando:
- La conectividad IPv6 es nativa (no tunelizada)
- El enrutamiento IPv6 es directo sin saltos extra
- El destino está bien conectado a través de IPv6
IPv6 pierde cuando:
- Está tunelizado (6to4, Teredo) con latencia agregada
- El enrutamiento toma caminos más largos que IPv4
- El servidor está mal conectado a través de IPv6
- Problemas de firewall o middlebox ralentizan las conexiones
Rendimiento IPv6 de Facebook
Facebook encontró que los usuarios en conexiones IPv6 nativas experimentaban cargas de página 10-15% más rápidas en comparación con IPv4. La ganancia de rendimiento vino de menos saltos de red, sin NAT de grado de operador y enrutamiento más directo.
Probar el comportamiento dual-stack#
Fuerza IPv4 o IPv6 para probar el comportamiento:
# Forzar IPv4
curl -4 https://example.com
# Forzar IPv6
curl -6 https://example.com
# Dejar que el SO elija
curl https://example.comCompara tiempos de respuesta. Si IPv6 es significativamente más lento, investiga problemas de enrutamiento o conectividad antes de publicar registros AAAA ampliamente.
DNS64 y NAT64#
DNS64 sintetiza registros AAAA desde registros A, permitiendo que redes solo IPv6 accedan a servicios solo IPv4. Se empareja con NAT64, que traduce paquetes entre IPv6 e IPv4.
Cómo funciona DNS64#
Cuando un cliente solo IPv6 consulta un hostname:
- El servidor DNS64 recibe la consulta
- Verifica la existencia de un registro AAAA
- Si AAAA existe, lo devuelve normalmente
- Si solo existe un registro A, sintetiza un registro AAAA usando un prefijo especial
- El cliente se conecta a la dirección IPv6 sintetizada
- El gateway NAT64 traduce la conexión a IPv4
El prefijo bien conocido: 64:ff9b::/96#
El prefijo DNS64 más común es 64:ff9b::/96, definido en RFC 6052. Los últimos 32 bits de la dirección incorporan la dirección IPv4.
Ejemplo de síntesis:
Registro A: 192.0.2.1
Prefijo: 64:ff9b::/96
Registro AAAA: 64:ff9b::192.0.2.1
o 64:ff9b::c000:201 (en hex)Algunas redes usan otros prefijos como 2001:db8::/96 o rangos personalizados. El prefijo debe configurarse de manera consistente en DNS64 y NAT64.
Cuándo necesitas DNS64/NAT64#
DNS64 es esencial para:
- Redes móviles solo IPv6 (común con T-Mobile, AT&T)
- Centros de datos solo IPv6 que acceden a servicios IPv4 heredados
- Probar comportamiento de cliente solo IPv6
No necesitas DNS64 si:
- Tu red es dual-stack
- Todos los servicios a los que accedes tienen IPv6 nativo
- Puedes exigir IPv6 en todos los servicios backend
Limitaciones y problemas#
DNS64 rompe varias cosas:
La validación DNSSEC falla – El registro AAAA sintetizado no coincide con la zona firmada. Los servidores DNS64 deben eliminar las firmas DNSSEC, reduciendo la seguridad.
Las aplicaciones que incrustan direcciones IP se rompen – Si una aplicación recibe una dirección IPv4 en JSON, XML u otros formatos de datos, DNS64 no la traducirá. La aplicación intenta conectarse a una dirección IPv4 desde una pila solo IPv6 y falla.
Los load balancers y CDNs se confunden – DNS64 hace que todos los clientes parezcan venir de la dirección del gateway NAT64. La geolocalización, limitación de velocidad e identificación de clientes se rompen.
Las referencias y redirecciones fallan – Si una respuesta DNS incluye direcciones IPv4 en secciones adicionales (como registros de pegamento NS), los clientes no pueden alcanzarlos.
Prueba sin DNS64
Diseña servicios para funcionar nativamente en IPv6. DNS64/NAT64 es una herramienta de transición, no una solución permanente. Agrega latencia, complejidad y rompe casos extremos.
DNS inverso (registros PTR)#
El DNS inverso mapea una dirección IPv6 de vuelta a un hostname. No es obligatorio para la conectividad pero es requerido para servidores de correo y útil para logging y herramientas de seguridad.
La zona ip6.arpa#
El DNS inverso IPv6 usa el dominio ip6.arpa. Cada nibble (4 bits, o un dígito hexadecimal) de la dirección se convierte en una etiqueta en el nombre de dominio, escrito en orden inverso.
Convertir direcciones a formato PTR#
Toma la dirección IPv6 completa sin comprimir, inviértela nibble por nibble y agrega ip6.arpa.
Ejemplo: 2001:db8::1
Paso 1: Expandir a forma completa:
2001:0db8:0000:0000:0000:0000:0000:0001Paso 2: Escribir todos los nibbles:
2 0 0 1 0 d b 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1Paso 3: Invertir el orden:
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 b d 0 1 0 0 2Paso 4: Separar con puntos y agregar ip6.arpa:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpaEse es el nombre del registro PTR. Apunta a tu hostname.
Consultar DNS inverso#
Usando dig con conversión automática:
dig -x 2001:db8::1Consultando el registro PTR directamente:
dig PTR 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpaUsando host:
host 2001:db8::1Delegar DNS inverso#
Las zonas DNS inversas son delegadas por tu ISP o RIR. Si tienes un /48, controlas un espacio DNS inverso /48. La mayoría de proveedores te permiten gestionarlo a través de una interfaz web o te permiten ejecutar tus propios servidores DNS para la zona inversa.
Para asignaciones más pequeñas (como un /64), algunos ISPs manejan registros PTR individuales por ti. Contáctalos con la dirección y el hostname.
DNS inverso para servidores de correo
Los servidores de correo verifican el DNS inverso para reducir el spam. Si la dirección IPv6 de tu servidor de correo no tiene un registro PTR, o si no coincide con la búsqueda directa, muchos sistemas de correo rechazarán tus mensajes o los puntuarán como spam.
Errores comunes de DNS con IPv6#
Publicar AAAA sin IPv6 funcionando#
Este es el error número uno. Habilitas IPv6 en un servidor, creas el registro AAAA y asumes que funciona. Pero si el firewall bloquea IPv6, el enrutamiento está roto o el servidor no está realmente escuchando en IPv6, los clientes esperan timeouts.
Síntoma: Cargas lentas de sitios web, especialmente en redes móviles que prefieren IPv6.
Solución: Prueba la conectividad desde múltiples redes IPv6 externas antes de publicar el registro AAAA. Usa nuestra herramienta Ping para verificar la accesibilidad.
Olvidar el DNS inverso#
El DNS directo funciona bien, pero omites el DNS inverso. Esto rompe la entrega de correo, confunde el análisis de logs y se ve poco profesional.
Síntoma: Rechazo de correo, errores de "Reverse DNS lookup failed".
Solución: Configura registros PTR para todas las direcciones de servidor. Verifica con dig -x desde múltiples ubicaciones.
Desajuste de TTL entre A y AAAA#
Tu registro A tiene un TTL de 3600 segundos, pero AAAA tiene 300. Cuando actualizas DNS, los clientes obtienen resultados inconsistentes durante horas.
Síntoma: Algunos clientes resuelven a direcciones antiguas, otros a nuevas. Difícil de solucionar.
Solución: Haz coincidir los TTLs para registros A y AAAA. Deben ser idénticos. Baja ambos antes de hacer cambios, luego súbelos nuevamente después.
Firewall bloqueando DNS sobre IPv6#
Tu servidor DNS tiene una dirección IPv6 y registro AAAA, pero el firewall bloquea UDP y TCP puerto 53 sobre IPv6. Los clientes no pueden consultarlo.
Síntoma: Las consultas DNS fallan desde clientes o redes solo IPv6.
Solución: Permite UDP y TCP puerto 53 para IPv4 e IPv6. Prueba desde un host solo IPv6. Recuerda que DNS sobre TCP es obligatorio, no opcional.
Configuración dual-stack incompleta#
Configuras registros AAAA para tu sitio web pero no para tu CDN, servidores de correo o endpoints de API. Los usuarios obtienen resultados mixtos.
Síntoma: El sitio principal funciona sobre IPv6, pero el contenido incrustado, llamadas API o correo vuelven a IPv4, perdiendo beneficios de rendimiento.
Solución: Habilita IPv6 para todos los servicios en la cadena, no solo el frontend. Prueba flujos de trabajo completos desde clientes solo IPv6.
Direcciones IPv4 hardcodeadas en configuración#
Tu DNS resuelve bien, pero los archivos de configuración de la aplicación contienen direcciones IPv4 hardcodeadas. Los servicios se rompen cuando los clientes solo IPv6 intentan conectarse.
Síntoma: La aplicación falla con errores de conexión en redes solo IPv6.
Solución: Usa hostnames, no direcciones IP, en archivos de configuración. Deja que DNS resuelva a la familia de direcciones apropiada.
Mejores prácticas#
Prueba exhaustivamente antes de publicar#
Antes de agregar registros AAAA al DNS de producción:
- Verifica que el servicio escucha en IPv6:
netstat -an | grep :80(o tu puerto) - Prueba desde una dirección IPv6 externa:
curl -6 https://[2001:db8::1]/ - Verifica que las reglas de firewall permiten tráfico IPv6
- Verifica que el enrutamiento es correcto con
traceroute6 - Prueba desde múltiples redes IPv6 (móvil, banda ancha, centro de datos)
No asumas que funciona porque el SO tiene una dirección IPv6.
Haz coincidir los TTLs para registros A y AAAA#
Establece TTLs idénticos. Esto mantiene el comportamiento de caché consistente y simplifica las actualizaciones de DNS.
example.com. 3600 IN A 192.0.2.1
example.com. 3600 IN AAAA 2001:db8::1Si necesitas cambiar direcciones, baja el TTL 24-48 horas antes del cambio, haz la actualización, luego súbelo de nuevo.
Configura el DNS inverso#
Configura registros PTR para todas las direcciones IPv6 públicamente enrutables. Es requerido para servidores de correo y útil para todo lo demás.
Trabaja con tu ISP o RIR para delegar la zona inversa. Mantén los registros PTR sincronizados con el DNS directo — deben coincidir.
Monitorea ambos protocolos#
Rastrea el volumen de consultas DNS, tiempos de respuesta y tasas de error por separado para registros A y AAAA. Monitorea la resolución sobre transporte IPv4 e IPv6.
Configura alertas para:
- Consultas AAAA fallando cuando las consultas A tienen éxito
- Diferencias de tiempo de respuesta entre IPv4 e IPv6
- Caídas repentinas en el volumen de consultas IPv6
El monitoreo separado atrapa problemas antes de que los usuarios se quejen.
Usa servidores DNS capaces de IPv6#
Tus servidores DNS deben responder consultas sobre IPv4 e IPv6. Configura ambas familias de direcciones incluso si tu red aún no es completamente dual-stack.
Prueba desde clientes solo IPv6. Un número sorprendente de servidores DNS tienen registros AAAA pero en realidad no aceptan consultas sobre IPv6.
Implementa DNSSEC cuidadosamente#
DNSSEC funciona con IPv6, pero DNS64 lo rompe. Si usas DNS64 en tu red, no puedes validar DNSSEC en registros sintetizados.
Para despliegues de producción, diseña para dual-stack nativo y evita DNS64 donde sea posible.
Artículos relacionados#
- Fundamentos de IPv6 – Entiende el direccionamiento IPv6 y cómo difiere de IPv4
- Solución de problemas IPv6 – Diagnostica y soluciona problemas comunes de conectividad IPv6
- Lista de verificación de despliegue IPv6 – Guía completa para desplegar IPv6 en producción
Prueba tu configuración DNS
Usa nuestra herramienta de búsqueda DNS para consultar registros A, AAAA y PTR. Verifica que tu configuración dual-stack es correcta antes de ponerla en vivo.
Preguntas frecuentes#
¿Necesito registros A y AAAA para servicios dual-stack?
Sí. Publica ambos tipos de registros para servicios dual-stack. Los clientes que soportan IPv6 usarán AAAA, mientras que los clientes solo IPv4 usan A. No publiques AAAA a menos que tu servicio realmente funcione sobre IPv6 — los registros AAAA rotos causan retrasos de timeout.
¿Puedo usar diferentes servidores para IPv4 e IPv6?
Sí. Los registros A y AAAA son independientes y pueden apuntar a diferentes servidores. Esto es útil para despliegue gradual de IPv6 o cuando quieres enrutar el tráfico de manera diferente por protocolo. Solo asegúrate de que ambos servidores proporcionen contenido y funcionalidad idénticos.
¿Por qué mi sitio web es lento en móvil pero rápido en WiFi?
Las redes móviles a menudo prefieren o requieren IPv6. Si tu registro AAAA existe pero tu conectividad IPv6 está rota o es lenta, los usuarios móviles esperan a través de timeouts o experimentan alta latencia. Prueba tu sitio sobre IPv6 desde múltiples operadores móviles. Elimina el registro AAAA si IPv6 no funciona correctamente.
¿Necesito DNS inverso para todo?
El DNS inverso es obligatorio para servidores de correo y fuertemente recomendado para todos los servidores públicos. No es requerido para direcciones de cliente o servidores internos, pero tenerlo ayuda con la solución de problemas, logging y análisis de seguridad.
¿Cómo pruebo si DNS64 está funcionando?
Consulta un hostname solo IPv4 desde un cliente solo IPv6. Si DNS64 está funcionando, recibirás un registro AAAA sintetizado con el prefijo configurado (usualmente 64:ff9b::/96). Usa dig AAAA ipv4only.arpa como prueba — es un dominio solo IPv4 diseñado para probar DNS64.