Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"
Error
  • JUser: :_load: No se ha podido cargar al usuario con 'ID': 77

Boletín No 40
1 de Noviembre 2013

 

 

 

 

CONFIGURACIÓN DE UN SERVIDOR DHCP

 

 

M. en C. Cyntia E. Enríquez Ortiz
M. en C. Raúl Fernández Zavala
IPN-UPIITA Academia de Telemática

 

 

Resumen

En la actualidad la mayoría de las redes TCP/IP cuentan con un servidor DHCP, el cual es el encargado de asignar en forma dinámica las direcciones IP y distribuir la información de configuración a los clientes de la red. En este trabajo se describe la configuración de una minicomputadora Raspberry Pi para que actúe como servidor DHCP.

 

 

Protocolo DHCP

El Protocolo de Configuración Dinámica de Host, DHCP por sus siglas en inglés (Dynamic Host Configuration Protocol), proporciona un mecanismo para pasar información de configuración a los hosts en una red TCP/IP (dirección IP, máscara de subred, dirección de puerta de enlace, etc.). Su objetivo principal es facilitar la administración en redes grandes, ya que sin la ayuda del protocolo DHCP, se tendría que configurar de manera manual la dirección IP de cada host que pertenezca a la red.

 

DHCP cuenta con tres métodos para la asignación de las direcciones IP:

1. Asignación estática, en la cual se utiliza una tabla que asocia una dirección IP a cada dirección MAC registrada. Solo los host con una dirección MAC definida en la tabla reciben una dirección IP.

2. Asignación automática, en este caso, una dirección IP disponible dentro de un rango determinado se asigna permanentemente al host que la requiera.

3. Asignación dinámica, en la cual se especifica arbitrariamente un rango de direcciones IP y cada host conectado a la red se configura para solicitar su dirección IP al servidor en cuanto se activa su dispositivo de red; la asignación de direcciones en este caso es de manera temporal y estas direcciones se reutilizan de forma dinámica.

 

Servidor DHCP

Un servidor DHCP es un equipo en una red que se mantiene a la escucha de peticiones de los clientes DHCP. Cuando una de estas peticiones es recibida, el servidor responde con una dirección IP y opcionalmente con información adicional como la máscara de red y la dirección del ruteador por defecto. El uso de la Raspberry Pi como servidor DHCP es una buena alternativa, ya que a pesar de contar con poca memoria y poca potencia de procesamiento, su bajo consumo de energía y su bajo costo hacen que sea una opción atractiva cuando se tienen pocos recursos.

 

Instalación y configuración de un Servidor DHCP en Rapsbian

El primer paso consiste en instalar el servidor DHCP en la Raspberry Pi con el gestor de paquetes de Raspbian, utilizando el comando $sudo aptget install isc-dhcp-server, al instalarlo se recibirá el siguiente aviso:

[FAIL] Starting ISC DHCP server: dhcpd[….] check sys log for diagnostics … failed! failed!

Este aviso indica que ocurrió un error al tratar de establecer el servicio DHCP debido a que no se tiene una configuración correcta, para corregirlo, es necesario editar dos archivos, el primero es /etc/default/isc-dhcp-server donde se configura la interfaz de red en la que se ejecutará el servicio, en este caso la interfaz Ethernet, para lo cual dentro del archivo se debe ubicar la línea INTERFACES y dejarla como INTERFACES = “etho”.

 

El segundo archivo es /etc/dhcp/dhcpd.conf, en el cual reside la configuración del servidor DHCP. En forma general este archivo consta de tres partes:

• Opciones globales: donde se declaran las opciones que serán comunes para todas las subredes que atienda el servidor DHCP.

• Opciones de subred: donde se encuentran opciones que sólo son válidas para esa subred.

• Direcciones reservadas: donde se asocian direcciones MAC a direcciones IP, para poder realizar asignación estática.

 

El servidor DHCP configurado en este trabajo sólo cuenta con una subred cuya dirección es 192.168.66.0/24, el rango de direcciones 192.168.66.100 – 192.168.66.119 se reservan como direcciones de asignación estática para los dispositivos que así lo requieran, en este ejemplo se usarán para el servidor DHCP y el ruteador por defecto, todas las otras direcciones IP disponibles en la subred se asignan dinámicamente, por lo que no existen direcciones reservadas. Por lo tanto, para que el servicio funcione con esta configuración el archivo /etc/dhcp/dhcpd.conf debe quedar como se muestra en la figura 1.

 

image001
Figura 1. Archivo /etc/dhcp/dhcpd.conf

 

Las líneas que comienzan con el símbolo de # son comentarios, las otras líneas se describen a continuación:

• ddns-update-style none, sirve para actualizar los registros DNS si la IP de un servidor cambia.

• option domain-name “home.local”, establece el nombre de dominio que se va a utilizar.

• option-domain-name-servers, configura los servidores DNS.

• default-lease-time 600, establece el tiempo por defecto en segundos de la concesión de la dirección IP.

• Max-lease-time 7200, define el tiempo máximo en segundos de la concesión de la dirección IP.

• authoritative, establece al servidor DHCP como servidor principal.

• range 192.168.66.0 192.168.66.99 y range 192.168.66.120 192.168.66.254 definen los rangos de direcciones IP que serán asignadas dinámicamente.

• option routers, especifica el ruteador de la subred que se está configurando.

• option subnet-mask 255.255.255.0, especifica la máscara de la subred.

• option broadcast-address 192.168.66.255, establece la dirección de difusión.

 

Una vez editados ambos archivos, el siguiente paso consiste en asignarle una dirección IP fija a la Raspberry Pi con la cual pueda ser identificado el servidor DHCP en lugar de una dirección dinámica, para esto se debe editar el archivo de configuración /etc/network/interface y cambiar la línea iface eth0 inet dhcp por las cuatro líneas sombreadas que muestran en la tabla 1.

 

 Sin título
Tabla 1. Edición del archivo /etc/network/interface /

 

En este caso al introducir la línea iface eth0 inet static se está indicando que se usará una asignación estática y las siguientes tres líneas configuran la interfaz de red que proporcionará el servicio.

Posteriormente, se debe reiniciar la Raspberry Pi, la cual tratará nuevamente de levantar el servicio DHCP, y esta vez debe realizarlo con éxito puesto que se han configurado correctamente las opciones. Para verificar que el servicio está activo, en la Raspberry Pi se puede utilizar el comando /etc/init.d/dhcp status, y en caso de que se esté ejecutando correctamente, se observa el mensaje de la figura 2.

 

image002
Figura 2. Verificación del estado del servidor DHCP

 

Por último, en la figura 3 se puede verificar que el funcionamiento del servidor DHCP es correcto, pues al conectar un cliente DHCP a la red, la dirección asignada a dicho cliente está en el rango de direcciones dinámicas configurado en el servidor DHCP y la información de red es la correcta.

 

2
Figura 4
Figura 3. Verificación del cliente DHCP

 

Conclusiones

En este artículo se presenta la configuración de un servidor DHCP en una minicomputadora Raspberry Pi, el servidor es capaz de asignar dinámicamente direcciones a cualquier cliente DHCP que se conecte a la red y es una buena opción debido a su bajo precio y flexibilidad.

 

Bibliografía

[1] Sameer Seth, “TCP/IP Architecture, Design and Implementation in Linux”, Wiley, 2008.

[2] Behrouz Forouzan, “TCP/IP Protocol Suite”, Mc. Graw Hill, 2009.

[3] Upton Eben, Halfacree Gareth, “Raspberry Pi User Guide”, Wiley, 2012.