En este tutorial, explicaré cómo instalar un servidor DHCP en Ubuntu con KEA (isc-kea).
servidor DHCP isc ya no se mantiene desde finales de 2022 y se reemplaza por isc-kea.
En este tutorial, nos centraremos únicamente en el servidor DHCP IPv4.
Como recordatorio, un servidor DHCP permite la distribución dinámica de la configuración de red a las computadoras que lo solicitan; esta configuración incluirá:
- dirección IP
- Servidor DNS
- Enrutador
- Nombre de dominio
- …
Tabla de contenido
Instalación del servidor DHCP de Kea en Ubuntu
Instalaremos el paquete: kea-dhcp4-server:
sudo apt install kea-dhcp4-server -yPor favor espere mientras la instalación está en progreso…


El servidor DHCP de Kea está instalado.
Antes de continuar con la configuración, recupere el nombre de la tarjeta de red del servidor:
ip a
El nombre de la tarjeta de red donde escuchará DHCP es ens33.
Los archivos de configuración se encuentran en la carpeta /etc/kea/ Y en el que nos vamos a centrar en este tutorial es kea-dhcp4.conf.

Antes de comenzar la configuración, haremos una copia de seguridad del archivo original.
Vaya al directorio /etc/kea/:
cd /etc/keaCopiar el archivo de configuración:
sudo cp kea-dhcp4.conf kea-dhcp4.conf.bakConfiguración del servidor DHCP de Kea
Para que esta parte sea más fácil de entender, procederemos paso a paso en la configuración del servidor DHCP de Kea.
El servidor DHCP tiene la dirección IP 192.168.100.181 y lo configuraremos para distribuir direcciones en la red 192.168.100.0/24, tendrá el siguiente pool de direcciones: 192.168.100.120 a 192.168.100.130.
Para su información, el archivo de configuración está en formato JSON.
Recomiendo trabajar en la configuración en un editor de texto como vscode, que será más fácil de leer.
Configuración básica
Comenzaremos con una configuración sencilla, donde configuraremos un ámbito DHCP y también pasaremos el router, servidores DNS y nombre de dominio.
Comience abriendo el archivo de configuración:
sudo nano kea-dhcp.4.conf
Como puedes ver, el archivo ya contiene elementos de configuración y muchos comentarios; borra el contenido del archivo con Ctrl+k.
Para empezar, aquí está la configuración que usaremos (kea-dhcp4.conf):
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "ens33" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"lfc-interval": 3600
},
"valid-lifetime": 600,
"max-valid-lifetime": 7200,
"subnet4": [
{
"id": 1,
"subnet": "192.168.100.0/24",
"pools": [
{
"pool": "192.168.100.120 - 192.168.100.130"
}
],
"option-data": [
{
"name": "routers",
"data": "192.168.100.254"
},
{
"name": "domain-name-servers",
"data": "1.1.1.1, 8.8.8.8"
},
{
"name": "domain-name",
"data": "247-it.io"
}
]
}
]
}
}Adapte la configuración a su entorno y copie esta configuración en el archivo del servidor que se ha vaciado.
Guarde la configuración y reinicie el servicio para que los cambios surtan efecto:
sudo systemctl restart kea-dhcp4-serverVerifique que el servidor DHCP se haya iniciado correctamente:
sudo systemctl status kea-dhcp4-server
Ahora, para probar la configuración, la forma más sencilla es hacerlo con un ordenador conectado a la red. A continuación, se muestra una captura de pantalla de un ordenador con Windows 11, donde se puede ver que estoy recuperando correctamente una dirección del servidor DHCP con la configuración.

Desde el servidor, puedes ver los arrendamientos DHCP; estos se almacenan en un archivo ubicado en la siguiente ubicación: /var/lib/kea/ y en el archivo kea-leases4.csv.

Aquí se encuentra el contenido del archivo que contiene el contrato de arrendamiento de la computadora con Windows 11.

Configuración de las opciones a nivel de servidor DHCP
En el primer ejemplo, se configuraron las opciones de DHCP para proporcionar servidores DNS y nombres de dominio a nivel de alcance.
Si configura varios ámbitos y todos tienen los mismos servidores DNS y nombre de dominio, es posible pasar estas opciones a nivel de servidor para evitar tener que realizar esta declaración a cada ámbito DHCP.
Esto también es conveniente: el día que se necesita hacer un cambio, sólo es necesario hacerlo una vez.
Para ver la diferencia, modifiqué los servidores DNS que serán distribuidos por 2.2.2.2 y 3.3.3.3.
Aquí está el archivo de configuración:
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "ens33" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"lfc-interval": 3600
},
"valid-lifetime": 600,
"max-valid-lifetime": 7200,
"subnet4": [
{
"id": 1,
"subnet": "192.168.100.0/24",
"pools": [
{
"pool": "192.168.100.120 - 192.168.100.130"
}
],
"option-data": [
{
"name": "routers",
"data": "192.168.100.254"
},
{
"name": "domain-name-servers",
"data": "1.1.1.1, 8.8.8.8"
},
{
"name": "domain-name",
"data": "247-it.io"
}
]
}
]
}
}Para aplicar los cambios, reinicie el servicio kea-dhcp4-server y verifique su estado.
En mi máquina con Windows 11, después de la renovación, se puede ver que se han distribuido las nuevas opciones.

Configurar una reserva DHCP
Por último, respecto al apartado de configuración, os mostraré cómo configurar una reserva para que siempre distribuya la misma dirección al ordenador.
Para esta reserva, utilizaremos la dirección MAC de la tarjeta de red; la reserva utilizará necesariamente una dirección IP que esté fuera del pool de distribución.
Finalmente, agregué algunas opciones específicas (servidores DNS).
Aquí está la configuración:
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "ens33" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"lfc-interval": 3600
},
"valid-lifetime": 600,
"max-valid-lifetime": 7200,
"option-data": [
{
"name": "domain-name-servers",
"data": "2.2.2.2, 3.3.3.3"
},
{
"name": "domain-name",
"data": "247-it.io"
}
],
"subnet4": [
{
"id": 1,
"subnet": "192.168.100.0/24",
"reservations-global": false,
"reservations-in-subnet": true,
"reservations-out-of-pool": false,
"reservations": [
{
"hw-address": "00:0c:29:a1:92:36",
"ip-address": "192.168.100.135",
"hostname": "lab-cl-w11",
"option-data": [
{
"name": "domain-name-servers",
"data": "1.1.1.1, 8.8.8.8"
}
]
}
],
"pools": [
{
"pool": "192.168.100.120 - 192.168.100.130"
}
],
"option-data": [
{
"name": "routers",
"data": "192.168.100.254"
}
]
}
]
}
}La computadora con Windows 11 siempre tendrá la dirección 192.168.100.135
Para aplicar los cambios, reinicie el servicio kea-dhcp4-server y verifique su estado.
Podemos ver desde la configuración IP del ordenador con Windows 11 que ha recibido la dirección reservada con sus propias opciones específicas.

Algo más de información
Puede comprobar el estado del servicio DHCP con el siguiente comando:
estado de keactrl
Visualización de los registros del servidor DHCP de Kea:
journalctl -u servidor kea-dhcp4
Enlace a la documentación oficial: https://kea.readthedocs.io/es/latest/
Este primer tutorial sobre el servidor DHCP de Kea ahora está completo y debería ayudarlo a configurar un servicio DHCP con Ubuntu.
Creo que haré otro tutorial sobre los servicios de Kea, que ofrecen muchas posibilidades.
