Diagnosticar problemas DNS en Windows y Linux

Distingue errores DNS, de red y HTTPS con nslookup, Resolve-DnsName, dig y resolvectl.

Diagnosticar problemas DNS en Windows y Linux

Distingue errores DNS, de red y HTTPS con nslookup, Resolve-DnsName, dig y resolvectl.

Red antes de nombre

Comprueba IP, puerta de enlace y ruta predeterminada. Prueba la puerta real y una IP externa, recordando que ICMP puede estar bloqueado. IP accesible y nombre fallido sugieren DNS, sin demostrarlo. Anota host exacto, tipo A/AAAA, hora, red y error. A es IPv4, AAAA IPv6, MX correo, NS delegación, CNAME alias, TXT texto y PTR DNS inverso.

Resolutores Windows

ipconfig /all muestra adaptador activo, DNS y sufijos; VPN y Active Directory suelen usar DNS interno y split DNS. nslookup consulta un servidor directamente, sin cache local, hosts ni algunas reglas del cliente: puede diferir de la aplicación. Resolve-DnsName ofrece opciones precisas; -DnsOnly -NoHostsFile excluye hosts intencionadamente. No sustituyas sin análisis los DNS corporativos.

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

Caché y hosts

Consulta ipconfig /displaydns o Get-DnsClientCache. ipconfig /flushdns y Clear-DnsClientCache vacían solo el PC, no los registros autoritativos ni cachés intermedias. Revisa C:\Windows\System32\drivers\etc\hosts y VPN sin borrar entradas intencionadas. Repite anotando servidor y respuesta.

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

Resolutor Linux

En systemd-resolved, resolvectl status muestra DNS por enlace y dominios enrutados; resolvectl query comprueba la resolución cliente. /etc/resolv.conf puede estar gestionado por systemd-resolved, NetworkManager o DHCP: cambia la fuente de configuración, no un archivo generado.

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

Comparar con dig

dig muestra estado, ANSWER, TTL y servidor. Como nslookup, una consulta directa puede diferir de la ruta de la aplicación. Compara resolutor predeterminado y explícito; el DNS público no conoce zonas privadas. NOERROR sin respuesta puede indicar ausencia del tipo solicitado. +trace sigue la delegación, pero puede fallar en redes que bloquean consultas directas.

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

Errores y autoritativos

NXDOMAIN indica nombre inexistente en la vista consultada; SERVFAIL, fallo de resolución, por ejemplo DNSSEC; REFUSED, rechazo; timeout, falta de respuesta. Consulta los NS reales y compara A/AAAA y serie SOA. ns1.provider.example y ns2.provider.example son marcadores, no servidores públicos utilizables.

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 y caché negativa

Tras un cambio, los resolutores conservan datos anteriores hasta expirar el TTL previo. NXDOMAIN también puede quedar en caché. Consulta autoritativos, compara resolutores y anota TTL y hora antes de hablar de propagación. Vaciar caché local no borra otras.

Puerto 53 y aplicación

DNS suele usar UDP 53 y también TCP 53. Test-NetConnection -Port 53 comprueba TCP, no UDP. Compara dig normal y +tcp; conectar por TCP no demuestra que el DNS de la aplicación funcione. Si A/AAAA son correctos, prueba puerto 443 y HTTPS por separado: ruta, firewall, servicio y 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 y resumen

Si solo los validadores responden SERVFAIL, revisa la cadena DNSSEC con delv y el reloj del sistema. Reúne pruebas reproducibles antes de cambiar DNS o vaciar cachés; distingue cliente, consulta directa, autoritativos y servicio final.

delv example.com A
timedatectl status

Fuentes

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 .

Compartir

¿Cuál es tu reacción?

Me gusta Me gusta 0
No me gusta No me gusta 0
Me encanta Me encanta 0
Divertido Divertido 0
Enfadado Enfadado 0
Triste Triste 0
¡Vaya! ¡Vaya! 0