Cómo configurar el servidor y el cliente DHCP en CentOS y Ubuntu


DHCP (abreviatura de Dynamic Host Configuration Protocol) es un protocolo cliente/servidor que permite a un servidor asignar automáticamente una dirección IP y otros parámetros de configuración relacionados (como la máscara de subred y la puerta de enlace predeterminada) a un cliente en una red.

DHCP es importante porque evita que un administrador del sistema o de la red configure manualmente las direcciones IP para las nuevas computadoras agregadas a la red o las computadoras que se mueven de una subred a otra.

La dirección IP asignada por un servidor DHCP a un cliente DHCP está en una "concesión", el tiempo de concesión normalmente varía dependiendo de cuánto tiempo es probable que una computadora cliente requiera la conexión o la configuración DHCP.

En este artículo, explicaremos cómo configurar un servidor DHCP en distribuciones CentOS y Ubuntu Linux para asignar una dirección IP automáticamente a una máquina cliente.

Instalación del servidor DHCP en CentOS y Ubuntu

El paquete del servidor DCHP está disponible en los repositorios oficiales de las principales distribuciones de Linux, la instalación es bastante fácil, simplemente ejecute el siguiente comando.

# yum install dhcp		        #CentOS
$ sudo apt install isc-dhcp-server	#Ubuntu

Una vez que se complete la instalación, configure la interfaz en la que desea que el demonio DHCP atienda las solicitudes en el archivo de configuración/etc/default/isc-dhcp-server o/etc/sysconfig/dhcpd.

# vim /etc/sysconfig/dhcpd		 #CentOS
$ sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

Por ejemplo, si desea que el demonio DHCPD escuche en eth0 , configúrelo usando la siguiente directiva.

DHCPDARGS=”eth0”

Guarda el archivo y cierra.

Configuración del servidor DHCP en CentOS y Ubuntu

El archivo principal de configuración de DHCP se encuentra en /etc/dhcp/dhcpd.conf , que debe contener configuraciones de qué hacer, dónde hacer algo y todos los parámetros de red para proporcionar a los clientes.

Este archivo consiste básicamente en una lista de declaraciones agrupadas en dos categorías amplias:

  • Parámetros globales: especifique cómo realizar una tarea, si realizar una tarea o qué parámetros de configuración de red proporcionar al cliente DHCP.
  • Declaraciones: define la topología de la red, indica la ubicación de un cliente, ofrece direcciones para los clientes o aplica un grupo de parámetros a un grupo de declaraciones.

Ahora, abra y edite el archivo de configuración para configurar su servidor DHCP.

------------ On CentOS ------------ 
# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
# vi /etc/dhcp/dhcpd.conf	

------------ On Ubuntu ------------
$ sudo vim /etc/dhcp/dhcpd.conf				

Comience por definir los parámetros globales que son comunes a todas las redes compatibles, en la parte superior del archivo. Se aplicarán a todas las declaraciones:

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

A continuación, debe definir una subred para una subred interna, es decir, 192.168.1.0/24 como se muestra.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.1.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Tenga en cuenta que los hosts que requieren opciones de configuración especiales se pueden enumerar en las declaraciones de host (consulte la página de manual dhcpd.conf).

Ahora que ha configurado su demonio del servidor DHCP, necesita iniciar el servicio por el tiempo medio y habilitarlo para que se inicie automáticamente desde el siguiente inicio del sistema, y verificar si está funcionando con los siguientes comandos.

------------ On CentOS ------------ 
# systemctl start dhcpd
# systemctl enable dhcpd
# systemctl enable dhcpd

------------ On Ubuntu ------------
$ sudo systemctl start isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server

Luego, permita solicitudes al demonio DHCP en Firewall, que escucha en el puerto 67/UDP, ejecutando.

------------ On CentOS ------------ 
# firewall-cmd --zone=public --permanent --add-service=dhcp
# firewall-cmd --reload 

#------------ On Ubuntu ------------
$ sudo ufw allow 67/udp
$ sudo ufw reload

Configuración de clientes DHCP

Finalmente, debe probar si el servidor DHCP está funcionando bien. Inicie sesión en algunas máquinas cliente de la red y configúrelas para que reciban automáticamente direcciones IP del servidor.

Modifique el archivo de configuración apropiado para la interfaz en la que los clientes recibirán automáticamente las direcciones IP.

En CentOS, los archivos de configuración de la interfaz se encuentran ubicados en/etc/sysconfig/network-scripts /.

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

Agregue las siguientes opciones:

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Guarde el archivo y reinicie el servicio de red (o reinicie el sistema).

# systemctl restart network

En Ubuntu 16.04, puede configurar todas las interfaces en el archivo de configuración/etc/network/interfaces.

   
$ sudo vi /etc/network/interfaces

Agregue estas líneas en él:

auto  eth0
iface eth0 inet dhcp

Guarde el archivo y reinicie los servicios de red (o reinicie el sistema).

$ sudo systemctl restart networking

En Ubuntu 18.04, la red está controlada por el programa Netplan. Necesita editar el archivo apropiado en el directorio/etc/netplan /, por ejemplo.

$ sudo vim /etc/netplan/01-netcfg.yaml 

Luego habilite dhcp4 en una interfaz específica, por ejemplo, en ethernets, ens0, y comente las configuraciones relacionadas con IP estática:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

Guarde los cambios y ejecute el siguiente comando para efectuar los cambios.

$ sudo netplan apply 

Para obtener más información, consulte las páginas de manual de dhcpd y dhcpd.conf.

$ man dhcpd
$ man dhcpd.conf

En este artículo, hemos explicado cómo configurar un servidor DHCP en distribuciones CentOS y Ubuntu Linux. Si necesita más aclaraciones sobre algún punto, puede hacer una pregunta a través del formulario de comentarios a continuación, o simplemente compartir sus comentarios con nosotros.