Montar un Servidor DHCP en GNU/Linux

En este articulo explico paso a paso como montar un Servidor de DHCP en GNU/Linux. Esto es útil por ejemplo cuando queremos montar un Trivial FTP para arranques por PXE.

Qúe es un servidor DHCP?

Un servidor DHCP es un equipo que se dedica a asignar las IPs, la puerta de enlace, las DNS y la mascara de subred a los equipos de una red que lo soliciten. Esto evita que el usuario final tenga que introducir estos datos manualmente. En redes caseras esta función la tiene el Router ADSL que nos da la compania que nos ofrece el servicio.

Instalando DHCP

He intentado configurar el Servidor DHCP con DHCP 4 pero dado que a mi y a mucha gente en foros le daba errores, decidi usar la versión 3.1 compiliada. Nos bajamos la fuente de aqui:

 http://ftp.isc.org/isc/dhcp/dhcp-3.1-history/dhcp-3.1.1b1.tar.gz

Lo descomprimimos:

 tar xvf dhcp-3.1.1b1.tar.gz

lo compilamos:

 cd dhcp-3.1.1b1
./configure
make

y lo instalamos:

 sudo make install

Configurar DHCP

Ahora toca editar /etc/dhcpd.conf. Si existe lo eliminamos y si no lo creamos.

El archivo final quedará asi:

 default-lease-time      86400;
max-lease-time          86400;
ddns-update-style ad-hoc;
ddns-updates on;

subnet  netmask  {
    option routers                  ;
    option subnet-mask              ;
    option broadcast-address        ;
    option domain-name-servers      ;
    range  ;
}

Donde:

Una subred en la que ofrecer DHCP, por ejemplo: 192.168.0.0
Por ejemplo: 255.255.255.0
El router o equipo que enlaza esta red con Internet o con otra red,
por ejemplo: 192.168.0.1
Es la IP donde se anuncia el Servidor DHCP. Siempre es la 192.168.x.255,
por ejemplo: 192.168.0.255
Los servidores DNS resuelven los nombres de las paginas web.
Se pueden indicar varios separandolos con comas,
por ejemplo: 195.235.113.3, 195.235.96.90
es el rango de IPs que ofrece el Servidor DHCP.
Por ejemplo: 192.168.0.100 192.168.0.120
Con el ejemplo anterior el primer equipo que pida DHCP recibe la IP 192.168.0.100,
el segundo 192.168.0.101, ...
asi hasta el vigesimoprimero que recibe la IP 192.168.0.120.
Despues de este ya no se puede conectar ningun
equipo mas dado que el rango de IPs permitidas se ha agotado.

Iniciar el servidor DHCP

Antes de dar el gran paso de ejecutar nuestro servidor DHCP ya configurado debemos asegurarnos de que no tengamos otro servidor DHCP ya andando en la misma red, por ejemplo: Un router que tenga activado la opcion Servidor de DHCP. Si es asi entramos en nuestro router y la desactivamos para que no hagan conflicto entre ellos. Y finalmente:

 sudo /usr/sbin/dhcpd -cf /etc/dhcpd.conf

Si todo va bien ya tenemos configurado nuestro servidor de DHCP.