Configuración del servidor dhcp.

Existen varias implementaciones del protocolo DHCP para servidores con sistemas operativos parecidos al UNIX, tanto comerciales como libres. Uno de los más populares servidores es DHCPd de Paul Vixie/ISC, que actualmente se encuentra en la versión 3.0, en concreto el paquete que habría que instalar se trata del siguiente: dhcp.

Para configurar DHCPd hay que crear el fichero /etc/dhcpd.conf. Normalmente lo que se pretenderá es asignar direcciones IP de un rango definido de forma dinámica, sin que importe que cliente coge que dirección IP (hay que redordar que DHCP es el protocolo de configuración dinámica de hosts).Esto se podría conseguir con una configuración parecida a la siguiente:

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "linux.casa";

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}

En este caso, el servidor DHCP otorgaría una dirección IP al cliente en el rango 192.168.1.10 - 92.168.1.100 o del rango 192.168.1.150 - 192.168.1.200, y concedería la dirección por un tiempo de 600 segundos, mientras el cliente no marque ese tiempo, y en todo caso la concesión máxima será de 7200 segundos. Además configurará el cliente para que use la máscara de red 255.255.255.0, la dirección de difusión 192.168.1.255, el gateway 192.168.1.254, los servidores de nombres 192.168.1.1, 192.168.1.2, y el nombre de dominio linux.casa.

Pero también será necesario que en ocasiones asignemos direcciones de una forma estática (como lo haría el protocolo BOOTP) basándose en la dirección hardware del cliente. El ejemplo siguiente asignará la dirección IP 192.168.1.222 a un cliente con la dirección ethernet 08:00:2b:4c:59:23

host haagen {
hardware ethernet 08:00:2b:4c:59:23;
fixed-address 192.168.1.222;
}

Si por ejemplo estuvieramos en un entorno mixto de máquinas linux y windows sería a lo mejor necesario asignar a los clientes windows la dirección de un servidor WINS. La opción netbios-name-servers resolvería nuestro problema.

option netbios-name-servers 192.168.1.1;

Existen muchas más opciones que puede configurar un servidor DHCP. Toda la información se puede encontrar en la página de manual de dhcpd.conf.