CodeGym /Cursos /Docker SELF /Comprobación de DNS: comandos `nslookup`, `dig`

Comprobación de DNS: comandos `nslookup`, `dig`

Docker SELF
Nivel 4 , Lección 2
Disponible

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:

  1. 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.
  2. 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).
  3. 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:

  1. Ejecuta:

        nslookup linux.org
    
  2. 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:

  1. Usando nslookup, comprueba si el servidor DNS público de Google funciona:

    nslookup github.com 8.8.8.8
    
  2. Ahora haz lo mismo utilizando dig:

    dig @8.8.8.8 github.com
    
  3. 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:

  1. 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 o dig.
  2. 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.

  3. 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.

  4. Comandos alternativos: nslookup no siempre está disponible en instalaciones mínimas de Linux, mientras que dig 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 y nslookup 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.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION