Implementación y Configuración de DHCP en Debian: Servidor y Cliente

Clasificado en Informática

Escrito el en español con un tamaño de 10,8 KB

El Protocolo de Configuración Dinámica de Host (DHCP) es fundamental en la administración de redes modernas, permitiendo la asignación automática de direcciones IP y otros parámetros de configuración a los dispositivos. Este documento detalla su funcionamiento y proporciona instrucciones claras para su implementación en sistemas Debian, tanto para el servidor como para los clientes.

1. Conceptos Fundamentales de DHCP

DHCP simplifica enormemente la gestión de direcciones IP en una red, eliminando la necesidad de configurar manualmente cada dispositivo. Opera bajo un modelo cliente-servidor para automatizar la asignación de parámetros de red.

1.1. DHCP desde la Perspectiva del Cliente

  • El cliente DHCP es cualquier dispositivo (ordenador, servidor, smartphone, etc.) que necesita obtener una configuración de red para comunicarse en una red IP. En lugar de tener una dirección IP estática, el cliente envía una solicitud al servidor DHCP para obtener dinámicamente su dirección IP, máscara de subred, puerta de enlace predeterminada, direcciones de servidores DNS, y otros parámetros relevantes.

1.2. DHCP desde la Perspectiva del Servidor

  • El servidor DHCP es un servicio de red que gestiona un conjunto de direcciones IP (un pool) y las asigna de forma automática a los clientes que las solicitan. El servidor "arrienda" estas direcciones por un tiempo determinado, lo que permite reutilizar las direcciones IP cuando los dispositivos se desconectan o sus arrendamientos expiran. Además de la IP, el servidor proporciona toda la información de configuración de red necesaria.

1.3. Mensajes DHCP entre Cliente y Servidor (Proceso DORA)

La comunicación entre un cliente y un servidor DHCP sigue un proceso de cuatro pasos principales, a menudo conocido como DORA (Discover, Offer, Request, Acknowledge):

MensajeOrigenDestinoDescripción
DHCP DiscoverClienteServidor (Broadcast)El cliente busca servidores DHCP disponibles en la red.
DHCP OfferServidorCliente (Broadcast o Unicast)Un servidor DHCP responde al cliente ofreciéndole una dirección IP y otros parámetros de configuración.
DHCP RequestClienteServidor (Broadcast o Unicast)El cliente solicita formalmente la dirección IP ofrecida (o renueva un arrendamiento existente).
DHCP Acknowledge (ACK)ServidorCliente (Unicast)El servidor confirma la asignación de la dirección IP y envía la configuración final al cliente.

2. Configuración del Servidor DHCP en Linux Debian

A continuación, se detalla la configuración de un servidor DHCP en Debian con las características específicas solicitadas.

2.1. Parámetros de Configuración del Servidor

  • Nombre conceptual del servidor: Servidor_DHCP
  • Configuración TCP/IP permanente del servidor:
    • IP: 192.168.39.254
    • Máscara de subred: 255.255.255.0
    • Puerta de enlace: 192.168.39.1
  • Rangos de direcciones IP disponibles para asignación dinámica:
    • 192.168.39.10 - 192.168.39.50
    • 192.168.39.51 - 192.168.39.125
  • Tiempo máximo de arrendamiento: 1 mes (2592000 segundos)
  • Tiempo de arrendamiento predeterminado: 1 hora (3600 segundos)
  • Servidores DNS: 192.168.39.2 y 192.168.39.3
  • Máscara de subred para clientes: 255.255.255.0
  • Puerta de enlace para clientes: 192.168.39.1
  • Asignación estática para equipo servidor de correo SMTP:
    • Dirección MAC: 00:11:22:33:44:55
    • Dirección IP asignada: 192.168.39.4

2.2. Pasos de Configuración del Servidor

2.2.1. Instalación del Servicio DHCP

Para instalar el servidor DHCP en Debian, utilice el siguiente comando:

sudo apt update
sudo apt install isc-dhcp-server

2.2.2. Configuración de la Interfaz de Red del Servidor

Modifique el fichero /etc/network/interfaces para establecer una dirección IP estática en la interfaz de red que el servidor DHCP utilizará para escuchar las solicitudes de los clientes (por ejemplo, eth0):

# /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.39.254
    netmask 255.255.255.0
    gateway 192.168.39.1

Después de modificar el fichero, reinicie el servicio de red para aplicar los cambios:

sudo systemctl restart networking

2.2.3. Configuración del Fichero Principal de DHCP (dhcpd.conf)

El fichero de configuración principal del servidor DHCP es /etc/dhcp/dhcpd.conf. Edítelo para definir los rangos de direcciones, tiempos de arrendamiento, servidores DNS y asignaciones estáticas:

# /etc/dhcp/dhcpd.conf

# Configuración global (opcional, pero buena práctica)
ddns-update-style none; # Deshabilita las actualizaciones dinámicas de DNS
default-lease-time 3600; # Tiempo de arrendamiento predeterminado: 1 hora
max-lease-time 2592000; # Tiempo máximo de arrendamiento: 1 mes

# Declaración de la subred para la que el servidor DHCP asignará IPs
subnet 192.168.39.0 netmask 255.255.255.0 {
    # Rangos de direcciones IP dinámicas disponibles
    range 192.168.39.10 192.168.39.50;
    range 192.168.39.51 192.168.39.125;

    # Opciones de configuración que se enviarán a los clientes
    option domain-name-servers 192.168.39.2, 192.168.39.3;
    option domain-name "red.local"; # Ejemplo de nombre de dominio para la red
    option routers 192.168.39.1; # Puerta de enlace predeterminada
    option broadcast-address 192.168.39.255; # Dirección de broadcast
    option subnet-mask 255.255.255.0; # Máscara de subred

    # Asignación estática para el servidor de correo SMTP
    host servidor_correo_smtp {
        hardware ethernet 00:11:22:33:44:55;
        fixed-address 192.168.39.4;
    }
}

2.2.4. Especificar la Interfaz de Escucha

Es necesario indicar al servicio DHCP en qué interfaz de red debe escuchar las solicitudes. Edite el fichero /etc/default/isc-dhcp-server y modifique la línea INTERFACESv4:

# /etc/default/isc-dhcp-server
INTERFACESv4="eth0"

2.2.5. Reiniciar el Servicio DHCP

Una vez realizados todos los cambios, reinicie el servicio DHCP para que la nueva configuración surta efecto:

sudo systemctl restart isc-dhcp-server

Puede verificar el estado del servicio con sudo systemctl status isc-dhcp-server.

3. Configuración de un Cliente DHCP en Linux Debian

Para configurar un cliente Debian para que obtenga su dirección IP y otros parámetros de red de forma dinámica, siga estos pasos.

3.1. Configuración Permanente del Cliente DHCP

Modifique el fichero /etc/network/interfaces para configurar la interfaz de red (por ejemplo, eth0) para usar DHCP de forma permanente:

# /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

Para aplicar los cambios, puede reiniciar el servicio de red o la interfaz:

sudo systemctl restart networking

O bien:

sudo ifdown eth0 && sudo ifup eth0

3.2. Solicitud de Arrendamiento de IP Preferido (8 horas)

Aunque el servidor DHCP es quien finalmente determina el tiempo de arrendamiento, un cliente puede solicitar un tiempo preferido. Esto se configura en el fichero /etc/dhcp/dhclient.conf. Para solicitar un arrendamiento de 8 horas (28800 segundos):

# /etc/dhcp/dhclient.conf
send dhcp-lease-time 28800;

Tenga en cuenta que el servidor DHCP puede ignorar esta solicitud si excede su max-lease-time o si tiene políticas específicas.

4. ¿Es Necesario que el Servicio DHCP Esté Registrado en RPC?

No, no es necesario. El servicio DHCP es completamente independiente del servicio RPC (Remote Procedure Call). DHCP opera en la capa de aplicación utilizando el protocolo UDP en los puertos 67 (servidor) y 68 (cliente) para la asignación de direcciones IP y otros parámetros de red. RPC, por otro lado, es un mecanismo para la comunicación entre procesos en diferentes sistemas, utilizado por servicios como NFS o NIS, pero no tiene una relación directa o dependencia con el funcionamiento de DHCP.

5. Función de los Parámetros max-lease-time y default-lease-time

Estos dos parámetros son cruciales en la configuración del servidor DHCP para gestionar los tiempos de arrendamiento de las direcciones IP:

  • max-lease-time: Controla el tiempo máximo, en segundos, que una dirección IP puede ser arrendada a un cliente. Ningún arrendamiento, incluso si el cliente lo solicita, puede exceder este valor. Es una medida de seguridad y control para asegurar que las direcciones IP no queden asignadas indefinidamente.
  • default-lease-time: Establece el tiempo predeterminado, en segundos, para el arrendamiento de una dirección IP. Si un cliente no solicita un tiempo de arrendamiento específico, o si el tiempo solicitado es menor que este valor (y mayor que el mínimo permitido por el servidor), el servidor asignará la dirección IP por este período.

6. Configuración de Cliente DHCP con Solicitud de Arrendamiento de 2 Horas

Para configurar un cliente Debian de forma permanente para que solicite una dirección IP al servidor DHCP con un tiempo de arrendamiento preferido de dos horas (7200 segundos), siga los pasos de configuración permanente del cliente (Sección 3.1) y luego modifique el fichero /etc/dhcp/dhclient.conf:

# /etc/dhcp/dhclient.conf
send dhcp-lease-time 7200;

Recuerde que, aunque el cliente solicite este tiempo, el servidor DHCP es quien tiene la última palabra y asignará el arrendamiento según sus propias políticas y los valores de default-lease-time y max-lease-time configurados.

Entradas relacionadas: