#SysAdmin – Automatización de los Servicios – #DHCP

dhcp-architecture
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.

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.

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 192.168.1.1 y 192.168.1.2
  • Dominio: armandof.cu

 

Pasos a seguir para realizar la instalación:

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

Identiicamos el(los) nombre(s) de la(s) tarjeta(s) de red

# ip link show
# lshw -class network -short

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
dns-nameserver 192.168.1.1 192.168.1.2
dns-search armandof.cu

Esto suponiendo que su interfaz de red es la eth0.

Levantamos la(s) tarjeta(s) de red configurada(s)  para poder acceder al servidor
# ifup eth0

Instalamos un cortafuegos amigable

# apt-get install ufw

Hablitamos la bitacora del cortafuegos
# ufw logging on

Le indicamos al cortafuegos que registre en la bitacora los sucesos de nivel medio
# ufw logging medium

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 nano /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 “escuchar” 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 nano /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:

server-identifier dhcp.armandof.cu;
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 192.168.1.1,192.168.1.2; #servidores DNS
option domain-name "armandof.cu";
option tftp-server-name "tftp.armandof.cu";
option ntp-servers ntp.armandof.cu;
option netbios-name-servers wins.armandof.cu;
option smtp-server smtp.armandof.cu;
log-facility syslog;
autoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}

host lnx {
        option host-name "lnx.armandof.cu";
        hardware ethernet 00:11:22:33:44:55;
        fixed-address deb.armandof.cu;
    }
host wxp {
        option host-name "wxp.armandof.cu";
        hardware ethernet 08:00:27:b9:8d:d8;
        fixed-address wxp.armandof.cu;
    }    
host cls {
        option host-name "cls.armandof.cu";
        hardware ethernet 00:11:22:33:44:55;
        fixed-address cls.armandof.cu;
        next-server tftp.armandof.cu;
        if exists user-class and option user-class = "gPXE" {
            filename "";
            option root-path "aoe:e0.0";
        } else {
            filename "Gpxe-1.0.1+-gpxe.kpxe";
        }
    }
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 192.168.1.1,192.168.1.2: Es la dirección IP de nuestros servidores DNS como se explicó arriba.
  • option domain-name “ejemplo.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 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 con gusto les responderé.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*