Product SiteDocumentation Site

10.7. DHCP

DHCP (procolo de configuración dinámica de equipos: «Dynamic Host Configuration Protocol») es un protocolo mediante el cual una máquina puede obtener su configuración de red automáticamente al iniciar. Esto permite centralizar la administración de las configuraciones de red y asegurar que todos los equipos de escritorio obtengan configuraciones similares.
Un servidor DHCP provee muchos parámetros relacionados con la red. Los más comunes son una dirección IP y la red a la que pertenece el equipo, pero también puede proveer otra información como servidores DNS, servidores WINS, servidores NTP y más.
El Internet Software Consortium (involucrado también en el desarrollo de bind) es el autor principal del servidor DHCP. El paquete Debian correspondiente es isc-dhcp-server.

10.7.1. Configuración

El primer elemento que necesita editar en el archivo de configuración del servidor DHCP (/etc/dhcp/dhcpd.conf) son el nombre de dominio y servidores DNS. Si el servidor es el único en la red local (definido en la propagación de difusión), de activar (o descomentar) la directiva authoritative. También necesita crear una sección subnet (subred) describiendo la red local y la información de configuración que proveerá. El siguiente ejemplo define una red local 192.168.0.0/24 con un router en 192.168.0.1 como puerta de enlace. Las direcciones IP disponibles están en el rango 192.168.0.128 a 192.168.0.254.

Ejemplo 10.15. Extracto de /etc/dhcp/dhcpd.conf

#
# Archivo de configuración de ejemplo para el dhcpd ISC para Debian
#

# El parámetro ddns-updates-style controla si el servidor intentará o no
# una actualización de DNS cuando se confirme la asignación. Utilizamos
# el comportamiento predeterminado de la versión 2 de paquetes ('none', 
# ya que DHCP v2 no era compatible con DDNS).
ddns-update-style interim;

# Definición de opciones comunes a todas las redes...
option domain-name "internal.falcot.com";
option domain-name-servers ns.internal.falcot.com;

default-lease-time 600;
max-lease-time 7200;

# Si este servidor DHCP es el servidor DHCP oficial para la red local,
# debe descomentar la directiva «authoritative».
authoritative;

# Utilice esto para enviar mensajes de registro dhcp a un archivo de
# registro distinto (también deberá modificar syslog.conf para completar
# la redirección).
log-facility local7;

# Mi subred
subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    range 192.168.0.128 192.168.0.254;
    ddns-domainname "internal.falcot.com";
}

10.7.2. DHCP y DNS

Una buena funcionalidad es el registro automatizado de clientes DHCP en la zona DNS para que cada máquina obtenga un nombre significativo (en lugar de algo impersonal como maquina-192-168-0-131.internal.falcot.com). Para utilizar esta funcionalidad necesita configurar el servidor DNS para que acepte actualizaciones de la zona DNS internal.falcot.com desde el servidor DHCP y configurar este último para que envíe actualizaciones para cada registración.
En el caso de bind, necesita agregar la directiva allow-update a cada una de las zonas que puede editar el servidor DHCP (sólo el dominio internal.falcot.com y su zona inversa). Esta directiva enumera las direcciones IP que pueden realizar estas actualizaciones; por lo tanto deberá incluir las posibles direcciones del servidor DHCP (tanto la dirección local como la dirección pública en caso que sea apropiado).
allow-update { 127.0.0.1 192.168.0.1 212.94.201.10 !any };
¡Tenga cuidado! Una zona que pueda ser modificada será modificada por bind, y éste último sobreescribirá sus archivos de configuración en intervalos regulares. Debido a que este procedimiento automatizado genera archivos que son menos legibles que aquellos escritos manualmente, los administradores de Falcot administran el dominio internal.falcot.com con un servidor DNS delegado; esto significa que el archivo de la zona falcot.com se mantiene firmemente bajo su control manual.
El extracto de la configuración del servidor DHCP anterior ya incluye las directivas necesarias para las actualizaciones de la zona DNS: son las líneas ddns-update-style interim; y ddns-domain-name "internal.falcot.com"; en el bloque que describe la subred.