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 dhcp.
  • 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 :El cliente recibe una dirección dhcp pero no un nombre de host.
  • get-lease-hostnames true sirve para configurar DHCP de ISC para establecer la opción de nombre de host basado en datos de DNS
       
    . Se suele elegir esta opción cuando el servidor maneja un número pequeño de direcciones dinámicas.
  • 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á el servidor DHCP:

/etc/default/dhcp3-server

Servidor DHCP | 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):

Servidor 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

Servidor DHCP | 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

Servidor DHCP | 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.

También 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
 


Etiquetas del articulo: ,


Suscríbete para acceder a la zona privada

Suscribiéndote a la lista de correo de El Taller del Bit conseguirás entrar a la zona privada de descargas con materiales exclusivos (ebooks, artículos privados, plugins, descargas de exámenes resueltos ...)

Gracias. Te has suscrito con éxito!