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 conjunto de IP predefinido.

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

En este tutorial, cubriremos cómo instalar y configurar un servidor DHCP en las 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:

  • When a client computer (configured to use DHCP) and connected to a network is powered on, it forwards a DHCPDISCOVER message to the DHCP server.
  • And after the DHCP server receives the DHCPDISCOVER request message, it replies with a DHCPOFFER message.
  • Then the client receives the DHCPOFFER message, and it sends a DHCPREQUEST message to the server indicating, it is prepared to get the network configuration offered in the DHCPOFFER message.
  • Last but not least, the DHCP server receives the DHCPREQUEST message from the client, and sends the DHCPACK message showing that the client is now permitted to use the IP address assigned to it.

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

rojo

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: Configuración del 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 principal de DHCP normalmente es /etc/dhcp/dhcpd.conf (que está vacío de forma predeterminada), mantiene toda la información de red enviada a los clientes.

Sin embargo, hay un archivo de configuración de ejemplo /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, que son:

  • parameters – state how to carry out a task, whether to perform a task, or what network configuration options to send to the DHCP client.
  • declarations – specify the network topology, define the clients, offer addresses for the clients, or apply a group of parameters to a group of declarations.

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

# 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 del servidor DHCP:

# vi /etc/dhcp/dhcpd.conf 

Comience por configurar los siguientes parámetros globales que se aplicarán a todas las subredes (especifique los valores que se aplican 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, define una subred; en este ejemplo, configuraremos DHCP para la red LAN 192.168.56.0/24 (recuerde usar 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 a un 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 dirección fija. IP 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.

rojo

# ifconfig -a eth0 | grep HWaddr

6. Ahora inicie el servicio DHCP mientras tanto 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: Configuración de clientes DHCP

8. Ahora, puede configurar sus clientes en la red para recibir automáticamente direcciones IP desde el servidor DHCP. Inicie sesión en el equipo 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, configure el Método en Automático (DHCP) como se muestra en la captura de pantalla a continuación (escritorio de 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 fueran correctas, sus clientes deberían recibir direcciones IP automáticamente desde el servidor DHCP.

También puede leer:

  1. How to Install and Configure Multihomed ISC DHCP Server on Debian Linux
  2. 10 Useful “IP” Commands to Configure Network Interfaces

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, mantente siempre conectado a TecMint.