Diagnosticar problemas de DNS no Windows e Linux

Separe falhas DNS, de rede e HTTPS com nslookup, Resolve-DnsName, dig e resolvectl.

Diagnosticar problemas de DNS no Windows e Linux

Separe falhas DNS, de rede e HTTPS com nslookup, Resolve-DnsName, dig e resolvectl.

Rede antes do nome

Confira IP, gateway e rota padrão. Teste o gateway real e um IP externo, lembrando que ICMP pode ser bloqueado. IP acessível e nome falhando sugerem DNS, sem provar. Anote host, tipo A/AAAA, hora, rede e erro. A é IPv4, AAAA IPv6, MX email, NS delegação, CNAME alias, TXT texto e PTR consulta reversa.

Resolvedores Windows

ipconfig /all mostra adaptador ativo, DNS e sufixos; VPN e Active Directory costumam usar DNS interno e split DNS. nslookup consulta servidor diretamente, ignorando cache local, hosts e algumas regras do cliente: pode diferir do aplicativo. Resolve-DnsName tem controles específicos; -DnsOnly -NoHostsFile ignora hosts intencionalmente. Não troque DNS corporativo por público sem análise.

ipconfig /all
nslookup www.example.com
nslookup -type=AAAA www.example.com
nslookup www.example.com 1.1.1.1
Resolve-DnsName www.example.com -Type A
Resolve-DnsName www.example.com -Server 1.1.1.1 -DnsOnly -NoHostsFile

Cache e hosts

Veja ipconfig /displaydns ou Get-DnsClientCache. ipconfig /flushdns e Clear-DnsClientCache limpam apenas este PC, não registros autoritativos nem caches intermediários. Confira C:\Windows\System32\drivers\etc\hosts e VPN sem apagar entradas necessárias. Repita e anote servidor e resultado.

ipconfig /displaydns
ipconfig /flushdns
Get-DnsClientCache
Clear-DnsClientCache

Resolvedor Linux

Com systemd-resolved, resolvectl status mostra DNS por conexão e domínios roteados; resolvectl query verifica resolução do cliente. /etc/resolv.conf pode ser gerido por systemd-resolved, NetworkManager ou DHCP: corrija a configuração de origem, não o arquivo gerado.

ip address
ip route
resolvectl status
resolvectl query www.example.com
ls -l /etc/resolv.conf

Comparar com dig

dig mostra status, ANSWER, TTL e servidor. Assim como nslookup, consulta direta pode divergir da resolução do aplicativo. Compare padrão e servidor explícito; DNS público não conhece zona privada. NOERROR sem resposta pode indicar ausência do tipo pedido. +trace segue delegação, mas pode falhar onde consultas diretas são bloqueadas.

sudo apt update
sudo apt install dnsutils
dig www.example.com A
dig www.example.com AAAA
dig @1.1.1.1 www.example.com A
dig example.com NS
dig example.com SOA
dig +trace www.example.com

Erros e autoritativos

NXDOMAIN é nome inexistente na visão consultada; SERVFAIL falha de resolução, por exemplo DNSSEC; REFUSED recusa; timeout ausência de resposta. Consulte os NS reais e compare A/AAAA e serial SOA. ns1.provider.example e ns2.provider.example são apenas exemplos.

dig example.com NS
dig @ns1.provider.example example.com SOA
dig @ns1.provider.example www.example.com A
dig @ns2.provider.example www.example.com A

TTL e cache negativa

Depois de mudança, resolvedores podem manter valor antigo até expirar o TTL anterior. NXDOMAIN também pode ficar em cache. Consulte autoritativos, compare resolvedores e anote TTL e hora antes de chamar propagação. Limpeza local não esvazia caches de outros.

Porta 53 e aplicativo

DNS normalmente usa UDP 53 e também TCP 53. Test-NetConnection -Port 53 testa TCP, não UDP. Compare dig normal e +tcp; conexão TCP bem-sucedida não prova DNS do aplicativo. Se A/AAAA estão corretos, teste porta 443 e HTTPS separadamente: rota, firewall, serviço e TLS.

# PowerShell: tests TCP, not UDP
Test-NetConnection 1.1.1.1 -Port 53
Test-NetConnection www.example.com -Port 443
# Linux: compare default DNS transport and TCP
dig @1.1.1.1 example.com A
dig +tcp @1.1.1.1 example.com A
curl -I https://www.example.com

DNSSEC e conclusão

Se só validadores retornam SERVFAIL, examine a cadeia DNSSEC com delv e o relógio. Reúna resultados reproduzíveis antes de mudar DNS ou limpar cache; separe cliente, consulta direta, autoritativos e serviço final.

delv example.com A
timedatectl status

Fontes

Microsoft Resolve-DnsName: https://learn.microsoft.com/en-us/powershell/module/dnsclient/resolve-dnsname ; diagnóstico DNS: https://learn.microsoft.com/en-us/troubleshoot/azure/dns/troubleshoot-dns ; BIND DNSSEC: https://bind9.readthedocs.io/en/stable/dnssec-guide.html .

Partilhar

Qual é a sua reação?

Gosto Gosto 0
Não gosto Não gosto 0
Adoro Adoro 0
Divertido Divertido 0
Irritado Irritado 0
Triste Triste 0
Uau Uau 0