Volver al blog

Troubleshooting DNS: nslookup, dig, DoH

· 7 min de lectura

En resumen: Los problemas DNS son de las causas más frecuentes y difíciles de diagnosticar de caídas - porque "el DNS me funciona" no significa que funciona para tus clientes. Aquí tienes un repaso de herramientas y procedimientos prácticos.

En resumen: Los problemas DNS son de las causas más frecuentes y difíciles de diagnosticar de caídas - porque "el DNS me funciona" no significa que funciona para tus clientes. Aquí tienes un repaso de herramientas y procedimientos prácticos.

Problemas DNS más comunes

  • Registro del dominio caducado - todo el DNS deja de funcionar.
  • Registro A/AAAA incorrecto - tras migración del servidor se olvidó actualizar.
  • CNAME / MX faltante - el email no funciona, mientras que la web sí.
  • TTL no preparado para cambios rápidos - los cachés de 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 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. 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) = segundos durante los que el resolver puede cachear la respuesta.
  • ANSWER SECTION = el resultado.
  • SERVER = qué resolver DNS respondió.
  • Query time = duración - ú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 consultas DNS en requests HTTPS - pasan por todas partes donde funciona 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 bonita UI lo tenemos también en - sin instalación.

Procedimiento ante "el dominio no funciona"

  1. Comprueba el registro. whois yourdomain.com o via el registrador. Si caducó, nada más se puede arreglar.
  2. 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?
  3. Comprueba el registro A. dig yourdomain.com @8.8.8.8. ¿Devuelve la IP correcta?
  4. Prueba desde red externa (datos móviles, VPN, herramienta online). Tú mismo puedes tener datos antiguos cacheados.
  5. Comprueba el TTL. Si acabas de cambiar un registro, espera al menos el TTL original (por defecto 1-24 horas).
  6. Comprueba DNSSEC. Si lo usas, la cadena de firmas puede estar rota. dig +dnssec yourdomain.com muestra la flag ad en 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-300 segundos al menos 48 horas antes.
  • La IP antigua seguirá siendo válida para algunos clientes mucho después del cambio. No apagues el servidor antiguo de inmediato.
  • Los cloud providers (Cloudflare, AWS Route 53) tienen TTL rápido e cache invalidation, 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.

Iniciar monitorización →


Prueba ePulz.io gratis - 7 días sin tarjeta de crédito.

Crear cuenta