DHCP (Dynamic Host Configuration Protocol) asigna automáticamente configuración de red a los dispositivos: IP, máscara, gateway, DNS y otras opciones. Aunque parece simple, una configuración incorrecta puede dejar equipos sin red o con configuraciones erróneas. En este artículo configuramos un servidor DHCP completo y vemos cómo diagnosticar problemas.
Instalación de ISC DHCP Server en Ubuntu
sudo apt install isc-dhcp-server
sudo nano /etc/default/isc-dhcp-server
Configuración básica
sudo nano /etc/dhcp/dhcpd.conf
option domain-name "miempresa.local";
option domain-name-servers 10.0.0.1, 10.0.0.2;
default-lease-time 86400; # 24 horas
max-lease-time 172800; # 48 horas máximo
authoritative;
subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.100 10.0.1.200;
option routers 10.0.1.1;
option broadcast-address 10.0.1.255;
}
subnet 10.0.0.0 netmask 255.255.255.0 {
}
host servidor-web {
hardware ethernet 00:1A:2B:3C:4D:5E;
fixed-address 10.0.0.10;
option host-name "servidor-web";
}
host impresora-contabilidad {
hardware ethernet AA:BB:CC:DD:EE:FF;
fixed-address 10.0.1.50;
}
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
sudo systemctl enable --now isc-dhcp-server
sudo journalctl -u isc-dhcp-server -f
Opciones DHCP avanzadas
option tftp-server-name "10.0.0.5";
option bootfile-name "pxelinux.0";
option vendor-encapsulated-options ...;
option dhcp-renewal-time 43200; # T1: 12 horas
option dhcp-rebinding-time 75600; # T2: 21 horas
class "windows-clients" {
match if substring (option vendor-class-identifier, 0, 4) = "MSFT";
}
subclass "windows-clients" 1:00:50:56:00:00:00; # VMware VMs
Ver arrendamientos activos
cat /var/lib/dhcp/dhcpd.leases
grep -A7 "^lease" /var/lib/dhcp/dhcpd.leases | grep -E "lease|ends|hardware|client-hostname" | paste - - - -
Diagnóstico de problemas
El cliente no obtiene IP
sudo tcpdump -i eth0 -n "udp port 67 or udp port 68"
ss -ulpn | grep :67
sudo journalctl -u isc-dhcp-server --since "1 hour ago"
Forzar renovación en el cliente Linux
sudo dhclient -r eth0 # liberar
sudo dhclient eth0 # solicitar nueva
ip addr show eth0
ip route show
cat /etc/resolv.conf
Forzar renovación en Windows
ipconfig /release
ipconfig /renew
ipconfig /all # verificar nueva configuración
DHCP con failover (alta disponibilidad)
failover peer "dhcp-failover" {
primary;
address 10.0.0.1;
port 647;
peer address 10.0.0.2;
peer port 647;
max-response-delay 60;
max-unacked-updates 10;
load balance max seconds 3;
mclt 3600;
split 128;
}
subnet 10.0.1.0 netmask 255.255.255.0 {
pool {
failover peer "dhcp-failover";
range 10.0.1.100 10.0.1.200;
}
option routers 10.0.1.1;
}
Un servidor DHCP bien configurado es invisible para los usuarios, que simplemente obtienen su configuración de red al conectarse. La clave está en las reservas por MAC para dispositivos críticos, los logs activos para detectar problemas rápidamente y el failover para entornos donde la disponibilidad es importante. Con ISC DHCP en Linux tienes una solución robusta y gratuita que cubre cualquier escenario empresarial.
