85. DHCP y DNS

 

Tutorial: DHCP y DNS - Conceptos Básicos y Comandos Útiles

Introducción

En esta sección vamos a explorar dos protocolos fundamentales en redes: DHCP y DNS. Aunque son conceptos más administrativos que no usaremos diariamente como usuarios de Linux, es importante entender su funcionamiento y conocer algunos comandos que pueden ayudarnos a resolver problemas comunes.


Parte 1: DHCP (Dynamic Host Configuration Protocol)

¿Qué es DHCP?

DHCP es un protocolo que asigna direcciones IP de manera dinámica y automática a los dispositivos que se conectan a una red.

Ejemplo cotidiano:

  • Cuando conectas tu portátil a la red de casa, no configuras manualmente una IP

  • El router automáticamente te asigna una dirección IP dentro de esa red

  • Esta asignación automática es trabajo del servidor DHCP

Problemas comunes con DHCP

En ocasiones, el servidor DHCP puede:

  • No asignar dirección IP

  • Quedarse "pillado" en el proceso de asignación

  • Fallar al reiniciar la máquina o conexión de red

Comando útil: dhclient

Cuando no recibimos dirección IP automáticamente, podemos forzar una petición DHCP usando:

bash
sudo dhclient

¿Qué hace este comando?

  • Fuerza una petición al servidor DHCP

  • Inicia el proceso de descubrimiento y negociación

  • Asigna una nueva dirección IP dinámica

Verificación:

  • Ejecuta ip a antes y después para ver el cambio

  • Puedes capturar el tráfico con Wireshark para observar el protocolo en acción


Parte 2: DNS (Domain Name System)

¿Qué es DNS?

DNS es el sistema de resolución de nombres de dominio que traduce nombres legibles para humanos en direcciones IP.

Ejemplo:

  • Cuando escribes google.es en el navegador

  • DNS resuelve ese nombre a una dirección IP (ej: 142.250.184.3)

  • Tu dispositivo se comunica con el servidor usando esa IP

Comando útil: dig

dig es una herramienta para realizar consultas DNS:

bash
dig google.es

Información que proporciona:

  • Muestra el servidor DNS actual que estás usando

  • Proporciona la resolución del nombre de dominio

  • Entrega detalles técnicos sobre la consulta

Cambiar servidor DNS temporalmente

Situaciones donde puede ser útil:

  • Ejercicios de pentesting

  • Entornos corporativos con DNS específicos

  • Usar servidores DNS alternativos (como Google DNS: 8.8.8.8)

Método temporal recomendado:

  1. Editar el archivo de configuración:

bash
sudo nano /etc/resolv.conf
  1. Modificar/comentar la línea nameserver:

text
# nameserver 127.0.0.53
nameserver 8.8.8.8
  1. Guardar los cambios

Ventajas de este método:

  • Los cambios NO son permanentes

  • Al reiniciar la máquina, vuelve la configuración original

  • Ideal para tareas específicas sin afectar la configuración base

Verificar el cambio:

bash
dig
# Mostrará que ahora usas el servidor DNS de Google (8.8.8.8)

Restaurar configuración original

Simplemente reinicia la máquina:

bash
sudo reboot

O vuelve a editar /etc/resolv.conf y restaura la configuración anterior.


Resumen de Comandos

ComandoFunciónUso común
sudo dhclientForzar renovación de IP DHCPCuando no tenemos dirección IP
dig dominio.comConsultar información DNSVer resolución de nombres y DNS actual
sudo nano /etc/resolv.confModificar DNS temporalmenteCambiar servidor DNS para tareas específicas

Conclusión

Estos conceptos y comandos te serán útiles para:

  • Solucionar problemas de conectividad básicos

  • Realizar tareas administrativas puntuales

  • Comprender mejor cómo funcionan las redes

En las siguientes secciones veremos comandos que sí utilizaremos más frecuentemente en el día a día como usuarios de Linux.

¡Recuerda: Los cambios en DNS son temporales por diseño, lo que evita que queden configuraciones no deseadas en tu sistema

Comentarios

Entradas más populares de este blog

88. Intercambio de ficheros I: FTP