Verificação de DNS: comandos nslookup
, dig
1. Introdução ao DNS
Imagina o seguinte: você quer acessar seu site favorito — por exemplo, google.com. Mas seu navegador não entende a palavra "google", ele precisa de endereços IP (tipo 142.250.74.206). A conversão do nome do domínio para um endereço IP é feita com a ajuda do DNS (Domain Name System). Se esse processo falhar, você verá uma mensagem do navegador: "Não foi possível localizar o servidor". Você, como futuro mestre de redes Linux, tem que saber como diagnosticar e resolver problemas relacionados ao DNS.
DNS é como uma lista telefônica da internet. Em vez de memorizar endereços IP complexos, podemos usar nomes mais fáceis que o sistema DNS converte. Aqui estão alguns conceitos principais:
Registros DNS:
- Registro A (Address Record): vincula um nome de domínio a um endereço IPv4.
- Registro AAAA: vincula um nome de domínio a um endereço IPv6.
- Registro CNAME (Canonical Name): aponta para um alias de domínio.
- Registro MX (Mail Exchange): indica servidores de processamento de e-mails.
Servidores DNS:
- O usuário comum geralmente usa os servidores DNS do provedor.
- Alternativas: servidores DNS públicos como Google (8.8.8.8), Cloudflare (1.1.1.1).
Resolução de nomes:
- Quando você digita um nome de domínio no navegador, ele envia uma solicitação para o servidor DNS para obter o endereço IP.
Com esse conhecimento na mão, você está pronto para explorar a mágica do DNS na prática usando os comandos nslookup
e dig
.
2. Comando nslookup
nslookup
— é uma ferramenta que permite checar como DNS está funcionando. Está disponível na maioria das distribuições Linux e em outros sistemas operacionais.
Sintaxe principal:
nslookup [opções] [domínio ou endereço IP]
Exemplo simples:
Vamos verificar o endereço IP do site google.com:
nslookup google.com
Saída:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 142.250.74.206
Notas sobre a saída:
Server
: Servidor DNS que processou a requisição.Non-authoritative answer
: isso significa que a informação foi obtida de um cache de outro servidor, e não diretamente do servidor DNS raiz.
Testando um servidor DNS específico
Se quiser usar um servidor DNS específico, você pode configurá-lo ao executar o comando:
nslookup google.com 8.8.8.8
Aqui especificamos explicitamente o servidor DNS do Google (8.8.8.8).
Prática: Encontrar o IP para um site de aprendizado
Tente executar o comando:
nslookup linux.org
Veja os resultados — estes são os endereços IP associados ao servidor do site.
3. Comando dig
dig
(Domain Information Groper) — é uma ferramenta mais avançada para trabalhar com DNS. Ela fornece informações detalhadas sobre consultas e respostas de DNS.
Sintaxe básica:
dig [domínio] [opções]
Exemplo de consulta:
dig google.com
Saída (principais pontos):
;; Question section:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 142.250.74.206
;; Query time: 35 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 19 10:00:00 UTC 2023
;; MSG SIZE rcvd: 68
Seções da saída:
ANSWER SECTION
: Endereços IP associados ao domínio.Query time
: tempo de processamento da consulta.SERVER
: Servidor DNS que processou a consulta.
4. Registros DNS principais e como verificá-los
Registro A (IPv4)
dig linux.org A
O resultado vai mostrar os endereços IPv4 para o domínio.
Registro AAAA (IPv6)
dig linux.org AAAA
A saída vai conter os endereços IPv6. Útil se você está trabalhando com redes modernas.
Registro MX (servidores de e-mail)
dig linux.org MX
Usado para verificar quais servidores gerenciam a correspondência de e-mail para o domínio.
5. Prática avançada: dig
vs nslookup
Agora você pode comparar os resultados dos dois comandos:
Execute:
nslookup linux.org
Depois:
dig linux.org
Note que o dig
fornece mais detalhes. Por exemplo, você vê o tempo de execução da consulta, além das informações sobre o servidor que respondeu à consulta.
6. Testando o servidor DNS do Google
Objetivo:
Usando
nslookup
, verifica se o servidor DNS público do Google está funcionando:nslookup github.com 8.8.8.8
Agora faça o mesmo usando
dig
:dig @8.8.8.8 github.com
Verifique se o site possui endereços IPv6:
dig github.com AAAA
7. Erros típicos e características
Trabalhar com DNS quase sempre esbarra nos seguintes problemas:
- Configurações erradas do servidor DNS: Se o seu servidor DNS não estiver funcionando ou estiver configurado incorretamente, pode ser que você não receba uma resposta. Verifique a disponibilidade do servidor, especificando seu IP manualmente ao usar
nslookup
oudig
. DNS em cache: Às vezes, alterações no DNS podem levar algum tempo devido ao cache. Por exemplo, você pode ver informações desatualizadas se o registro DNS foi alterado recentemente.
Servidor DNS indisponível: Se você vir um erro como
connection timed out; no servers could be reached
, isso pode significar que o servidor está indisponível ou bloqueado.Comandos alternativos: O
nslookup
nem sempre está disponível em instalações mínimas do Linux, enquanto odig
geralmente faz parte do conjunto padrão de ferramentas.
Aplicação prática: por que isso é importante?
- Diagnóstico de problemas com DNS. Você vai conseguir entender rapidinho por que o navegador "não acha" o site.
- Configuração de servidores. Quando você configura um servidor na nuvem, precisa verificar se os registros DNS estão configurados corretamente.
- Segurança na internet. Saber trabalhar com registros DNS ajuda a analisar sites de phishing.
- Em entrevistas de emprego. Saber os comandos
dig
enslookup
é uma daquelas perguntas padrão pra quem trabalha com Linux/DevOps.
Agora você está pronto com tudo que precisa para entender e diagnosticar DNS de forma mais profunda. Abre aí o terminal, experimenta os comandos, e nenhum "erro de DNS" vai te pegar de surpresa.
GO TO FULL VERSION