Saltar al contenido

Como instalar un Servidor DHCP en Ubuntu

Un servidor DHCP asigna din谩micamente direcciones IP a las PC dentro de una red, esto evita que tengamos que configurar la direcci贸n IP de cada m谩quina por separado por lo que es muy utilizado en todo tipo de redes. Adem谩s de asignar la direcci贸n IP DHCP puede proporcionar un conjunto de configuraciones autom谩ticas como por ejemplo la direcci贸n de broadcast, las direcciones de los servidores DNS y muchos otros par谩metros que veremos en este tutorial.

En este tutorial vamos a ver como instalar un servidor DHCP en Ubuntu, que proporcionar谩 el direccionamiento IP dentro de nuestra red y adem谩s configuraremos otro par谩metros necesarios para que las PC puedan navegar y comunicarse dentro y fuera de nuestra red.

Como se muestra en la Figura 1, estamos suponiendo una red sencilla con varios clientes, una impresora en red y un gateway (o pasarela de datos, que puede ser un swtich, router, router inal谩mbrico, etc.) que permite la conexi贸n hacia Internet.

dhcp

Figura 1. Red de ejemplo para DHCP Server

Nuestra red est谩 planificada con los siguientes par谩metros:

  • Red: 192.168.1.0
  • M谩scara de red: 255.255.255.0
  • Direcci贸n de Broadcast: 192.168.1.255
  • Rango de direcciones por DHCP: 192.168.1.100 al 192.168.1.200
  • Gateway: 192.168.1.1
  • Direcci贸n de red de nuestro servidor DHCP: 192.168.1.5
  • Impresora en red: 192.168.1.10 con direcci贸n MAC o de hardware 00:00:55:ef:db:55 (si no la direcci贸n MAC de su impresora de red casi siempre est谩 en alguna etiqueta de la impresora o revisen el manual)
  • Servidores DNS 208.67.222.222 y 208.67.220.220 (estos son los de OpenDNS utilicen los de su ISP o los que tengan en el archivo /etc/resolv.conf donde diga nameserver)

Pasos a seguir para realizar la instalaci贸n:

1. Asignar una direcci贸n IP fija a nuestro servidor DHCP

Para esto abrimos el archivo de configuraci贸n de red que se encuentra en /etc/network/interfaces y colocamos lo siguiente dentro del archivo:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Esto suponiendo que su interfaz de red es la eth0, si no sabe o quiere saber m谩s acerca de como configurar una direcci贸n IP fija visite聽este art铆culo.

2. Instalaci贸n del servidor DHCP

Abrimos el terminal en Ubuntu y ejecutamos:

sudo apt-get install dhcp3-server

Al finalizar la instalaci贸n aparecer谩n unos mensajes parecidos a estos:

Setting up dhcp3-server (3.1.3-2ubuntu3) ...
Generating /etc/default/dhcp3-server...
 * Starting DHCP server dhcpd3  
 * check syslog for diagnostics.      [fail]
 Setting up dhcp3-server (3.1.3-2ubuntu3) ...Generating /etc/default/dhcp3-server... * Starting DHCP server dhcpd3                                                   * check syslog for diagnostics.                                                                         [fail]

No se preocupen por los mensajes de fallos estos simplemente ocurren porque a煤n no hemos configurado el servidor.

3. Seleccionar la interfaz de red en la cual va a funcionar el servidor DHCP

Si configuramos la interfaz eth0 en el paso 1 usaremos esta, si configuramos otra tienen que cambiar donde est谩 eth0 por la interfaz de red a utilizar

Abrimos el archivo que se encuentra en sudo /etc/default/dhcp3-server ejecutando:

sudo vim /etc/default/dhcp3-server

Nota: Pueden utilizar el editor de su preferencia (nano, gedit, vi, emacs, etc).

Donde aparece:

INTERFACES=""

La cambiamos por:

INTERFACES="eth0"

En eth0 el 0 es un CERO

Luego guardamos y cerramos el archivo, aqu铆 estamos diciendo que el servidor DHCP debe 鈥渆scuchar鈥 en esta interfaz por las peticiones de DHCP.

4. Modificar el archivo de configuraci贸n de DHCP

Antes de modificar el archivo de configuraci贸n de DHCP hacemos un respaldo del archivo, para tener siempre el original por cualquier fallo que se nos pueda presentar, ejecutamos en el terminal:

sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf-respaldo

Luego abrimos el archivo de configuraci贸n de DHCP ejecutando:

sudo vim /etc/dhcp3/dhcpd.conf

Dentro del archivo encontrar谩n gran cantidad de comentarios y ejemplos que sirven como gu铆a para configurar el servidor DHCP en este caso vamos a borrar todo lo que existe dentro del archivo (lo respaldaron como les dije en el paso anterior cierto?) y colocamos:

default-lease-time 600; #tiempo de espera antes de renovar la direccion IP
max-lease-time 7200;  #tiempo m谩ximo de espera antes de renovar la direccion IP
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 208.67.222.222,208.67.220.220; #servidores DNS
option domain-name "ejemplo.local";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
#Configuracion IP fija para impresora en red
host impresora1 {
hardware ethernet 00:00:55:ef:db:55;
fixed-address 192.168.1.10;
}

Recuerden cambiar los valores por los que hayan decidido en su red y cambiar la direcci贸n MAC de la impresora por la de su impresora.

Solo esto debe tener el archivo de configuraci贸n ni m谩s ni menos guarden el archivo. Vamos a verlo l铆nea por l铆nea:

  • default-lease-time 600: es el tiempo de pr茅stamo o alquiler por defecto de la direcci贸n IP y est谩 medido en segundos.
  • max-lease-time 7200: es el tiempo m谩ximo que debe durar una direcci贸n IP antes que caduque y el cliente deba pedir otra vez una direcci贸n.
  • option subnet-mask 255.255.255.0: Es la m谩scara de red que definimos arriba.
  • option broadcast-address 192.168.1.255: Es la direcci贸n de broadcast de nuestra red.
  • option routers 192.168.1.1: Es la direcci贸n IP de nuestro gateway (tambien llamado pasarela de datos o puerta de enlace).
  • option domain-name-servers 208.67.222.222,208.67.220.220: Es la direcci贸n IP de nuestros servidores DNS como se explic贸 arriba.
  • option domain-name 鈥渆jemplo.local鈥: Es el nombre de dominio de nuestra red, este par谩metro es opcional.
  • subnet 192.168.1.0 netmask 255.255.255.0 : Aqu铆 definimos nuestra red que queremos asignarle el rango de direcciones IP.
  • range 192.168.1.100 192.168.1.200: Es el rango de direcciones de la .100 a la .200.
  • host impresora1 : As铆 es como llamamos nuestra impresora de red para asignarle una IP fija.
  • hardware ethernet 00:00:55:ef:db:55: Aqu铆 especificamos la direcci贸n MAC o direcci贸n de hardware de la tarjeta de red de nuestra impresora (ver explicaci贸n arriba, utilicen su propia direcci贸n MAC)
  • fixed-address 192.168.1.10: Es la direcci贸n IP fija que le queremos asignar a nuestra impresora.

Si tienen alg煤n otro servidor que necesite una IP fija y no la quieran configurar en el servidor simplemente agregan las siguientes l铆neas igual que la impresora al final del archivo anterior:

host server1 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.11;
}

Cambiando por supuesto la direcci贸n MAC de su servidor (pueden obtenerla ejecutando ifconfig donde dice MAC o direcci贸nHW) y la direcci贸n IP que uds quieran dentro de su red.

5. Reiniciar el servidor DHCP

Por 煤ltimo para que la configuraci贸n haga efecto y nuestro servidor DHCP funcione ejecutamos:

sudo /etc/init.d/dhcp3-server restart

Con esto reiniciamos el servicio de DHCP y si no sale ning煤n error deber铆a funcionar (puede salir un error cuando intenta detener (STOP) el servicio porque simplemente no est谩 corriendo a煤n).

6. Probar en el cliente

NOTA IMPORTANTE: Debe existir s贸lo un servidor DHCP en nuestra red, si tienen alg煤n otro servidor DHCP (como por ejemplo el de un router o router inal谩mbrico) deben estar deshabilitado de lo contrario podr铆an tener conflictos dentro de su red.

Una vez que tengamos configurado nuestro servidor DHCP es hora de obtener las direcciones IP en nuestros clientes. Tenemos dos casos:

a. Si el PC cliente ya est谩 encendido y tiene una direcci贸n IP asignada deber谩n, tanto para un PC con MS Windows como Linux, solicitar que renueve la direcci贸n IP de su PC.

b. Si el PC est谩 apagado, no hay problemas la pr贸xima vez que la enciendan obtendr谩 la direcci贸n IP autom谩ticamente.

Una vez hecho esto los clientes deber谩n obtener direcciones IP autom谩ticamente y estar dentro del rango de .100 y .200. Por ejemplo 192.168.1.101.-

En un cliente Linux adem谩s pueden verificar ejecutando el comando:

sudo dhclient 

sudo solo es necesario para Ubuntu y derivados (deben tener permisos de administrador en el cliente) 贸

tail -n 15 /var/lib/dhcp3/dhclient.*.leases

Eso es todo ya tienen un servidor DHCP funcionando.

Cualquier duda o sugerencia por favor dejen su comentario y les responder茅.

Nosotros en ofrecemos servicios de soporte, instalaci贸n y configuraci贸n de Linux y Software Libre para PyMES y corporaciones,