3. Protocolo DHCP

El protocolo DHCP se describen en el RFC 2131 (ver [rfc2131]), se trata de un modelo cliente-servidor en el que el servidor DHCP localiza direcciones IP libres en una red y envia parámetros de configuración a computadores cliente que se configuran dinámicamente. Entre los parámetros de configuración que un servidor puede enviar están: IP por asignar al computador, IP de la puerta de enlace, IPs de servidores de nombres, nombre del dominio por utilizar.

En su modo de operación dinámico el servidor le asigna una IP a un sólo cliente por cierto periodo de tiempo, al cabo del cual podría asignarle otra IP[25].

3.1. Configuración de un cliente DHCP

La configuración de un computador para operar como cliente de DHCP depende del sistema operativo, en el caso de Windows en las propiedades TCP/IPv4 de la tarjeta puede especificarse obtener dirección automáticamente. En el caso de Linux Ubuntu al Editar las Conexiones de Red puede especificarse que una tarjeta de red usará DHCP. Un OpenBSD con una interfaz de red (digamos rl0) se configura como cliente de DHCP desde la línea de comandos con:

	doas dhclient rl0 

que lee parámetros de configuración de /etc/dhclient.conf (el cual por defecto está configurado para solicitar mascara de red, servidores de nombres, dirección de difusión --broadcast--, nombre del dominio, nombre del computador y puerta de enlace). Puede configurarse de manera permanente para que en cada arranque se use este protocolo en una interfaz (remplazar rl0 por la de su caso) dejando en el archivo /etc/hostname.rl0 la línea:

	dhcp

3.2. Configuración de un servidor DHCP

Una configuración típica para un servidor DHCP que servirá direcciones para la red local 192.168.17.x en el rango 192.168.17.142 a 192.168.17.164 y que enviará además entre los parámetros el dominio, la puerta de enlace y la IP del servidor de nombres, se hace en el archivo /etc/dhcpd.conf con:

	shared-network LOCAL-NET {
	        option  domain-name "miong.org";
	        option  domain-name-servers 192.168.17.1;
	        subnet 192.168.17.0 netmask 255.255.255.0 {
	                option routers 192.168.17.1;
	                range 192.168.17.142 192.168.17.164;
	        }
	}

También asegurese de iniciar el servicio DHCP editando /etc/rc.conf.local para agregar:

	dhcpd_flags=""

o en lugar de "" puede especificar las interfaces de red que el servidor debe atender separadas por espacio.

3.3. Referencias y lecturas recomendadas

Las siguientes páginas man: dhcp(8), dhclient(8), dhclient.conf(5), dhcpd(8) y dhcpd.conf(5).

El RFC 2131 (ver [rfc2131]).



[25] Típicamente un cliente enviará un paquete DHCPDISCOVER a toda la red (opcionalmente con sugerencia de la IP que quiere), un servidor que reciba tal paquete le responderá con un DHCPOFFER con una oferta de parámetros de configuración, el cliente puede responder con DHCPREQUEST para confirmar los parámetros y el servidor responde con un DHCPACK para confirmar asignación.