Cómo instalar un servidor DHCP en CentOS, RHEL y Fedora


DHCP (Protocolo de configuración dinámica de host) es un protocolo de red que permite a un servidor asignar automáticamente una dirección IP y proporcionar otros parámetros de configuración de red relacionados a un cliente en una red, desde un grupo de IP predefinido.

Esto significa que cada vez que un cliente (conectado a la red) se inicia, obtiene una dirección IP "dinámica", en contraposición a una dirección IP "estática" que nunca cambia. La dirección IP asignada por un servidor DHCP al cliente DHCP está en una "concesión", el tiempo de concesión puede variar dependiendo de cuánto tiempo es probable que un cliente requiera la conexión o la configuración DHCP.

En este tutorial, cubriremos cómo instalar y configurar un servidor DHCP en distribuciones CentOS/RHEL y Fedora.

Vamos a utilizar el siguiente entorno de prueba para esta configuración.

DHCP Server - CentOS 7 
DHCP Clients - Fedora 25 and Ubuntu 16.04

Antes de continuar, expliquemos brevemente cómo funciona DHCP:

  • Cuando una computadora cliente (configurada para usar DHCP) y conectada a una red está encendida, reenvía un mensaje DHCPDISCOVER al servidor DHCP.
  • Y después de que el servidor DHCP recibe el mensaje de solicitud DHCPDISCOVER, responde con un mensaje DHCPOFFER.
  • Luego, el cliente recibe el mensaje DHCPOFFER y envía un mensaje DHCPREQUEST al servidor indicando que está preparado para recibir la configuración de red ofrecida en el mensaje DHCPOFFER.
  • Por último, pero no menos importante, el servidor DHCP recibe el mensaje DHCPREQUEST del cliente y envía el mensaje DHCPACK mostrando que el cliente ahora puede usar la dirección IP asignada.

Paso 1: Instalación del servidor DHCP en CentOS

1. La instalación de DCHP es bastante sencilla, simplemente ejecute el siguiente comando.

# yum -y install dhcp

Importante: Suponiendo que hay más de una interfaz de red conectada al sistema, pero desea que el servidor DHCP solo se inicie en una de las interfaces, configure el servidor DHCP para que se inicie solo en esa interfaz de la siguiente manera.

2. Abra el archivo/etc/sysconfig/dhcpd, agregue el nombre de la interfaz específica a la lista de DHCPDARGS, por ejemplo, si la interfaz es eth0 , luego agregue:

DHCPDARGS=eth0

Guarda el archivo y cierra.

Paso 2: configurar el servidor DHCP en CentOS

3. Para empezar, para configurar un servidor DHCP, el primer paso es crear el archivo de configuración dhcpd.conf , y el archivo de configuración DHCP principal es normalmente /etc/dhcp/dhcpd.conf (que es vacío por defecto), mantiene toda la información de red enviada a los clientes.

Sin embargo, hay un archivo de configuración de muestra /usr/share/doc/dhcp*/dhcpd.conf.sample, que es un buen punto de partida para configurar un servidor DHCP.

Y hay dos tipos de declaraciones definidas en el archivo de configuración de DHCP, estos son:

  • parámetros: indican cómo realizar una tarea, si realizar una tarea o qué opciones de configuración de red enviar al cliente DHCP.
  • declaraciones: especifique la topología de la red, defina los clientes, ofrezca direcciones para los clientes o aplique un grupo de parámetros a un grupo de declaraciones.

Por lo tanto, comience copiando el archivo de configuración de muestra como el archivo de configuración principal así:

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

4. Ahora, abra el archivo de configuración principal y defina las opciones de su servidor DHCP:

# vi /etc/dhcp/dhcpd.conf 

Comience configurando los siguientes parámetros globales que se aplicarán a todas las subredes (especifique valores que se apliquen a su escenario) en la parte superior del archivo:

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

5. Ahora, defina una subred; en este ejemplo, configuraremos DHCP para la red LAN 192.168.56.0/24 (recuerde usar los parámetros que se apliquen a su escenario):

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

Paso 3: Asignar IP estática al cliente DHCP

Puede asignar una dirección IP estática a una computadora cliente específica en la red, simplemente defina la sección a continuación en el archivo /etc/dhcp/dhcpd.conf, donde debe especificar explícitamente sus direcciones MAC y la IP fija que se asignará:

host ubuntu-node {
	 hardware  ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.56.105;
 }

host fedora-node {
	 hardware  ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.56.110;
 }

Guarde el archivo y ciérrelo.

Nota: Puede averiguar o mostrar la dirección MAC de Linux usando el siguiente comando.

# ifconfig -a eth0 | grep HWaddr

6. Ahora inicie el servicio DHCP por el tiempo medio y habilítelo para que se inicie automáticamente desde el siguiente inicio del sistema, usando los siguientes comandos:

---------- On CentOS/RHEL 7 ---------- 
# systemctl start dhcpd
# systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
# service dhcpd start
# chkconfig dhcpd on

7. A continuación, no olvide permitir el servicio DHCP (el demonio DHCPD escucha en el puerto 67/UDP) como se muestra a continuación:

---------- On CentOS/RHEL 7 ----------
# firewall-cmd --add-service=dhcp --permanent 
# firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
# iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
# service iptables save

Paso 4: configurar clientes DHCP

8. Ahora, puede configurar sus clientes en la red para que reciban automáticamente direcciones IP del servidor DHCP. Inicie sesión en la máquina cliente y modifique el archivo de configuración de la interfaz Ethernet de la siguiente manera (no tome el nombre/número de la interfaz):

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

Agregue las siguientes opciones:

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

Guarda el archivo y cierra.

9. También puede realizar la configuración utilizando la GUI en una computadora de escritorio, establezca el Método en Automático (DHCP) como se muestra en la captura de pantalla a continuación (escritorio Ubuntu 16.04).

10. Luego reinicie los servicios de red de la siguiente manera (posiblemente puede reiniciar el sistema):

---------- On CentOS/RHEL 7 ----------
# systemctl restart network

---------- On CentOS/RHEL 6 ----------
# service network restart

En este punto, si todas las configuraciones eran correctas, sus clientes deberían recibir direcciones IP automáticamente desde el servidor DHCP.

También puede leer:

  1. Cómo instalar y configurar el servidor DHCP de ISC de host múltiple en Debian Linux
  2. Diez comandos "IP" útiles para configurar interfaces de red

En este tutorial, le mostramos cómo configurar un servidor DHCP en RHEL/CentOS. Utilice el formulario de comentarios a continuación para escribirnos. En un próximo artículo, le mostraremos cómo configurar un servidor DHCP en Debian/Ubuntu. Hasta entonces, manténgase siempre conectado a TecMint.