Cómo instalar un servidor DHCP en Ubuntu y Debian


Protocolo de configuración dinámica de host ( DHCP ) es un protocolo de red que se utiliza para permitir que las computadoras host tengan asignadas automáticamente direcciones IP y configuraciones de red relacionadas desde un servidor.

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

La siguiente es una descripción rápida de cómo funciona realmente DHCP:

  • Once a client (that is configured to use DHCP) and connected to a network boots up, it sends a DHCPDISCOVER packet to the DHCP server.
  • When the DHCP server receives the DHCPDISCOVER request packet, it replies with a DHCPOFFER packet.
  • Then the client gets the DHCPOFFER packet, and it sends a DHCPREQUEST packet to the server showing it is ready to receive the network configuration information provided in the DHCPOFFER packet.
  • Finally, after the DHCP server receives the DHCPREQUEST packet from the client, it sends the DHCPACK packet showing that the client is now permitted to use the IP address assigned to it.

En este artículo, le mostraremos cómo configurar un servidor DHCP en Ubuntu/Debian Linux, y ejecutaremos todos los comandos con el comando sudo para obtener privilegios de usuario root.

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

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

Paso 1: Instalar el servidor DHCP en Ubuntu

1. Ejecute el siguiente comando para instalar el paquete del servidor DCHP, que anteriormente se conocía como dhcp3-server .

$ sudo apt install isc-dhcp-server

2. Cuando finalice la instalación, edite el archivo /etc/default/isc-dhcp-server para definir las interfaces que DHCPD debe usar para atender las solicitudes DHCP, con la opción INTERFACES .

Por ejemplo, si desea que el demonio DHCPD escuche en eth0 , configúrelo así:

INTERFACES="eth0"

Y también aprenda cómo configurar una dirección IP estática para la interfaz anterior.

Paso 2: Configurando el servidor DHCP en Ubuntu

3. El archivo de configuración principal de DHCP es /etc/dhcp/dhcpd.conf , debe agregar toda la información de su red para enviarla a los clientes aquí.

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

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

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

$ sudo vi /etc/dhcp/dhcpd.conf 

Configure los siguientes parámetros globales en la parte superior del archivo, se aplicarán a todas las declaraciones a continuación (especifique los valores que se aplican a su escenario):

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; aquí, configuraremos DHCP para la red LAN 192.168.10.0/24 (utilice los parámetros que se apliquen a su escenario).

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

Paso 3: Configurar la IP estática en la máquina cliente DHCP

6. Para asignar una dirección IP fija (estática) a una computadora cliente en particular, agregue la sección a continuación donde necesita especificar explícitamente sus direcciones MAC y la IP que se asignará de manera estática:

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

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

Guarde el archivo y ciérrelo.

7. A continuación, inicie el servicio DHCP por el momento y habilítelo para que se inicie automáticamente desde el siguiente inicio del sistema, de esta manera

------------ SystemD ------------ 
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable

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

$ sudo ufw allow  67/udp
$ sudo ufw reload
$ sudo ufw show

Paso 4: Configuración de máquinas cliente DHCP

9. En este punto, puede configurar las computadoras de sus clientes en la red para recibir automáticamente las direcciones IP del servidor DHCP.

Inicie sesión en las computadoras cliente y edite el archivo de configuración de la interfaz Ethernet de la siguiente manera (tome nota del nombre/número de la interfaz):

$ sudo vi /etc/network/interfaces

Y define las siguientes opciones:

auto  eth0
iface eth0 inet dhcp

Guarda el archivo y cierra. Y reinicie los servicios de red así (o reinicie el sistema):

------------ SystemD ------------ 
$ sudo systemctl restart networking

------------ SysVinit ------------ 
$ sudo service networking restart

Alternativamente, use la GUI en una máquina de escritorio para realizar la configuración, configure el Método en Automático (DHCP) como se muestra en la siguiente captura de pantalla (escritorio de Fedora 25).

En este punto, si todas las configuraciones están configuradas correctamente, su máquina cliente debería recibir direcciones IP automáticamente del servidor DHCP.

¡Eso es! En este tutorial, le mostramos cómo configurar un servidor DHCP en Ubuntu/Debian. Comparte tus pensamientos con nosotros a través de la sección de comentarios a continuación. Si está utilizando una distribución basada en Fedora, consulte cómo configurar un servidor DHCP en CentOS/RHEL.