The ISC DHCP server (dhcpd) was traditionally used to set up a DHCP server in Linux, but the software is reaching end-of-life, and the Internet Systems Consortium is now recommending their own Kea DHCP server or alternatives such as Dnsmasq or udhcpd (as found in Busybox) as a replacement.
I was unaware of this having just used the isc-dhcp-server package to set up a DHCP server in NanoPi R6C router/mini PC earlier this month. But a blog post on Ubuntu informed us dhcpd was going away, and Canonical plans to switch over the Kea DHCP server instead.
The main difference from the user perspective is that Kea relies on JSON configuration files so all your dhcpd files will have to be rewritten.
Other highlights for the Kea DHCP server include:
- Modular component design, extensible with hooks modules. Kea includes daemons for a DHCPv4 server, a DHCPv6 server, and a dynamic DNS (DDNS) module, and optional features are enabled with dynamically-loaded “hooks modules,” which you need run only if you are using them. It’s also possible to write your own hooks modules in C++.
- On-line re-configuration with REST API. Kea uses a JSON configuration file that can be modified remotely via set commands and reloaded without stopping and restarting the server. While the ISC DHCP server needs to be restarted when updating the configuration.
- Designed to integrate with your existing systems. Kea allows you to separate the data from the execution environment, so your network data – leases, host reservation definitions, and most configuration data – can be located separately from the DHCP server itself, using a Kea “backend” to store the data in MySQL or PostgreSQL databases
- Web-based graphical dashboard. Kea has a graphical dashboard, called Stork, for monitoring multiple Kea servers. The system uses agents deployed on the Kea servers to relay information to a centralized management platform.

Here’s an example of Kea JSON configuration file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
"subnet-default": [ { "subnet": "192.168.0.0/24", "reservations-global": true, "reservations-in-subnet": true, "reservations": [ { "hw-address": "08:72:A6:57:29:FE", "ip-address": "192.168.100.4", "hostname": "region1", "client-classes": [ "MAAS" ] } ] } ] |
That’s quite different from your typical dhcpd.conf file. There’s already extensive documentation for the Kea DHCP server, and it is already officially supported in several Linux and BSD distributions including Alpine 3.12/3.13, CentOS 7/8, Debian 9/10/11, Fedora 33/34, FreeBSD 12.1/13.0, and Ubuntu 18.04/20.04/21.04.
There are several Kea packages in Ubuntu 22.04:
1 2 3 4 5 6 7 8 9 10 |
jaufranc@cnx-laptop-4:~$ aptitude search kea- p kea-admin - Administration utilities for Kea DHCP serv p kea-common - Common libraries for the Kea DHCP server p kea-ctrl-agent - REST API service for Kea DHCP server p kea-dev - Development headers for Kea DHCP server p kea-dhcp-ddns-server - DHCP Dynamic DNS service p kea-dhcp4-server - IPv4 DHCP server p kea-dhcp6-server - IPv6 DHCP server p kea-doc - Documentation for Kea DHCP server p python3-kea-connector - Python3 management connector for Kea DHCP |
You can install a specific package:
1 |
$ sudo apt-get install kea-dhcp4-server |
or install them all:
1 |
$ sudo apt-get install kea* |
You’ll find more details to build it from source, install it in your specific distro, and configuration in the Quick Start section of the documentation. The official project page may also have additional information.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress