DHCP: configuración y troubleshooting en entornos empresariales

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *