Saltar la navegación

Instalación del ISC DHCP

En Debian GNU/Linux, el paquete de software que contiene el servidor DHCP de ISC (Internet System Consortium) se denomina isc-dhcp-server y para su instalación procedemos de la siguiente manera:

# aptitude install isc-dhcp-server

Una vez instalado, como podemos ver a continuación, se intenta automáticamente lanzar el servidor pero da un fallo debido a que aún no hay ninguna configuración establecida.

# aptitude install isc-dhcp-server
Se instalarán los siguiente paquetes NUEVOS:     
  isc-dhcp-server
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 936 kB de ficheros. Después de desempaquetar se usarán 2.225 kB.
Des: 1 http://ftp.es.debian.org/debian/ wheezy/main isc-dhcp-server i386 4.2.2.dfsg.1-5+deb70u6 [936 kB]
Descargados 936 kB en 1seg. (792 kB/s)   
Preconfigurando paquetes ...
Seleccionando el paquete isc-dhcp-server previamente no seleccionado.
(Leyendo la base de datos ... 140970 ficheros o directorios instalados actualmente.)
Desempaquetando isc-dhcp-server (de .../isc-dhcp-server_4.2.2.dfsg.1-5+deb70u6_i386.deb) ...
Procesando disparadores para man-db ...
Configurando isc-dhcp-server (4.2.2.dfsg.1-5+deb70u6) ...
Generating /etc/default/isc-dhcp-server...
[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!
 failed!
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
                                                  
#

El programa que implementa el servidor DHCP es /usr/sbin/dhcpd y éste, como todos los servicios, lo podremos manejar a través de un script del directorio /etc/init.d/ o bien con el comando service:

# /etc/init.d/isc-dhcp-server
Usage: /etc/init.d/isc-dhcp-server {start|stop|restart|force-reload|status}
# /etc/init.d/isc-dhcp-server start
[ ok ] Starting ISC DHCP server: dhcpd.
# service isc-dhcp-server start
[ ok ] Starting ISC DHCP server: dhcpd.

La instalación anterior del servidor debe haber configurado el sistema operativo para que se active automáticamente cuando se encienda el ordenador. Esto lo podemos comprobar mirando que exista el fichero que lanzará el arranque (Start) del servidor DHCP, el cual debe encontrarse al menos en el directorio init del nivel de arranque actual de nuestro sistema operativo. Para saber cuál es el nivel de arranque actual usaremos la instrucción who:

# who -r
         `run-level' 2 2014-01-07 18:15                   último=S
# ls /etc/rc2.d
README            S13rpcbind        S16sudo              S17atd   S17isc-dhcp-server   S18bluetooth S20minissdpd
S01motd            S14nfs-common    S16virtualbox-guest-utils S17cron  S17pulseaudio      S18gdm3    S20rc.local
S01vboxadd        S16binfmt-support S17acpid              S17dbus  S17speech-dispatcher S19bootlogs  S20rmnologin
S02vboxadd-service S16rsyslog        S17anacron          S17exim4 S18avahi-daemon      S19saned

Ficheros del servidor DHCP a tener en cuenta son los siguientes:

  • /etc/dhcp/dhcpd.conf: es el fichero de configuración del servidor. Se puede modificar con el servidor ejecutándose, y una vez modificado reiniciaremos el servicio.
  • /var/lib/dhcp/dhcpd.leases: es el fichero base de datos donde se registran todas las concesiones de IP que se van dando a los clientes.
  • /etc/default/isc-dhcp-server: desde aquí se puede especificar qué ficheros sustituirán a los dos anteriores; también, cuáles serán las interfaces por las que el servidor DHCP escuchará peticiones de IP.
  • /var/log/syslog: en este fichero se irán escribiendo los mensajes log del servidor DHCP, a menos que lo cambiemos a otro fichero.
  • /var/run/dhcpd.pid: contiene el PID de servidor DHCP (dhcpd).
  • /usr/share/doc/isc-dhcp-*: varios directorios donde hay diversa documentación sobre el servicio DHCP junto con ejemplos.

Podemos usar la orden man para obtener diversa documentación:

  • man dhcpd
  • man dhcpd.conf
  • man dhcp-options
  • man dhcp-eval