Troubleshooting DNS: nslookup, dig, DoH
· 7 min de leitura
Em resumo: Os problemas DNS estão entre as causas mais frequentes e difíceis de diagnosticar de quedas - porque "o DNS funciona para mim" não significa que funciona para os teus clientes. Aqui está um resumo de ferramentas e procedimentos práticos.
Em resumo: Os problemas DNS estão entre as causas mais frequentes e difíceis de diagnosticar de quedas - porque "o DNS funciona para mim" não significa que funciona para os teus clientes. Aqui está um resumo de ferramentas e procedimentos práticos.
Problemas DNS mais comuns
- Registo do domínio expirado - todo o DNS deixa de funcionar.
- Registo A/AAAA incorreto - após migração do servidor esqueceram de atualizar.
- CNAME / MX em falta - o email não funciona, enquanto o site sim.
- TTL não preparado para mudanças rápidas - caches dos providers ainda servem dados antigos.
- Erro DNSSEC - os validadores rejeitam registos não assinados ou mal assinados.
- Falha Geo-DNS - o resolver de uma região específica recebe resposta errada.
nslookup: o comando mais simples
Disponível em todos os OS sem instalação. Usa o servidor DNS por defeito do sistema, mas pode ser explicitamente especificado como segundo argumento.
$ nslookup epulz.io
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: epulz.io
Address: 87.197.115.180
# Usar explicitamente Cloudflare DNS
$ nslookup epulz.io 1.1.1.1
# Tipo específico de registo
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1
dig: consulta DNS detalhada para Unix
O dig (Domain Information Groper) é significativamente mais detalhado e flexível. Parte do pacote bind-utils ou dnsutils.
$ dig epulz.io
;; QUESTION SECTION:
;epulz.io. IN A
;; ANSWER SECTION:
epulz.io. 300 IN A 87.197.115.180
;; Query time: 12 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: ...
Campos chave:
TTL(300) = segundos em que o resolver pode cachear a resposta.ANSWER SECTION= o resultado.SERVER= qual resolver DNS respondeu.Query time= duração - útil ao depurar DNS lento.
Comandos práticos
# Resposta breve (apenas IP)
$ dig +short epulz.io
87.197.115.180
# Todos os registos
$ dig epulz.io ANY
# Trace de toda a hierarquia DNS (dos root nameservers)
$ dig +trace epulz.io
# Reverse lookup
$ dig -x 87.197.115.180
# Resolver específico
$ dig @8.8.8.8 epulz.io
$ dig @1.1.1.1 epulz.io
$ dig @9.9.9.9 epulz.io
# Validação DNSSEC
$ dig +dnssec epulz.io
DNS-over-HTTPS (DoH): quando não tens UDP/53
Nalgumas redes (firewalls corporativos, dados móveis com bloqueio) a porta DNS tradicional 53 está bloqueada. DoH empacota consultas DNS em pedidos HTTPS - passam em todo o lado onde 443 funciona.
# Endpoint DoH da Cloudflare
$ curl -s "https://cloudflare-dns.com/dns-query?name=epulz.io&type=A" \
-H "Accept: application/dns-json" | jq
# Google DoH
$ curl -s "https://dns.google/resolve?name=epulz.io&type=MX" | jq
Um cliente DoH online com bonita UI também temos em - sem instalação.
Procedimento para "o domínio não funciona"
- Verifica o registo.
whois yourdomain.comou via o registrador. Se expirou, nada mais pode ser reparado. - Verifica os registos NS.
dig NS yourdomain.com @8.8.8.8. São devolvidos os nameservers responsáveis pelo domínio? Coincidem com os do painel do registrador? - Verifica o registo A.
dig yourdomain.com @8.8.8.8. Devolve o IP correto? - Testa de rede externa (dados móveis, VPN, ferramenta online). Tu próprio podes ter dados antigos em cache.
- Verifica o TTL. Se acabaste de mudar um registo, espera pelo menos o TTL original (por defeito 1-24 horas).
- Verifica DNSSEC. Se o usas, a cadeia de assinaturas pode estar partida.
dig +dnssec yourdomain.commostra a flagadem caso de sucesso.
Propagação DNS: quanto tempo demora?
"Propagação DNS" é um termo ligeiramente enganador. O DNS não se propaga em direção a ti - os teus resolvers baixam a resposta e cacham-na conforme o TTL. Só após expiração do TTL tentam uma nova consulta.
Consequências práticas:
- Planeias uma migração? Baixa o TTL para 60-300 segundos pelo menos 48 horas antes.
- O IP antigo permanecerá válido para alguns clientes muito após a mudança. Não desligues o servidor antigo imediatamente.
- Os cloud providers (Cloudflare, AWS Route 53) têm TTL rápido e cache invalidation, mas o cliente final ainda tem de esperar o TTL do seu próprio resolver.
Conclusão
O DNS é a cola de infraestrutura que todos tomam como garantida - até deixar de funcionar. Monitorização regular de registos DNS (A, NS, MX, o seu TTL e validação DNSSEC) revela o problema antes de um cliente reportar por telefone.
Monitorização DNS e expiração WHOIS
O ePulz.io segue registos A/AAAA/MX/NS e a expiração do registo do domínio. 7 dias grátis.
Experimente o ePulz.io grátis - 7 dias sem cartão de crédito.
Criar conta