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 impide 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 un "arrendamiento" , el tiempo de arrendamiento normalmente varía según el tiempo Es probable que el equipo cliente requiera la conexión o la configuración DHCP.

En este artículo, explicaremos cómo configurar un servidor DHCP en CentOS y Ubuntu distribuciones de 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 distribuciones principales de Linux, la instalación es bastante sencilla, 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 daemon DHCP sirva 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 daemon DHCPD escuche en eth0 , configúrelo con la siguiente directiva.

DHCPDARGS=”eth0”

Guarda el archivo y cierra.

Configurando el servidor DHCP en CentOS y Ubuntu

El archivo de configuración principal 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:

  • Global parameters: specify how to carry out a task, whether to carry out a task, or what network configuration parameters to provide to the DHCP client.
  • Declarations: define the network topology, state a clients is in, offer addresses for the clients, or apply a group of parameters to a group of declarations.

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 pueden enumerarse en declaraciones de host (consulte la página de manual dhcpd.conf ).

Ahora que ha configurado su demonio del servidor DHCP , debe iniciar el servicio por el tiempo medio y habilitarlo para que se inicie automáticamente desde el próximo inicio del sistema, y ​​verificar si está funcionando correctamente usando 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

A continuación, permita las solicitudes al demonio DHCP en Firewall, que escucha en el puerto 67/UDP , al ejecutar.

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

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

Configurando 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 recibir automáticamente direcciones IP desde el 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 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

Añade 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. Debe editar el archivo apropiado en el directorio /etc/netplan/, por ejemplo.

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

Luego active 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 CentOS y Ubuntu distribuciones de Linux. Si necesita más aclaraciones sobre cualquier punto, puede hacer una pregunta a través del formulario de comentarios a continuación, o simplemente compartir sus comentarios con nosotros.