Realizar Consultas DNS IPv6 no Linux

CompTIABeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá as habilidades essenciais para realizar e verificar consultas DNS IPv6 em um sistema Linux. Você explorará como os sistemas Linux resolvem nomes de domínio para endereços IPv6, uma função crítica para redes modernas. Esta experiência prática irá guiá-lo através do uso de utilitários de linha de comando padrão para consultar registros de endereço IPv6 e testar a conectividade de rede.

Você começará inspecionando o arquivo /etc/resolv.conf para identificar os servidores DNS configurados. Em seguida, você usará duas ferramentas poderosas, dig e nslookup, para consultar especificamente registros AAAA, que mapeiam nomes de domínio para endereços IPv6. Finalmente, você usará o comando ping6 para confirmar que seu sistema pode estabelecer uma conexão direta com um destino usando seu endereço IPv6, completando o ciclo completo de resolução e conectividade.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 97%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Inspecionar a Configuração do Servidor DNS em /etc/resolv.conf

Nesta etapa, você localizará e inspecionará a configuração do servidor DNS em seu sistema Ubuntu. Este é o passo fundamental para entender como sua máquina resolve nomes de domínio em endereços IP, o que é essencial para toda a comunicação de rede, incluindo IPv6.

O arquivo de configuração principal para resolução DNS no Linux é /etc/resolv.conf. Este arquivo lista os endereços IP dos nameservers que seu sistema consultará.

Primeiro, vamos visualizar o conteúdo deste arquivo. No seu terminal, que já está aberto e no diretório ~/project, execute o seguinte comando:

cat /etc/resolv.conf

Este comando lê o arquivo /etc/resolv.conf e exibe seu conteúdo diretamente no terminal.

Você deverá ver uma ou mais linhas começando com nameserver. Estas entradas definem os servidores DNS. Os endereços podem ser IPv4 (por exemplo, 8.8.8.8) ou IPv6 (por exemplo, 2001:4860:4860::8888). Identificar esses servidores é o primeiro passo para diagnosticar quaisquer problemas relacionados a DNS.

Exemplo de Saída:

## Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
##     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
## 127.0.0.53 is the systemd-resolved stub resolver.
## run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
options timeout:2 attempts:3 rotate single-request-reopen

No exemplo acima, o sistema está configurado para usar o stub resolver systemd-resolved em 127.0.0.53. Este é um resolvedor DNS local que encaminha as requisições para os servidores DNS reais configurados para o seu sistema. Você pode executar systemd-resolve --status para ver detalhes sobre os nameservers reais que estão sendo usados. Se o seu sistema estivesse configurado para DNS IPv6, você veria um endereço formatado em IPv6 aqui.

Ao completar esta etapa, você agora sabe como encontrar os servidores DNS nos quais seu sistema confia para a resolução de nomes. Na próxima etapa, você usará uma ferramenta de linha de comando para consultar ativamente um desses servidores para um registro de endereço IPv6.

Consultar um Registro AAAA IPv6 com dig

Nesta etapa, você usará a ferramenta de linha de comando dig para consultar um servidor DNS especificamente para um registro de endereço IPv6. Enquanto o registro A mapeia um nome de domínio para um endereço IPv4, o registro AAAA (ou registro "quad-A") mapeia um nome de domínio para um endereço IPv6.

O utilitário dig (domain information groper) é uma ferramenta poderosa e flexível para interrogar servidores DNS. Ele faz parte do pacote dnsutils, que pode não estar instalado por padrão.

Primeiro, vamos garantir que o dig esteja disponível em seu sistema. Execute os seguintes comandos para atualizar sua lista de pacotes e instalar dnsutils:

sudo apt-get update
sudo apt-get install -y dnsutils

Agora que o dig está instalado, você pode usá-lo para procurar o registro AAAA de um domínio que se sabe ser habilitado para IPv6, como ipv6.google.com.

Execute o seguinte comando no seu terminal:

dig AAAA ipv6.google.com

Este comando instrui o dig a procurar por registros do tipo AAAA para o domínio ipv6.google.com.

Vamos examinar a saída. Ela é dividida em várias seções, mas a mais importante para nós é a ANSWER SECTION (Seção de Resposta).

Exemplo de Saída:

; <<>> DiG 9.18.1-1ubuntu1.3-Ubuntu <<>> AAAA ipv6.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;ipv6.google.com.  IN AAAA

;; ANSWER SECTION:
ipv6.google.com.        10      IN      CNAME   ipv6.l.google.com.
ipv6.l.google.com.      10      IN      AAAA    2607:f8b0:4005:814::200e

;; Query time: 148 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Jul 17 10:56:59 CST 2025
;; MSG SIZE  rcvd: 93

Na ANSWER SECTION, você pode ver que ipv6.google.com primeiro resolve para um registro CNAME apontando para ipv6.l.google.com, que então resolve para um endereço IPv6 (por exemplo, 2607:f8b0:4005:814::200e). A presença de ambos os registros CNAME e AAAA confirma que ipv6.google.com possui um endereço IPv6 e seu sistema foi capaz de resolvê-lo com sucesso.

Você agora usou com sucesso o dig para realizar uma consulta DNS IPv6 específica. Na próxima etapa, você aprenderá como fazer a mesma coisa com outro utilitário comum, o nslookup.

Consultar um Registro AAAA Usando nslookup

Nesta etapa, você aprenderá a usar outro utilitário comum, o nslookup, para realizar a mesma tarefa de consultar um registro AAAA. Enquanto o dig é frequentemente preferido por administradores de sistema por sua saída detalhada, o nslookup também é amplamente disponível e útil para consultas rápidas.

A ferramenta nslookup (name server lookup) também faz parte do pacote dnsutils, que você instalou na etapa anterior, portanto, não é necessário instalar nada novo.

Para solicitar ao nslookup que encontre um tipo específico de registro, você usa a opção -query=. Novamente, procuraremos um registro AAAA para encontrar o endereço IPv6 de um domínio. Vamos usar um domínio diferente habilitado para IPv6 desta vez, como facebook.com.

No seu terminal, execute o seguinte comando:

nslookup -query=AAAA facebook.com

Este comando instrui o nslookup a solicitar especificamente o registro AAAA para facebook.com do servidor DNS padrão.

A saída do nslookup é tipicamente mais concisa que a do dig. Procure pela seção "Non-authoritative answer" (Resposta não autoritativa).

Exemplo de Saída:

Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   facebook.com
Address: 2a03:2880:f131:83:face:b00c:0:25de

A saída mostra claramente o endereço IPv6 associado ao facebook.com na seção "Non-authoritative answer". O termo "Non-authoritative" simplesmente significa que a resposta veio de um servidor DNS que não é a autoridade final para o domínio, o que é normal para consultas DNS recursivas.

Você agora usou com sucesso duas ferramentas diferentes, dig e nslookup, para resolver um nome de domínio para um endereço IPv6. Na etapa final, você testará a conectividade de rede real usando um desses domínios resolvidos.

Testar Conectividade IPv6 com ping6

Nesta etapa final, você combinará a resolução de DNS e o teste de rede para verificar a conectividade IPv6 de ponta a ponta. Após resolver com sucesso um nome de domínio para seu endereço IPv6 nas etapas anteriores, você agora precisa verificar se seu sistema pode realmente se comunicar com esse endereço pela rede.

Para fazer isso, você usará o comando ping6. Este utilitário é o equivalente IPv6 do familiar comando ping e é usado para testar a alcançabilidade da rede enviando pacotes de solicitação de eco ICMPv6 para um host de destino.

Quando você fornece ao ping6 um nome de domínio, ele executa duas ações:

  1. Primeiro, ele resolve o nome de domínio para um endereço IPv6 consultando seu registro AAAA.
  2. Em seguida, ele envia pacotes ping para o endereço IPv6 resolvido.

Vamos testar a conectividade com ipv6.google.com. Usaremos a opção -c 4 para enviar apenas 4 pacotes e depois parar; caso contrário, o ping seria executado indefinidamente.

No seu terminal, execute o seguinte comando:

ping6 -c 4 ipv6.google.com

Observe a saída. Se o seu sistema tiver uma conexão IPv6 funcional com a internet, você verá respostas bem-sucedidas.

Exemplo de Saída Bem-Sucedida:

PING ipv6.google.com(prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e)) 56 data bytes
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=1 ttl=118 time=1.23 ms
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=2 ttl=118 time=1.30 ms
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=3 ttl=118 time=1.25 ms
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=4 ttl=118 time=1.28 ms

--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.230/1.265/1.300/0.027 ms

Saída Esperada na Maioria dos Ambientes de Laboratório:

ping6: connect: Network is unreachable

Nota Importante: Na VM LabEx, você provavelmente verá "Network is unreachable" ao tentar pingar endereços IPv6. Isso ocorre porque o ambiente de laboratório pode resolver o endereço IPv6, mas não possui uma rota IPv6 para a internet pública. Esse cenário comum, conhecido como "IPv6 gap" (lacuna IPv6), demonstra a diferença crucial entre a resolução DNS bem-sucedida e a conectividade de rede real. O fato de a resolução DNS ter funcionado nas etapas anteriores, mas a conectividade falhar aqui, ilustra que seu sistema pode consultar e receber endereços IPv6 corretamente, mesmo quando não consegue estabelecer conexões IPv6 reais.

Parabéns! Você completou este laboratório. Você aprendeu como inspecionar sua configuração DNS local, usar dig e nslookup para consultar registros AAAA IPv6 e usar ping6 para testar a conectividade IPv6.

Resumo

Neste laboratório, você aprendeu as etapas fundamentais para realizar consultas DNS IPv6 em um ambiente Linux. Você começou inspecionando o arquivo /etc/resolv.conf para identificar os servidores DNS que seu sistema está configurado para usar. Em seguida, praticou o uso de duas utilidades essenciais de linha de comando, dig e nslookup, para consultar especificamente registros AAAA IPv6, resolvendo com sucesso nomes de domínio para seus endereços IPv6 correspondentes.

Finalmente, você usou o comando ping6 para testar a conectividade IPv6, o que demonstrou a distinção importante entre a resolução DNS e a conectividade de rede real. Mesmo que o ambiente de laboratório possa resolver com sucesso endereços IPv6, ele não possui roteamento IPv6 para a internet pública, resultando em erros de "Network is unreachable" (Rede inacessível). Ao concluir estas etapas, você ganhou experiência prática com as ferramentas e conceitos centrais para gerenciar e solucionar problemas de resolução de nomes IPv6 no Linux, e compreendeu a diferença entre consultas DNS bem-sucedidas e conectividade de rede real.