Instalación y Configuración DHCP Debian 10.2

Introducción

En este post, vamos aprender como configurar e instalar un servidor DHCP en Debian (10.2), para hacer que nuestros equipos conectados a la red puedan recibir una configuración de red dinámicamente. Aparte también aprenderemos a realizar las reservas en la red para equipos específicos. El servidor DHCP es muy útil para no tener que configurar manualmente 100 máquinas en una empresa. En nuestro caso los clientes serán; Un Debian 10.2 (Con entorno gráfico) y un Windows 7 (Home Premium).

Caso Practico

Nuestros jefes nos asignaron este trabajo porque confían en nosotros y saben que lo realizaremos sin problemas. Consiste en que los clientes conectados a la red obtengan una configuración de red especifica, además de realizar una reserva a un equipo directivo. Tendremos que tener instaladas y configuradas 2 tarjetas de red para que todo funcione.

Trabajaré sobre un entorno VirtualBox preparado y configurado para esta tarea , pero se puede hacer con máquinas reales conectadas y cableadas entre sí.

Entorno de red basado en 192.168.1.0

Nuestro servidor Debian configurado con el DHCP será nuestro centro de datos, donde se asignan las interfaces de red (192.168.1.x) automáticamente a los clientes, estos estarán configurados dinámicamente para que el servidor reciba la petición y la resuelva.

Para explicar un poco el proceso, el cliente envía una petición broadcast a toda la red si hay algún servidor DHCP este le responderá y le enviara la configuración de red, luego el cliente enviará de nuevo una petición diciéndole al servidor DHCP que se quedara con esa dirección y el servidor vuelve a enviar una petición apuntando la dirección que le envió a esa máquina y el tiempo de concesión que tiene.

En esta peticiones no solo viajan las direcciones IP, también la MAC de la red, Puerta de Enlace del servidor, Nombres de DNS y nombres del Dominio (En las siguientes entradas configuraremos el dominio de nuestra máquina).

Instalación del Servicio DHCP en Debian

Tendremos que acceder al servidor Debian y entrar como «root«, es muy importante para poder configurar todos los ficheros necesarios:

su -

Antes de nada actualizaremos los repositorios de nuestra maquina para descargar los paquetes necesarios:

apt-get update

Empezaremos la instalación del servicio, se puede utilizar aptitude o apt. En mi caso utilizado aptitude pero para quien no lo tenga instalado puede utilizar apt:

apt-get install isc-dhcp-server

Al principio nos aparecerá un mensaje de error, no preocuparse es normal ya que el servidor todavía necesita configurarse:

Configuración del Servidor DHCP en Debian

Ahora que tenemos el servicio instalado, procedemos a configurar las interfaces de red, para esto tuvimos que configurar anteriormente las tarjetas en virtualbox, esto se explica mas a fondo en el anterior post: https://onecupoflinux.data.blog/2020/01/22/dhcp-2-ambitos/.

Para la configuración necesitaremos saber qué nombre tienen nuestras interfaces de red, escribimos el siguiente comando:

ip a

Como podemos ver ninguna de ellas esta configurada, pero podemos saber que la «enp0s3» es el «Adaptador puente» y «enp0s8» es la red interna. Procedemos a configurar el siguiente fichero:

nano /etc/network/interfaces

Agregamos las siguiente lineas de comandos:

#Tarjeta de Red Puente
auto enp0s3 
allow-hotplug enp0s3 
iface enp0s3 inet dhcp
#Tarjeta de Red Interna
allow-hotplug enp0s8 
auto enps0s8 iface enp0s8 
inet static address 
192.168.1.1 
netmask 255.255.255.0

Con el nombre de la tarjeta hacemos referencia a la configuración especifica de cada una de ellas.

Debería quedar como el fichero de abajo. Las lineas justo debajo son para realizar el «NAT» en la red interna pero esto se explica en los posts anteriores; https://onecupoflinux.data.blog/2020/01/12/blog-1-instalacion-y-configuracion-inicial/

Para terminar guardamos el fichero con «Ctrl + O» y salimos. Realizamos el siguiente comando para reiniciar la configuración de red del equipo:

/etc/init.d/networking restart

Verificamos que esta configurado correctamente con el comando anterior visto «ip a«.

Nos situaremos en el primer fichero de configuracion del DHCP donde agregaremos la tarjeta de red interna en nuestro caso «enp0s8» para que pueda escuchar por ella y recibir las peticiones broadcast de los equipos clientes:

nano /etc/default/isc-dhcp-server
Guardamos con Ctrl + O y salimos.

Nos situaremos en el segundo fichero para añadir los parámetros que dará nuestro DHCP en las interfaces de red:

nano /etc/dhcp/dhcpd.conf

Al principio del fichero encontraremos una opción muy importante que controlara el tiempo de concesión es decir, cuanto tiempo tendrá la maquina cliente la dirección IP que le brinda el servidor DHCP.

Normalmente esta opción se suele deja por defecto.

Aclaraciones sobre las concesiones del DHCP

El servidor DHCP al renovarte la dirección IP suele darte la misma a no ser que se especifique otra diferente manualmente, como por ejemplo en las reservas.

Digamos que cuando pasa la mitad del tiempo de concesión el cliente automáticamente envía una petición al servidor para que este se la renueve, se hace para saber si el servidor sigue funciona o esta caído. En el caso de que este caído, si acaba el tiempo de concesión se quedara con la misma dirección asta que reinicie el equipo, luego se pondrá sola la dirección de APIPA.

Esta dirección se pone aleatoriamente y se utiliza cuando el servidor DHCP se cae, y se para que los clientes puedan seguir comunicándose entre ellos, pero sin salir a internet ya que no tienen un servidor DHCP que les brinde la puerta de enlace.

Seguimos con la configuracion del fichero DHCP

Nos situaremos al final del fichero con «Ctrl + FIN» y añadiremos las siguiente lineas de comandos:

Cada una especifica una opción diferente en la configuración de red que se enviara a los cliente, aunque en este post utilicemos 5 opciones, existen muchas mas pero por ahora con estas sera suficiente.

SeccionesDescripción
subnetEspecifican los rangos de direcciones IPs que serán cedidas a los clientes
rangeIndicamos el rango de direcciones IP que vamos a asignar.
option routersIndicamos la puerta de enlace que se utiliza para salir a internet.
option broadcast-addressDirección de difusión de la red.
option domain-name-serversDirecciones IP de los servidores DNS que utilizaran los clientes.

Importante después de especificar la subnet hay que abrir unas llaves «{}» y cuando acabemos de escribir cada linea un «;» si no, dará fallos al iniciar.

Evidentemente cada Administrador escogerá la red que mas le guste, en mi caso utilizo esta que es la especificada por mis superiores. Vamos a comprobar que todas las opciones están configuradas correctamente con el siguiente comando.

/etc/init.d/isc-dhcp-server restart

Si cuando ejecutamos este comando nos da un error, podemos ver todos los errores ocurridos con el siguiente comando:

journalctl -xe

Entraremos en las maquinas clientes configuradas de manera automática y verificaremos que todo funciona correctamente.

Comprobación de las concesiones del DHCP

Entraremos en el cliente debian 10 para comprobar si la configuración de red esta correcta:

Entraremos en el cliente windows 7 para comprobar que nos dio la configuracion exacta, al encender el cliente automáticamente nos da la configuración de red:

Para verificar exactamente que nos están dando las direcciones correctas entraremos desde el servidor Debian en el siguiente fichero donde se especifica que direcciones a concedido el DHCP.

nano /var/lib/dhcp/dhcpd.leases

Esta seria la concesión de la maquina debian 10.2

Esta seria la concesión de la maquina windows 7:

Configuración de una Reserva DHCP en Debian

Volveremos a entrar al fichero anterior de configuracion y no situaremos la final, y justo debajo haremos unos cuantos intros para escribir las siguientes lineas de comandos.

nano /etc/dhcp/dhcpd.conf

Para saber los parámetros de la dirección mac, necesitaremos saberla de antemano de los clientes que queremos reservar y utilizar una dirección que no genere conflicto en la red.

hostDebemos poner el nombre que identifica al host y los siguientes parámetros
hardware ethernetEs la dirección MAC de la tarjeta de red del host.
fixed-addressLa dirección IP que le vamos a asignar.

Justo después de especificar el nombre «host» utilizamos las llaves «{}» igual que antes. Debería quedar una cosa parecida a esta:

La dirección MAC del cliente Debian la sacamos del comando «Ip a«. La especificamos en la linea correspondiente.

Cuando acabemos de configurar el fichero lo guardamos con «Ctrl + O«. Después tendremos que reiniciar el servicio y si no funcionara, el server para asegurarnos:

/etc/init.d/isc-dhcp-server restart

Ahora tendremos que entrar en la maquina Debian cliente y borrar nuestra configuración de red a la fuerza. Para ser mas exactos tendremos que quitarnos la dirección IP que ya teníamos con los siguientes comandos:

dhclient -r Nos quitamos la configuración actual.
dhclient Pedimos al servidor DHCP una nueva configuración de red.

Al pedir la configuración nueva, prevalece la reserva por eso se actualiza con la dirección que especificamos en el fichero de configuracion.

Ademas si volvemos a entrar en el fichero de las concesiones nos saldrá lo siguiente:

nano /var/lib/dhcp/dhcpd.leases

Podemos ver como concedió la reserva a la maquina debian. Todo esta bien configurado y funcionando correctamente. Esto seria el final del post. Si tenéis algún problema con errores de ficheros, verificad las faltas de ortografía y erratas que suele ser el mayor problema a la hora de configurar ficheros en debian.

Muchas gracias por ver este post, si tienes alguna duda deja tu comentario abajo.🤪

Deja un comentario