Troubleshooting DNS: nslookup, dig, DoH
· 7 min de lectura
Los problemas de DNS están entre las causas de caída más frecuentes y difíciles de diagnosticar. Herramientas prácticas: nslookup, dig y DNS-over-HTTPS.
Problemas DNS más comunes
- Registro del dominio caducado - todo el DNS deja de funcionar.
- Registro A/AAAA incorrecto - olvidado tras una migración del servidor.
- CNAME / MX faltante - la web funciona, pero el email no.
- TTL no reducido antes de un cambio planificado - las cachés de los providers aún sirven datos antiguos.
- Error DNSSEC - los validadores rechazan registros sin firmar o mal firmados.
- Fallo Geo-DNS - el resolver de una región concreta recibe respuesta incorrecta.
nslookup: el comando más sencillo
Disponible en todos los OS sin instalación. Usa el servidor DNS por defecto del sistema, pero se puede especificar uno explícitamente 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 explícitamente Cloudflare DNS
$ nslookup epulz.io 1.1.1.1
# Tipo concreto de registro
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1
dig: consulta DNS detallada para Unix
dig (Domain Information Groper) es significativamente más detallado y flexible. Forma parte del paquete bind-utils o 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 clave:
TTL(300) = el número de segundos durante los que el resolver puede cachear la respuesta.ANSWER SECTION= el resultado en sí.SERVER= qué resolver DNS respondió.Query time= duración de la consulta - útil al depurar DNS lento.
Comandos prácticos
# Respuesta breve (solo IP)
$ dig +short epulz.io
87.197.115.180
# Todos los registros
$ dig epulz.io ANY
# Trace de toda la jerarquía DNS (desde root nameservers)
$ dig +trace epulz.io
# Reverse lookup
$ dig -x 87.197.115.180
# Resolver concreto
$ dig @8.8.8.8 epulz.io
$ dig @1.1.1.1 epulz.io
$ dig @9.9.9.9 epulz.io
# Validación DNSSEC
$ dig +dnssec epulz.io
DNS-over-HTTPS (DoH): cuando no tienes UDP/53
En algunas redes (firewalls corporativos, datos móviles con bloqueo) el puerto DNS tradicional 53 está bloqueado. DoH empaqueta las consultas DNS en peticiones HTTPS, de modo que pasan por todas partes donde funciona el puerto 443.
# Endpoint DoH de 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
Un cliente DoH online con una interfaz clara también lo tienes en /tools/dns-lookup - sin ninguna instalación.
Procedimiento ante "el dominio no funciona"
- Comprueba el registro.
whois yourdomain.como vía el registrador. Si caducó, nada más se puede arreglar. - Comprueba los registros NS.
dig NS yourdomain.com @8.8.8.8. ¿Se devuelven los nameservers responsables del dominio? ¿Coinciden con los del panel del registrador? - Comprueba el registro A.
dig yourdomain.com @8.8.8.8. ¿Devuelve la IP correcta? - Prueba desde una red externa (datos móviles, VPN, herramienta online). Tú mismo puedes tener datos antiguos cacheados.
- Comprueba el TTL. Si acabas de cambiar un registro, espera al menos el TTL original (por defecto de 1 a 24 horas).
- Comprueba DNSSEC. Si lo usas, la cadena de firmas puede estar rota.
dig +dnssec yourdomain.commuestra la flagaden caso de éxito.
Propagación DNS: ¿cuánto tarda?
"Propagación DNS" es un término un poco engañoso. El DNS no se propaga hacia ti - tus resolvers descargan la respuesta y la cachean según el TTL. Solo tras expirar el TTL intentan una nueva consulta.
Consecuencias prácticas:
- ¿Planeas una migración? Baja el TTL a 60 a 300 segundos al menos 48 horas antes.
- La IP antigua permanece cacheada para algunos clientes mucho después del cambio. No apagues el servidor antiguo de inmediato.
- Los cloud providers (Cloudflare, AWS Route 53) admiten valores TTL cortos y una propagación rápida de los cambios, pero el cliente final todavía debe esperar el TTL de su propio resolver.
Conclusión
El DNS es el pegamento de infraestructura que todos dan por sentado - hasta que deja de funcionar. La monitorización regular de registros DNS (A, NS, MX, su TTL y validación DNSSEC) descubre el problema antes de que un cliente lo reporte por teléfono.
Monitorización de DNS y expiración WHOIS
ePulz.io rastrea registros A/AAAA/MX/NS y la expiración del registro del dominio. 7 días gratis.
Prueba ePulz.io gratis - 7 días sin tarjeta de crédito.
Crear cuenta