DHCP en Linux – Configuración básica

¿Que es y para que sirve el protocolo DHCP?

DHCP (siglas en inglés de Dynamic Host Configuration Protocol, en español «protocolo de configuración dinámica de host») es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van quedando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.

Este protocolo se publicó en octubre de 1993, y su implementación actual está en la RFC 2131 . Para DHCPv6 se publica el RFC 3315 .

Más información…

¿Que puedo hacer para convertir a un equipo en Servidor DHCP?

La manera más fácil y rápida es simplemente tener un equipo con alguna versión de Windows Server instalada, a ser posible lo más actual posible. Pero cómo lo normal es que si no somos una gran empresa y no nos podemos costear los gastos de licencia que conlleva la compra de una versión Windows Server, quizás tengamos que optar por decantarnos por el software libre.

Es cierto que puede ser un poco más difícil de instalar y configurar, no obstante yo prefiero el software libre para este tipo de servicios, porque primero que me ahorro dinero en licencias y segundo que cómo futuro administrador que espero ser, me gusta más hacer las cosas vía comando. Pero bueno para gustos los colores. Yo os dejo un par de alternativas que podéis usar para instalar este servicio en vuestro equipo:

  • isc-dhcp-server (el que vamos a ver)
  • dhcp3-server

Pasos para la instalación del servicio isc-dhcp-server

 

IMPORTANTE: La máquina en la que configuremos el servicio DHCP debe tener una dirección IP estática. Dicho esto si tenemos en la máquina dos interfaces de red, es importante configurar una de ellas en estática.

Paso 1

Actualizar los repositorios de nuestra máquina:

$sudo apt-get update

Instalar el servicio indicado (isc-dhcp-server):

$sudo apt-get install isc-dhcp-server

Paso 2

Ahora tenemos que configurar porque interfaz va a escuchar el servicio DHCP, para hacer resto nos tenemos que ir al archivo «/etc/default/isc-dhcp-server» y editarlo. Debe quedar algo parecido a esto:

dhcp

Si quisiéramos que el servicio escuchara por más de una interfaz del equipo, sería necesario separar los nombres por espacio, de manera similar a:

INTERFACES=»eth0 eth1 eth2″

Paso 3

Hacer una copia de seguridad del fichero «/etc/dhcp/dhcpd.conf» en un directorio que nosotros consideremos, yo en mi caso cómo es una máquina virtual enviaré la copia a mi directorio home, es decir:

$sudo cp /etc/dhcp/dhcpd.conf /home/miguelcarretas

Ahora procedemos a modificar el fichero acorde a nuestras necesidades. Yo os voy a poner cómo ejemplo las siguientes:

  • Tiempo de concesión: 1 día
  • Máximo tiempo de concesión: 8 días
  • Mínimo tiempo de concesión: 1 hora
  • Máscara de red: 255.255.255.0
  • Puerta de enlace: 192.168.0.200
  • Servidor DNS: 8.8.8.8
  • Servirá el rango de direcciones: 192.168.0.1 – 99

Para ello el fichero nos debería quedar exactamente así:

dhcp

Paso 4

Reiniciar el servicio isc-dhcp-server, para ello podemos utilizar:

  • sudo service isc-dhcp-server restart
  • sudo /etc/init.d/isc-dhcp-server restart
  • Como caso extremo reiniciar la máquina

Paso 5

Comprobar que no hay errores en el servidor:

$cat /var/log/syslog/

dhcp

Paso 6

Verificar que el proceso está en ejecución:

ps -ef | grep dhcp

dhcp

Paso 7

Comprobar que el servidor escucha por el puerto 67:

netstat -ltun

dhcp

Paso 8

Consultar el fichero de concesiones para comprobar que todavía no existe ninguna concesión:

cat /var/lib/dhcp/dhcpd.leases

dhcp

Paso 9

Conectarnos con un equipo cliente con configuración de red por DHCP.

dhcp

Paso 10

Volver a mirar el fichero de concesiones y comprobar que efectivamente existe una nueva concesión:

cat /var/lib/dhcp/dhcpd.leases

dhcp

Deja un comentario


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.