07 Networking II

Published Apr 8, 2023

Linuxnetworking

Aprenderás a gestionar DNS, resolver dominios con herramientas como DIG, y configurar manualmente el archivo hosts para tener control sobre las resoluciones de dominio. Perfecto para quienes buscan dominar redes en Linux de manera práctica.

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). Esto hace que no sea necesario memorizar IPs, permitiendo que naveguemos usando nombres fáciles de recordar.

Funcionamiento básico:

  1. Escribes un dominio en el navegador.
  2. El DNS busca la dirección IP asociada.
  3. Se establece la conexión con el servidor.

2. Comando DIG

dig es una herramienta poderosa para consultar información DNS de un dominio. Proporciona datos como registros A, MX, NS, TXT, entre otros.

Ejemplo básico:


dig elprogramadorgt.fun

Esto devuelve información básica como:

  • IP del dominio (registro A).
  • Estado del query.

Consultar registros específicos:

  • NS (Name Server):

    
    dig elprogramadorgt.fun ns
    

    Devuelve los servidores DNS autoritativos del dominio.

  • ANY (todos los registros disponibles):

    
    dig elprogramadorgt.fun any
    
  • MX (Mail Exchange):

    
    dig google.com mx
    

    Muestra los servidores responsables de gestionar correos del dominio.

  • TXT:

    
    dig elprogramadorgt.fun txt
    

    Muestra textos asociados al dominio, usados para verificaciones, como SPF o DKIM.

Interpretando la salida de DIG:

  • HEADER: Información sobre la consulta, incluyendo el tipo (QUERY, IQUERY).
  • FLAGS:
    • qr: Indica que es una respuesta.
    • rd: La consulta fue recursiva.
    • ra: El servidor DNS soporta recursividad.
  • QUERY, ANSWER, AUTHORITY, ADDITIONAL:
    • QUERY: Número de consultas realizadas.
    • ANSWER: Cantidad de respuestas obtenidas.
    • AUTHORITY: Servidores responsables de la información.
    • ADDITIONAL: Información adicional, como SOA o claves DNSSEC.

Configurar Servidor DNS Manualmente

El archivo /etc/resolv.conf contiene los servidores DNS configurados.

  1. Ver contenido:

    
    head /etc/resolv.conf
    
  2. Cambiar el servidor DNS a Google:

    
    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    

3. Archivo Hosts

El archivo hosts mapea nombres de dominio a direcciones IP. Se encuentra en:


/etc/hosts

Formato básico:


IP_ADDRESS   DOMAIN_NAME

Ejemplo:


127.0.0.1   localhost
192.168.1.10   myserver.local

Usos comunes:

  1. Redirección local: Puedes redirigir un dominio a una IP específica, como:

    
    127.0.0.1 facebook.com
    
        ```
    
        Esto bloquea el acceso al dominio.
    
  2. Pruebas locales: Durante el desarrollo, puedes mapear un dominio a un servidor en tu red local.

Precauciones:

Modificar el archivo hosts puede ser utilizado para ataques de DNS Spoofing, donde un atacante redirige el tráfico a un servidor malicioso.

4. Entendiendo Registros DNS

  • Registro A: Dirección IPv4 de un dominio.
  • Registro AAAA: Dirección IPv6 de un dominio.
  • Registro MX: Servidores de correo.
  • Registro NS: Servidores DNS autoritativos.
  • Registro TXT: Información adicional (SPF, verificaciones).

5. DNS Spoofing: Introducción

DNS Spoofing es una técnica donde un atacante manipula las respuestas DNS para redirigir tráfico a un servidor controlado.

Herramientas comunes:

  • Ettercap
  • Responder
  • Bettercap

Demostración básica (con fines educativos):

  1. Configura el archivo hosts para redirigir tráfico.
  2. Usa herramientas como Ettercap para interceptar solicitudes DNS.

6. Ejemplo Completo con DIG

  1. Consulta básica:

    
    dig google.com
    
  2. Registros específicos:

    • NS:

      
      dig google.com ns
      
    • MX:

      
      dig google.com mx
      
    • TXT:

      
      dig google.com txt
      
  3. Cambiar servidor DNS:

    
    sudo echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
    

Con esta guía tienes una base sólida sobre el uso de DNS y el archivo hosts en Linux. ¡Recuerda practicar y explorar más herramientas! 🚀

Elprogramadorgt - Blog © 2025