06 Fundamentos de DNS en Linux
Published Apr 8, 2023
🧠 Introducción
¿Alguna vez te has preguntado cómo sabe tu computadora a qué servidor conectarse cuando escribes una dirección como google.com
?
Eso es gracias al DNS (Domain Name System), un sistema que convierte nombres fáciles de recordar en direcciones IP que las máquinas entienden.
En esta lección aprenderás:
- Qué es DNS y cómo funciona.
- Cómo usar herramientas como
dig
para investigar dominios. - Cómo modificar el archivo
hosts
para redirigir dominios. - Qué son los registros DNS más comunes.
- Y cómo protegerte de técnicas como el DNS Spoofing.
1. ¿Qué es el DNS?
DNS (Domain Name System) es el sistema que traduce nombres de dominio legibles por humanos (como google.com
) en direcciones IP (como 172.217.0.46
).
Así funciona:
- Escribes una dirección web.
- Tu sistema consulta un servidor DNS.
- El servidor responde con la IP correspondiente.
- Tu navegador se conecta a esa IP.
Sin DNS tendríamos que memorizar números, ¡y nadie quiere eso!
2. Usando DIG para Consultas DNS
dig
(Domain Information Groper) es una herramienta de línea de comandos que te permite consultar información DNS de cualquier dominio.
🔍 Consulta básica
dig google.com
Esto devuelve información como:
- IP asociada (registro A)
- Estado de la consulta
- Servidores que respondieron
🎯 Consultar registros específicos
- NS (Name Server): Servidores DNS autoritativos
dig google.com ns
- MX (Mail Exchange): Servidores de correo
dig google.com mx
- TXT: Información adicional como SPF o verificaciones de dominio
dig google.com txt
- ANY: Todos los registros disponibles
dig google.com any
🧠 ¿Qué significan los resultados?
- HEADER: Tipo de consulta, código de estado, ID.
- FLAGS:
qr
: Respuesta.rd
: Consulta recursiva.ra
: Recursividad aceptada.
- SECCIONES:
QUESTION
: Lo que preguntaste.ANSWER
: Respuesta del DNS.AUTHORITY
: Qué servidores son responsables.ADDITIONAL
: Datos extras como TTL o claves.
3. Conociendo los Registros DNS Más Comunes
- A: Dirección IPv4 del dominio.
- AAAA: Dirección IPv6.
- MX: Servidores de correo.
- NS: Servidores autoritativos.
- TXT: Información libre (SPF, verificaciones de Google, etc.).
4. Cambiar Manualmente el Servidor DNS
El archivo /etc/resolv.conf
define qué servidor DNS usará tu sistema.
👁️ Ver contenido actual:
head /etc/resolv.conf
⚙️ Cambiar DNS temporalmente:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
⚠️ Nota: En muchos sistemas modernos con systemd-resolved, este archivo se sobrescribe. Para cambios permanentes usa nmcli o edita configuraciones del gestor de red.
5. El Archivo /etc/hosts
Este archivo permite asociar manualmente un dominio a una dirección IP. Ideal para pruebas.
📄 Ubicación:
/etc/hosts
🧱 Formato:
IP dominio
💡 Ejemplo:
CopyEdit
127.0.0.1 localhost
192.168.1.10 myserver.local
🛠️ Usos comunes:
- Bloquear sitios localmente:
127.0.0.1 facebook.com
- Redirigir dominios a servidores locales durante desarrollo.
⚠️ Advertencia
Modificar este archivo puede ser usado con fines maliciosos (DNS Spoofing). Asegúrate de saber qué estás cambiando.
6. ¿Qué es el DNS Spoofing?
Es una técnica donde un atacante responde con información falsa a una consulta DNS, redirigiendo al usuario a un sitio malicioso.
🧪 Herramientas que pueden usarse para esto:
- Ettercap
- Bettercap
- Responder
⚠️ ¡Usa estas herramientas solo en entornos controlados y con permiso! Su mal uso puede ser ilegal.
7. Ejemplo Completo con DIG
🔹 Consultas básicas
dig google.com
🔹 Consultas avanzadas
dig google.com ns
dig google.com mx
dig google.com txt
🔹 Usar un DNS específico
dig @1.1.1.1 elprogramadorgt.fun
dig @8.8.8.8 elprogramadorgt.fun
🧪 Práctica Recomendada
- Usa
dig
para consultar registros A y MX de tus sitios favoritos. - Redirige temporalmente un dominio a
127.0.0.1
editando/etc/hosts
(luego prueba accediendo desde el navegador). - Cambia tu servidor DNS a 1.1.1.1 con
resolv.conf
y repite consultas. - Usa
curl ifconfig.me
para ver tu IP pública. - Compara respuestas DNS usando servidores como 1.1.1.1 y 8.8.8.8.
📘 Próximos Pasos
- Aprende a usar
nslookup
ywhois
. - Investiga cómo funciona DNSSEC y por qué es importante.
- Profundiza en configuraciones DNS para servidores propios (como BIND9).
- Explora cómo usar
tcpdump
owireshark
para ver tráfico DNS en tiempo real.
🧠 Conclusión
DNS es una de las piezas fundamentales de Internet.
Saber cómo se resuelven los nombres de dominio y cómo consultar o manipular esta información en Linux te da control, conocimiento y una gran ventaja como desarrollador, administrador o auditor de seguridad.
Sigue explorando, probando comandos y cuestionando cómo funciona lo que ves. ¡Así se avanza! 🚀