A nivel de networking el protocolo DHCP (Dynamic Host Configuration Protocol) es uno de los mas usados por su función y capacidades que brindan para el direccionamiento IP en una red local.
El protocolo DHCP está basado en el modelo de cliente / servidor y su misión básica es permitir que un servidor asigne de forma automática una dirección IP junto a otros parámetros de configuración de red como la máscara de subred y la puerta de enlace a un cliente en una red. Esto simplifica las tareas de los administradores ya que evita hacer este trabajo de forma manual lo cual implica tiempo y recursos.
Un punto a tener en cuenta es que la dirección IP asignada a través del servidor DHCP a un cliente DHCP pasa a un estado de "arrendamiento", y este tiempo de arrendamiento dependerá de cuánto tiempo sea solicitada la conexión o la configuración DHCP. Gracias a DHCP sabremos que los equipos cliente tendrán una dirección IP asignada, lo cual garantiza su navegación y conectividad en la red.
Es por esto que en este tutorial Solvetic explicará cómo podemos instalar y configurar un servidor DHCP en CentOS 7 y Ubuntu 18.04.
1. Cómo instalar el protocolo DHCP en CentOS 7 y Ubuntu 18.04 (Linux)
El paquete del servidor DHCP se encuentra disponible en los repositorios oficiales de las distribuciones de Linux, para ello ejecutamos los siguientes comandos:
sudo apt install isc-dhcp-server
Allí ingresamos la letra "S" para confirmar la descarga e instalación.
yum install dhcp
Ingresamos la letra "y" para confirmar la descarga e instalación de DHCP.
Una vez el proceso de instalación finalice, debemos configurar la interfaz en la cual se desea que el demonio DHCP administre y gestione las solicitudes a través del archivo de configuración:
/etc/default/isc-dhcp-servero
/etc /sysconfig/dhcpd
nano /etc/sysconfig/dhcpd
En la parte inferior debemos adicionar la línea:
DHCPDARGS=”eth0”Guardamos los cambios con las teclas:
Ctrl + O
Salimos del editor con las teclas:
Ctrl + X
sudo nano /etc/default/isc-dhcp-server
Igual agregamos la línea:
DHCPDARGS=”eth0”
2. Cómo configurar DHCP en CentOS 7 y Ubuntu 18.04 (Linux)
El archivo de configuración principal de DHCP está ubicado en la ruta:
/etc/dhcp/dhcpd.confAllí se aloja la configuración asociada a todos los parámetros de red que deben estar listos para los clientes.
Este archivo está basado en una lista de declaraciones agrupadas en dos categorías que son:
Para acceder a este archivo ejecutamos lo siguiente:
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf vi /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
Allí, en primer lugar, vamos a definir los parámetros globales para todas las redes compatibles, en la parte superior del archivo, esto se aplicará a todas las declaraciones, allí ingresamos lo siguiente:
option domain-name "solvetic.lan"; option domain-name-servers ns1.solvetic.lan, ns2.solvetic.lan; default-lease-time 3600; max-lease-time 7200; authoritative;Luego debemos definir una subred para una subred interna.
subnet 192.168.1.1 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-search "solvetic.lan"; option domain-name-servers 192.168.0.1; range 192.168.0.20 192.168.0.40; range 192.168.0.50 192.168.10.80; }
Después de esto guardamos los cambios.
Una vez configurado el demonio del servidor DHCP, será necesario iniciar el servicio y habilitarlo con el fin de que se inicie automáticamente en el siguiente inicio del sistema, y verificar si está funcionando de la forma con los siguientes comandos:
systemctl start dhcpd systemctl enable dhcpd systemctl enable dhcpd
sudo systemctl start isc-dhcp-server sudo systemctl enable isc-dhcp-server sudo systemctl enable isc-dhcp-server
Después de esto, debemos permitir las solicitudes al demonio DHCP en Firewall, el cual escucha en el puerto 67 / UDP, de modo que ejecutamos lo siguiente:
firewall-cmd --zone=public --permanent --add-service=dhcp firewall-cmd --reload
sudo ufw allow 67/udp sudo ufw reload
3. Cómo configurar los clientes para DHCP en CentOS 7 y Ubuntu 18.04 (Linux)
El ultimo paso consiste en validar si el servidor DHCP funciona de la forma correcta, para ello debemos iniciar sesión las máquinas cliente en la red y configurarlas con el fin de que reciban automáticamente direcciones IP desde el servidor DHCP configurado.
Allí debemos modificar el archivo de configuración apropiado para la interfaz en la cual los clientes recibirán automáticamente las direcciones IP.
nano /etc/sysconfig/network-scripts/ifcfg-eth0Allí ingresamos las siguientes líneas o validamos que las mismas ya existan:
DEVICE=eth0 BOOTPROTO=dhcp TYPE=Ethernet ONBOOT=yes
Guardamos los cambios y reiniciamos el servicio ejecutando:
systemctl restart network
Para el caso de Ubuntu 18.04 accederemos con la siguiente línea:
sudo nano /etc/netplan/01-netcfg.yamlAllí será necesario habilitar dhcp4 en una interfaz específica y comentar las configuraciones relacionadas con IP estática:
network:
version: 2 renderer: networkd ethernets: eth0: dhcp4: yes
Guardamos los cambios y actualizamos los mismos ejecutando:
sudo netplan apply
man dhcpd man dhcpd.conf
Asi, DHCP es un protocolo útil para la gestión y control de dirección.