Comprobación de DNS: comandos nslookup
, dig
1. Introducción al DNS
Imagina esto: quieres acceder a tu sitio favorito, por ejemplo, google.com. Pero tu navegador no entiende la palabra "google", necesita direcciones IP (por ejemplo, 142.250.74.206). La conversión de un nombre de dominio en una dirección IP ocurre gracias al DNS (Domain Name System). Si este proceso falla, verás un mensaje del navegador: "No se puede encontrar el servidor". Tú, como futuro maestro de redes en Linux, tienes la obligación de saber cómo diagnosticar y resolver problemas relacionados con DNS.
DNS es como la guía telefónica de internet. En lugar de memorizar direcciones IP complejas, podemos usar nombres amigables que el sistema DNS traduce. Aquí van algunos conceptos clave:
Registros DNS:
- Registro A (Address Record): vincula un nombre de dominio con una dirección IPv4.
- Registro AAAA: vincula un nombre de dominio con una dirección IPv6.
- Registro CNAME (Canonical Name): señala un alias de dominio.
- Registro MX (Mail Exchange): apunta a servidores de procesamiento de correo.
Servidores DNS:
- El usuario promedio suele usar los servidores DNS de su proveedor.
- Alternativas: servidores DNS públicos como Google (8.8.8.8) o Cloudflare (1.1.1.1).
Resolución de nombres:
- Cuando escribes un nombre de dominio en el navegador, este envía una solicitud al servidor DNS para obtener la dirección IP.
Con estos conocimientos, estás listo para aprender la magia práctica del DNS con los comandos nslookup
y dig
.
2. Comando nslookup
nslookup
es una utilidad que nos permite verificar el funcionamiento del DNS. Está disponible en la mayoría de las distribuciones de Linux y en otros sistemas operativos.
Sintaxis básica:
nslookup [opciones] [dominio o dirección IP]
Ejemplo simple:
Verifiquemos la dirección IP para el sitio google.com:
nslookup google.com
Salida:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 142.250.74.206
Notas sobre la salida:
Server
: El servidor DNS que procesó la solicitud.Non-authoritative answer
: Esto significa que la información no se obtuvo directamente del servidor DNS raíz, sino a través del caché de otro servidor.
Verificación de un servidor DNS
Si deseas usar un servidor DNS específico, puedes indicarlo al llamar al comando:
nslookup google.com 8.8.8.8
Aquí especificamos explícitamente el servidor DNS de Google (8.8.8.8).
Práctica: Encontrar la IP para un sitio educativo
Intenta ejecutar el comando:
nslookup linux.org
Mira los resultados: son las direcciones IP asociadas al servidor del sitio.
3. Comando dig
dig
(Domain Information Groper) — es una herramienta más avanzada para trabajar con DNS. Proporciona información detallada sobre las solicitudes y respuestas de DNS.
Sintaxis básica:
dig [dominio] [opciones]
Ejemplo de solicitud:
dig google.com
Salida (momentos clave):
;; Question section:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 142.250.74.206
;; Query time: 35 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 19 10:00:00 UTC 2023
;; MSG SIZE rcvd: 68
Secciones de la salida:
ANSWER SECTION
: direcciones IP asociadas con el dominio.Query time
: tiempo de procesamiento de la consulta.SERVER
: servidor DNS que procesó la consulta.
4. Registros básicos de DNS y cómo verificarlos
Registro A (IPv4)
dig linux.org A
El resultado mostrará las direcciones IPv4 para el dominio.
Registro AAAA (IPv6)
dig linux.org AAAA
La salida contendrá direcciones IPv6. Es útil cuando trabajas con redes modernas.
Registro MX (servidores de correo)
dig linux.org MX
Se usa para comprobar qué servidores gestionan la correspondencia de correo para el dominio.
5. Práctica avanzada: dig
vs nslookup
Ahora puedes comparar los resultados de ambos comandos:
Ejecuta:
nslookup linux.org
Luego:
dig linux.org
Toma nota de que dig
proporciona más detalles. Por ejemplo, puedes ver el tiempo de ejecución de la consulta y también información sobre el servidor que respondió la consulta.
6. Comprobación del servidor DNS de Google
Tarea:
Usando
nslookup
, comprueba si el servidor DNS público de Google funciona:nslookup github.com 8.8.8.8
Ahora haz lo mismo utilizando
dig
:dig @8.8.8.8 github.com
Comprueba si el sitio tiene direcciones IPv6:
dig github.com AAAA
7. Errores típicos y particularidades
Trabajar con DNS casi siempre se encuentra con los siguientes problemas:
- Configuración incorrecta del servidor DNS: Si tu servidor DNS no funciona o está mal configurado, puedes no obtener respuesta. Verifica la accesibilidad del servidor especificando su IP manualmente al usar
nslookup
odig
. Cacheo de DNS: A veces, los cambios en el DNS pueden tardar debido al caching. Por ejemplo, podrías ver información desactualizada si el registro DNS cambió recientemente.
Inaccesibilidad del servidor DNS: Si ves un error como
connection timed out; no servers could be reached
, esto puede significar que el servidor está inaccesible o bloqueado.Comandos alternativos:
nslookup
no siempre está disponible en instalaciones mínimas de Linux, mientras quedig
suele estar en el conjunto estándar de herramientas.
Aplicación real del conocimiento: ¿por qué es importante saber esto?
- Diagnóstico de problemas con DNS. Podrás entender rápidamente por qué el navegador "no encuentra" el sitio.
- Configuración de servidores. Cuando configuras un servidor en la nube, necesitas verificar si los registros DNS están configurados correctamente.
- Seguridad en internet. Saber trabajar con registros DNS ayuda a analizar sitios de phishing.
- En entrevistas laborales. Conocer los comandos
dig
ynslookup
es una de las preguntas estándar para especialistas en Linux/DevOps.
Ahora estás armado con todo lo necesario para entender profundamente y diagnosticar DNS. Abre la terminal, prueba los comandos, y que ningún "fallo de DNS" te pille desprevenido.
GO TO FULL VERSION