Servidor DHCP en Ubuntu 18.04

Buenas a todos,

En este artículo vamos a mostrar como configurar un servidor DHCP en Ubuntu 18.04 Server. No vamos a explicar como funciona el protocolo DHCP por debajo, pero dejamos un enlace para el que quiera profundizar: Dynamic Host Configuration Protocol

En la siguiente imagen vemos el escenario sobre el que vamos a trabajar:
La práctica la vamos a hacer con máquinas virtuales. El servidor tendrá dos interfaces de red, una conectada a la red LAN 192.168.0.0/24 y la otra estará conectada a una red interna de VirtualBox y será la interfaz que sirva las configuraciones de red de los clientes. Por otro lado, tendremos una máquina virtual con Ubuntu Desktop instalado que hará de cliente y cuya interfaz de red estará conectada a la misma red interna que la segunda interfaz del servidor DHCP.

En la siguiente imágen podemos ver las dos mmvv que utilizaremos para la práctica:

En la siguiente imagen podemos ver la primera interfaz del servidor dhcp. Está en modo puente, es decir, esta interfaz de red estará conectada a la red 192.168.0.0/24 (nuestra LAN) y será la interfaz a través de la cuál los clientes saldrán a Internet:

En la siguiente imagen vemos segunda interfaz de red del servidor (conectada a la red interna intnet):

En la siguiente imagen vemos la interfaz de red del cliente (conectada a la red interna intnet):

Antes de nada, para que el tráfico pueda fluir entre las dos interfaces de red del servidor, es necesario activar el bit de forwarding, y esto se puede hacer descomentando la línea «net.ipv4.ip_forward=1» del fichero /etc/sysctl.conf

Si esta variable es igual a 1 significa que el bit de forwarding está activado, y, si es igual a 0, significa que está desactivado.

Procedemos a establecer una configuración estática de red para la interfaz que está en modo puente (enp0s3) y para la interfaz que está conectada a la red interna:

Tras la edición del fichero que se ve en la imagen anterior, solo nos queda ejecutar el comando «sudo netplan apply» y ya tendremos las dos interfaces con la configuración de red adecuada. La primera interfaz tendrá la dirección IP 192.168.0.120/24 y la segunda tendrá la dirección IP 192.168.100.1/24.

Tras reiniciar, en la pantalla de login podemos apreciar que ambas interfaces tienen las direcciones asignadas:

Para que el tráfico que proviene de la interfaz de red conectada a la red interna pueda salir a Internet pasando por la interfaz de red que está en modo puente, es necesario añadir una regla al firewall IPtables como la siguiente:

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 0/0 -j MASQUERADE

En la siguiente imagen listamos las reglas existentes y vemos la regla que acabamos de mencionar:

Una vez hecho todo esto, procedemos a instalar el software que implementa el servidor dhcp mediante el comando:

sudo apt install isc-dhcp-server

Una vez hecho esto, comenzamos a configurar nuestro servidor dhcp:

En primer lugar, editamos el fichero /etc/default/isc-dhcp-server indicando cuál de nuestras interfaces queremos que reparta las configuraciones de red (en nuestro caso será enp0s8, la interfaz conectada a la red interna):

El siguiente paso es configurar los parámetros de las configuraciones de red que nuestro servidor enviará a los clientes. Esto lo hacemos editando el fichero /etc/dhcp/dhcpd.conf

En la imagen anterior se aprecia como indicamos el rango de direcciones que se repartirá a los clientes, así como otros parámetros (esto ya depende del funcionamiento que deseemos que tenga nuestro servidor dhcp).

Una vez hecho esto, ya tenemos nuestro servidor dhcp listo para cumplir con su cometido.

Iniciamos un cliente, que por defecto tendrá una configuración dinámica de red (esto quiere decir que pedirá su configuración de red al servidor dhcp más próximo):

En la imagen anterior vemos que con el comando «ip a s» mostramos los datos referentes a las interfaces de red, y observamos que se ha recibido la IP 192.168.100.2/24 que es la primera del rango que hemos establecido en nuestro servidor DHCP. Después de eso hacemos ping a Google para comprobar que tenemos salida a Internet.

Deja un comentario

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