Home » Servidores » Instalar Servidor DHCP en Ubuntu Server

Instalar Servidor DHCP en Ubuntu Server

Hoy vamos a instalar un Servidor DHCP en Ubuntu Server.

Ya hemos hablado y explicado en otras ocasiones este protocolo. Si necesitais refrescar conceptos podéis revisar el artículo sobre Servicio DHCP y pruebas con Whireshark.
 

Primero vamos a configurar las interfaces editando el archivo   /etc/network/interfaces

Crearemos  nuestro servidor dhcp sobre una interfaz interna eth1 con ip 192.168.1.150

auto eth1
iface eth1 inet static
address 192.168.1.150
netmask 255.255.255.0

 

 Ahora vamos a por el paquete que instalará en nuestra máquina Linux el servicio de servidor dhcp :

$ sudo apt-get install dhcp3-server

instalar servidor dhcp ubuntu

 
Y después podremos configurar nuestro servidor dhcp.

Buscamos el archivo dhcpd.conf en :

/etc/dhcp3/dhcpd.conf

Podemos hacer un backup del archivo antes de editarlo:

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.back

 

 Tenemos que localizar el siguiente texto y lo editaremos a nuestra conveniencia:

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name “internal.example.org”;
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}

Tiene que quedar así, por ejemplo (esta es una configuración muy básica):

default-lease-time 86400;
max-lease-time 604800;
get-lease-hostnames false;  


subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name <IP servidor de nombres>;
range 192.168.1.31 192.168.1.41;
}

 

default-lease-time : Especifica la cantidad de tiempo (en segundos) que durará la asignación de dirección a cada cliente.
max-lease-time : Especifica la cantidad de tiempo máximo que durará la asignación de dirección a cada cliente.

get-lease-hostnames false :

get-lease-hostnames true sirve para configurar DHCP de ISC para establecer la opción de nombre de host basado en datos de DNS .

option domain-name : Especifica el nombre de dominio del servidor de Nombres que usará el cliente en las peticiones DNS.

Configuramos la interfaz sobre la que funcionará DHCP:

/etc/default/dhcp3-server

 
interfaz DHCP  /etc/default/dhcp3-server

 

 Luego activamos el servidor DHCP sobre la interfaz deseada:

/etc/init.d/dhcp3-server start

(Podemos reiniciarlo posteriormente cuando sea necesario con dhcpd3 eth1 start .

También es posible que debamos reiniciar las interfaces de red:

/etc/init.d/networking restart

 
Puede que recibamos el siguiente error:

Can’t create PID file /var/run/dhcpd.pid: Permission denied.

En cuyo caso habremos de crear un enlace simbólico apuntando al PID:

ln -s /var/run/dhcp3-server/dhcpd.pid /var/run/dhcpd.pid


Configuración del cliente :

Lo configuraremos como Automático (DHCP):

cliente dhcp

 

 En el Cliente tendremos que volver a pedir una dirección IP, así que vamos a ejecutar el cliente dhcp.

Lo hacemos con el comando dhclient

dhclient

 
Observamos que el cliente acepta la dirección 192.168.1.31

También podemos revisar el log en el Servidor DHCP, con

tail -f /var/log/syslog

Log del Servidor DHCP

Podemos observar cómo el cliente tenía al principio la ip 192.168.1.155, que ha cambiado por la 192.168.1.31 , que es la primera posible del rango configurado.

Con esto habremos configurado nuestro servidor DHCP de forma básica.

 
Puede que nos encontremos con este POSIBLE ERROR:

not configured to listen on any interfaces dhcpd

Probablemente nos hemos olvidado de editar el archivo /etc/default/dhcp3-server , en el cual configuramos la interfaz sobre la que funcionará nuestro server dhcp.
También podemos iniciar el servicio de esta forma: /etc/init.d/dhcp3-server restart
O con sudo dhcpd3 eth1 restart

 
Otro detalle que debemos tener en cuenta es que el servidor DHCP utiliza el puerto 67 y 68 a través de UDP.
Si configuramos un firewall o cortafuegos, debemos asegurarnos de permitir dicho tráfico .

 
Información y Descargas sobre DHCP Isc

dhclient dhcpd.conf firewall init.d lease netmask puerto 67 range subnet

Otros Articulos