ping6.net

IPv6 DNS: Registros AAAA, Resolução Dual-Stack e Boas Práticas

Aprenda como o DNS funciona com IPv6, incluindo registros AAAA, ordem de resolução dual-stack, DNS64 e erros comuns de configuração.

ping6.net14 de dezembro de 202414 min read
IPv6DNSregistros AAAADNS64dual-stackresolução de nomes

O DNS é onde a implantação do IPv6 vive ou morre. Publique um registro AAAA antes que sua conectividade IPv6 funcione, e os usuários esperam por timeouts. Ignore o DNS reverso, e servidores de e-mail rejeitam seu tráfego. Configure mal a resolução dual-stack, e você torna a rede mais lenta em vez de mais rápida.

Este guia cobre como o DNS funciona com IPv6, o que quebra e como corrigir antes que se torne um problema.

TL;DR - Resumo rápido

Pontos-chave:

  • Registros AAAA são o equivalente IPv6 de registros A (quad-A = 4 A's para endereços de 128 bits)
  • Happy Eyeballs (RFC 8305) tenta IPv6 primeiro mas retorna para IPv4 dentro de 50-250ms
  • DNS64 sintetiza registros AAAA de registros A para redes apenas IPv6 mas quebra DNSSEC

Ir para: Registros AAAA para o básico, Resolução Dual-Stack para performance, ou Erros Comuns para solução de problemas.


Registros AAAA: A Resposta do IPv6 aos Registros A#

Um registro AAAA (pronunciado « quad-A ») mapeia um hostname para um endereço IPv6. É o equivalente IPv6 de um registro A, mas contém um endereço de 128 bits em vez de 32 bits.

Formato e Estrutura#

example.com.    3600    IN    AAAA    2001:db8::1

A estrutura corresponde aos registros A: nome, TTL, classe, tipo e endereço. O endereço usa notação IPv6 padrão com dois-pontos e dígitos hexadecimais.

Zeros à esquerda em cada grupo podem ser omitidos, e grupos consecutivos de zeros colapsam para ::. Ambos são válidos e idênticos:

example.com.    IN    AAAA    2001:0db8:0000:0000:0000:0000:0000:0001
example.com.    IN    AAAA    2001:db8::1

Use o formato comprimido. É mais fácil de ler e menos propenso a erros ao digitar.

Consultando Registros AAAA#

Consulte registros AAAA da mesma forma que consulta registros A, apenas especifique o tipo.

Usando dig:

dig AAAA example.com
dig AAAA @2001:4860:4860::8888 example.com

Usando nslookup:

nslookup -type=AAAA example.com
nslookup -type=AAAA example.com 2001:4860:4860::8888

Usando host:

host -t AAAA example.com

Você também pode usar nossa ferramenta de Consulta DNS para consultar registros A e AAAA simultaneamente e comparar resultados.

AAAA vs Registros A#

Ambos servem ao mesmo propósito—traduzir nomes para endereços—mas diferem de maneiras importantes:

RecursoRegistro ARegistro AAAA
Tamanho do Endereço32 bits128 bits
Formato do EndereçoDecimal com pontos (192.0.2.1)Hex com dois-pontos (2001:db8::1)
Tipo de Registro128
Tamanho da ConsultaMenorMaior (afeta fragmentação UDP)
Comportamento de CacheTTL independenteTTL independente

Registros A e AAAA são completamente independentes. Eles podem ter TTLs diferentes, apontar para servidores diferentes ou existir sem o outro. Essa flexibilidade é útil, mas cria oportunidades para configuração incorreta.

Teste Antes de Publicar

Publique um registro AAAA somente se seu serviço estiver realmente acessível via IPv6. Publicar registros AAAA quebrados causa atrasos de conexão quando os clientes tentam IPv6 primeiro e esperam por timeouts antes de fazer fallback para IPv4.

Resolução DNS Dual-Stack#

A maioria das redes executa dual-stack: IPv4 e IPv6 funcionam simultaneamente. Quando um cliente procura um hostname, ele recebe registros A e AAAA. O sistema operacional então decide qual usar.

Happy Eyeballs (RFC 8305)#

Sistemas operacionais modernos implementam Happy Eyeballs, um algoritmo que tenta IPv4 e IPv6, mas prefere IPv6 quando funciona. O algoritmo:

  1. Consulta DNS para registros A e AAAA
  2. Começa conectando ao endereço IPv6 primeiro
  3. Espera 50-250ms (dependente da implementação)
  4. Se IPv6 ainda não conectou, inicia uma conexão IPv4 em paralelo
  5. Usa qualquer conexão que complete primeiro

Essa abordagem equilibra desempenho com confiabilidade. IPv6 obtém preferência, mas IPv6 quebrado não retarda conexões por muito tempo.

Ordem de Resolução#

A ordem que os clientes consultam registros e tentam conexões varia por SO e configuração.

A maioria dos sistemas Unix/Linux:

  • Consulta A e AAAA simultaneamente ou AAAA primeiro
  • Prefere endereços IPv6 se existirem
  • Controlado por /etc/gai.conf (configuração getaddrinfo)

macOS:

  • Consulta ambos tipos de registro em paralelo
  • Implementa Happy Eyeballs estritamente
  • Prefere fortemente IPv6 quando disponível

Windows:

  • Consulta ambos tipos de registro
  • Prefere IPv6 por padrão (configurável via registro)
  • Implementa Happy Eyeballs a partir do Windows 8

Navegadores:

  • Chrome e Firefox implementam seu próprio Happy Eyeballs
  • Não confie apenas no comportamento do SO
  • Pode fazer cache de resultados de resolução agressivamente

Quando IPv6 Vence (ou Perde)#

IPv6 tipicamente vence a corrida quando:

  • Conectividade IPv6 é nativa (não tunelada)
  • Roteamento IPv6 é direto sem saltos extras
  • O destino está bem conectado via IPv6

IPv6 perde quando:

  • É tunelado (6to4, Teredo) com latência adicionada
  • Roteamento toma caminhos mais longos que IPv4
  • O servidor está mal conectado via IPv6
  • Problemas de firewall ou middlebox retardam conexões

Desempenho IPv6 do Facebook

O Facebook descobriu que usuários em conexões IPv6 nativas experimentaram carregamentos de página 10-15% mais rápidos em comparação ao IPv4. O ganho de desempenho veio de menos saltos de rede, sem NAT de nível de operadora e roteamento mais direto.

Testando Comportamento Dual-Stack#

Force IPv4 ou IPv6 para testar o comportamento:

# Força IPv4
curl -4 https://example.com
 
# Força IPv6
curl -6 https://example.com
 
# Deixa o SO escolher
curl https://example.com

Compare tempos de resposta. Se IPv6 for significativamente mais lento, investigue problemas de roteamento ou conectividade antes de publicar registros AAAA amplamente.

DNS64 e NAT64#

DNS64 sintetiza registros AAAA a partir de registros A, permitindo que redes somente IPv6 acessem serviços somente IPv4. Ele combina com NAT64, que traduz pacotes entre IPv6 e IPv4.

Como DNS64 Funciona#

Quando um cliente somente IPv6 consulta um hostname:

  1. Servidor DNS64 recebe a consulta
  2. Verifica por um registro AAAA
  3. Se AAAA existe, retorna normalmente
  4. Se apenas registro A existe, sintetiza um registro AAAA usando um prefixo especial
  5. Cliente conecta ao endereço IPv6 sintetizado
  6. Gateway NAT64 traduz a conexão para IPv4

O Prefixo Conhecido: 64:ff9b::/96#

O prefixo DNS64 mais comum é 64:ff9b::/96, definido no RFC 6052. Os últimos 32 bits do endereço incorporam o endereço IPv4.

Exemplo de síntese:

Registro A:    192.0.2.1
Prefixo:       64:ff9b::/96
Registro AAAA: 64:ff9b::192.0.2.1
               ou 64:ff9b::c000:201 (em hex)

Algumas redes usam outros prefixos como 2001:db8::/96 ou intervalos personalizados. O prefixo deve ser configurado consistentemente em DNS64 e NAT64.

Quando Você Precisa de DNS64/NAT64#

DNS64 é essencial para:

  • Redes móveis somente IPv6 (comum com T-Mobile, AT&T)
  • Datacenters somente IPv6 acessando serviços IPv4 legados
  • Testar comportamento de cliente somente IPv6

Você não precisa de DNS64 se:

  • Sua rede é dual-stack
  • Todos os serviços que você acessa têm IPv6 nativo
  • Você pode exigir IPv6 em todos os serviços backend

Limitações e Problemas#

DNS64 quebra várias coisas:

Validação DNSSEC falha - O registro AAAA sintetizado não corresponde à zona assinada. Servidores DNS64 devem remover assinaturas DNSSEC, reduzindo a segurança.

Aplicações que incorporam endereços IP quebram - Se uma aplicação recebe um endereço IPv4 em JSON, XML ou outros formatos de dados, DNS64 não vai traduzi-lo. A aplicação tenta conectar a um endereço IPv4 de uma pilha somente IPv6 e falha.

Balanceadores de carga e CDNs ficam confusos - DNS64 faz todos os clientes parecerem vir do endereço do gateway NAT64. Geolocalização, limitação de taxa e identificação de cliente quebram.

Referências e redirecionamentos falham - Se uma resposta DNS inclui endereços IPv4 em seções adicionais (como registros NS glue), clientes não podem alcançá-los.

Teste Sem DNS64

Projete serviços para funcionar nativamente em IPv6. DNS64/NAT64 é uma ferramenta de transição, não uma solução permanente. Adiciona latência, complexidade e quebra casos extremos.

DNS Reverso (Registros PTR)#

DNS reverso mapeia um endereço IPv6 de volta para um hostname. Não é obrigatório para conectividade, mas é necessário para servidores de e-mail e útil para logs e ferramentas de segurança.

A Zona ip6.arpa#

DNS reverso IPv6 usa o domínio ip6.arpa. Cada nibble (4 bits, ou um dígito hexadecimal) do endereço se torna um rótulo no nome de domínio, escrito em ordem reversa.

Convertendo Endereços para Formato PTR#

Pegue o endereço IPv6 completo, não comprimido, inverta-o nibble por nibble e anexe ip6.arpa.

Exemplo: 2001:db8::1

Passo 1: Expanda para forma completa:

2001:0db8:0000:0000:0000:0000:0000:0001

Passo 2: Escreva todos os 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 1

Passo 3: Inverta a ordem:

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

Passo 4: Separe com pontos e anexe 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.arpa

Esse é o nome do registro PTR. Ele aponta para seu hostname.

Consultando DNS Reverso#

Usando dig com conversão automática:

dig -x 2001:db8::1

Consultando o registro PTR diretamente:

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.arpa

Usando host:

host 2001:db8::1

Delegando DNS Reverso#

Zonas DNS reversas são delegadas pelo seu ISP ou RIR. Se você tem um /48, você controla /48 de espaço DNS reverso. A maioria dos provedores permite gerenciá-lo através de uma interface web ou permite executar seus próprios servidores DNS para a zona reversa.

Para alocações menores (como um /64), alguns ISPs lidam com registros PTR individuais para você. Contate-os com o endereço e hostname.

DNS Reverso para Servidores de E-mail

Servidores de e-mail verificam DNS reverso para reduzir spam. Se o endereço IPv6 do seu servidor de e-mail não tiver um registro PTR, ou se não corresponder à consulta direta, muitos sistemas de e-mail rejeitarão suas mensagens ou as pontuarão como spam.

Erros Comuns de DNS com IPv6#

Publicar AAAA Sem IPv6 Funcionando#

Este é o erro número um. Você habilita IPv6 em um servidor, cria o registro AAAA e assume que funciona. Mas se o firewall bloqueia IPv6, o roteamento está quebrado ou o servidor não está realmente escutando em IPv6, os clientes recebem timeout.

Sintoma: Carregamentos de site lentos, especialmente em redes móveis que preferem IPv6.

Correção: Teste conectividade de múltiplas redes IPv6 externas antes de publicar o registro AAAA. Use nossa ferramenta Ping para verificar acessibilidade.

Esquecer DNS Reverso#

DNS direto funciona bem, mas você ignora DNS reverso. Isso quebra entrega de e-mail, confunde análise de logs e parece pouco profissional.

Sintoma: Rejeição de e-mail, erros « Reverse DNS lookup failed ».

Correção: Configure registros PTR para todos os endereços de servidor. Verifique com dig -x de múltiplas localizações.

Incompatibilidade de TTL Entre A e AAAA#

Seu registro A tem TTL de 3600 segundos, mas AAAA tem 300. Quando você atualiza DNS, clientes obtêm resultados inconsistentes por horas.

Sintoma: Alguns clientes resolvem para endereços antigos, outros para novos. Difícil de solucionar.

Correção: Combine TTLs para registros A e AAAA. Eles devem ser idênticos. Reduza ambos antes de fazer mudanças, então eleve-os novamente depois.

Firewall Bloqueando DNS Sobre IPv6#

Seu servidor DNS tem endereço IPv6 e registro AAAA, mas o firewall bloqueia UDP e TCP porta 53 sobre IPv6. Clientes não podem consultá-lo.

Sintoma: Consultas DNS falham de clientes somente IPv6 ou redes.

Correção: Permita UDP e TCP porta 53 para IPv4 e IPv6. Teste de um host somente IPv6. Lembre-se que DNS sobre TCP é obrigatório, não opcional.

Configuração Dual-Stack Incompleta#

Você configura registros AAAA para seu site, mas não para seu CDN, servidores de e-mail ou endpoints de API. Usuários obtêm resultados mistos.

Sintoma: Site principal funciona via IPv6, mas conteúdo incorporado, chamadas de API ou e-mail retornam para IPv4, perdendo benefícios de desempenho.

Correção: Habilite IPv6 para todos os serviços na cadeia, não apenas o front end. Teste fluxos de trabalho completos de clientes somente IPv6.

Endereços IPv4 Codificados em Configuração#

Seu DNS resolve bem, mas arquivos de configuração de aplicação contêm endereços IPv4 codificados. Serviços quebram quando clientes somente IPv6 tentam conectar.

Sintoma: Aplicação falha com erros de conexão em redes somente IPv6.

Correção: Use hostnames, não endereços IP, em arquivos de configuração. Deixe o DNS resolver para a família de endereços apropriada.

Boas Práticas#

Teste Completamente Antes de Publicar#

Antes de adicionar registros AAAA ao DNS de produção:

  1. Verifique se o serviço escuta em IPv6: netstat -an | grep :80 (ou sua porta)
  2. Teste de um endereço IPv6 externo: curl -6 https://[2001:db8::1]/
  3. Verifique se regras de firewall permitem tráfego IPv6
  4. Verifique se roteamento está correto com traceroute6
  5. Teste de múltiplas redes IPv6 (móvel, banda larga, datacenter)

Não assuma que funciona porque o SO tem um endereço IPv6.

Combine TTLs para Registros A e AAAA#

Defina TTLs idênticos. Isso mantém comportamento de cache consistente e simplifica atualizações DNS.

example.com.    3600    IN    A       192.0.2.1
example.com.    3600    IN    AAAA    2001:db8::1

Se você precisa mudar endereços, reduza o TTL 24-48 horas antes da mudança, faça a atualização e então eleve-o novamente.

Configure DNS Reverso#

Configure registros PTR para todos os endereços IPv6 publicamente roteáveis. É necessário para servidores de e-mail e útil para tudo mais.

Trabalhe com seu ISP ou RIR para delegar a zona reversa. Mantenha registros PTR sincronizados com DNS direto—eles devem corresponder.

Monitore Ambos Protocolos#

Rastreie volume de consultas DNS, tempos de resposta e taxas de erro separadamente para registros A e AAAA. Monitore resolução sobre transporte IPv4 e IPv6.

Configure alertas para:

  • Consultas AAAA falhando quando consultas A têm sucesso
  • Diferenças de tempo de resposta entre IPv4 e IPv6
  • Quedas súbitas no volume de consultas IPv6

Monitoramento separado captura problemas antes que usuários reclamem.

Use Servidores DNS Capazes de IPv6#

Seus servidores DNS devem responder consultas sobre IPv4 e IPv6. Configure ambas famílias de endereços mesmo se sua rede ainda não for totalmente dual-stack.

Teste de clientes somente IPv6. Um número surpreendente de servidores DNS tem registros AAAA mas não aceitam realmente consultas sobre IPv6.

Implemente DNSSEC Cuidadosamente#

DNSSEC funciona com IPv6, mas DNS64 o quebra. Se você usa DNS64 em sua rede, não pode validar DNSSEC em registros sintetizados.

Para implantações de produção, projete para dual-stack nativo e evite DNS64 onde possível.

Artigos Relacionados#

Teste Sua Configuração DNS

Use nossa ferramenta de Consulta DNS para consultar registros A, AAAA e PTR. Verifique se sua configuração dual-stack está correta antes de torná-la ativa.

Perguntas Frequentes#

Preciso de registros A e AAAA para serviços dual-stack?

Sim. Publique ambos tipos de registro para serviços dual-stack. Clientes que suportam IPv6 usarão AAAA, enquanto clientes somente IPv4 usam A. Não publique AAAA a menos que seu serviço realmente funcione sobre IPv6—registros AAAA quebrados causam atrasos de timeout.

Posso usar servidores diferentes para IPv4 e IPv6?

Sim. Registros A e AAAA são independentes e podem apontar para servidores diferentes. Isso é útil para implantação gradual de IPv6 ou quando você quer rotear tráfego diferentemente por protocolo. Apenas garanta que ambos servidores forneçam conteúdo e funcionalidade idênticos.

Por que meu site está lento no celular mas rápido no WiFi?

Redes móveis frequentemente preferem ou exigem IPv6. Se seu registro AAAA existe mas sua conectividade IPv6 está quebrada ou lenta, usuários móveis esperam por timeouts ou experimentam alta latência. Teste seu site via IPv6 de múltiplas operadoras móveis. Remova o registro AAAA se IPv6 não funcionar adequadamente.

Preciso de DNS reverso para tudo?

DNS reverso é obrigatório para servidores de e-mail e fortemente recomendado para todos os servidores públicos. Não é necessário para endereços de cliente ou servidores internos, mas tê-lo ajuda com solução de problemas, logs e análise de segurança.

Como testo se DNS64 está funcionando?

Consulte um hostname somente IPv4 de um cliente somente IPv6. Se DNS64 está funcionando, você receberá um registro AAAA sintetizado com o prefixo configurado (geralmente 64:ff9b::/96). Use dig AAAA ipv4only.arpa como teste—é um domínio somente IPv4 projetado para teste de DNS64.