Kea

Modern, open source DHCPv4 & DHCPv6 server

Why Choose Kea?

Kea is open source, shared under MPL2.0 licensing. Kea is developed in the open on ISC’s GitLab; we welcome you to open issues and submit patches there. Kea runs on most Linux and Unix platforms, as well as MacOS. If you don’t want to build from our source distribution, we also provide a repository of pre-built packages for most popular operating systems.

ISC distributes and maintains TWO open source, standards-based DHCP server distributions: Kea DHCP and ISC DHCP. Kea includes all the most-requested features, is far newer, and is designed for a more modern network environment.

How is the Kea DHCP server different from the older ISC DHCP?
  1. Modular Component Design, Extensible with Hooks Modules. The Kea distribution includes separate daemons for a DHCPv4 server, a DHCPv6 server, and a dynamic DNS (DDNS) module. Many optional features are enabled with dynamically-loaded “Hooks Modules,” which you need run only if you are using them. You can write your own hooks modules (in C++) or try some of the hooks we offer.

  2. 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, an operation that could take quite a while with ISC DHCP.

  3. Designed to Integrate with Your Existing Systems. Kea allows you to separate the data from the execution environment, enabling new deployment options. Your network data - leases, host reservation definitions, and most configuration data - can be located separately from the DHCP server itself, using a Kea “backend.”

Kea supports several database backends; MySQL for leases, host reservations and configuration data, PostgreSQL for leases and host reservations, and Cassandra for leases. Benefits of this include:

  • Integrate it more easily with your other systems - provisioning systems, IPAMS and so on - by storing critical data in a separate database.
  • Use the same hosts reservations backend for multiple DHCP servers.
  • Administer global options from a centralized configuration backend.
  • Manage large address pools in a database rather than a text file.

Contact ISC for Support

Getting Started

1.

Design

Your major design decisions are whether to deploy in pairs for High Availability and use the default csv file for host and lease data, or to install a separate database for a Kea data “backend.” Some of these decisions can limit your performance. See our Knowledgebase for advice on designing for optimal performance.

2.

Installation

Instructions are available for building and installing Kea from the source packages downloadable below. ISC provides pre-built packages for CentOS, Fedora, Ubuntu, and Debian. If you are using any Kea hooks libraries, you will also need to install and configure those.

3.

Configuration

The Kea Administrator Reference Manual (ARM) is the primary reference for Kea configuration. If you are migrating from an existing ISC DHCP deployment, try the Kea Migration Assistant (a special feature of the ISC DHCP distribution). This will enable you to save your current ISC DHCP server configuration as a Kea configuration file. It will still need some manual adjustment, but this tool should translate the bulk of your configuration.

4.

Maintenance

Most users will benefit from joining the kea-users mailing list. Consider joining our Kea project GitLab to log issues, see what we’re working on, submit patches, and participate in development. You might want to read about our Premium and Subscriber-only Kea libraries, which extend Kea’s management interface. If your DHCP is critical to your business, we recommend you subscribe for technical support from ISC.

The Kea distribution includes separate daemons for a DHCPv4 server, a DHCPv6 server, and a dynamic DNS (DDNS) module. Bundled with Kea are a portable DHCP library (libdhcp++), a control agent that provides the REST management interface for Kea, a NETCONF agent that provides a YANG/NETCONF interface, a DHCP benchmarking tool, perfdhcp, and three dynamically loadable hooks libraries.

Address assignment options

You can select direct address assignment (DHCPv4 and DHCPv6) or DHCPv6 prefix delegation, with both dynamic IP addressing and static host reservations. Select an address from a pool within a subnet, or from multiple subnets in a shared network.

Flexible client classification

Classify devices according to vendor class options, expressions, static host reservations, subnets, or shared networks.

Dynamic DNS updating

Maintain DNS names automatically using the Dynamic DNS module.

Extendable with optional hooks libraries

Kea hooks allow administrators to control the assignment of options and even addresses from their own provisioning system. Hooks allow developers to edit information such as the lease parameters (time to renew), the subnet, the address, or options to be delivered.

User Check library

The User Check library allows you to look up a user in an external user file, for example to distinguish employees from guests.

Reconfigure without restart

Add and change subnets and pools without restarting the server.

High-availability mode

Kea high-availability mode provides resilience for either DHCPv4 or DHCPv6. This feature is implemented with the HA hooks library, part of the open source.

Optional lease backend

Leases may be written to a local memfile (default, and the highest-performance option) or to a MySQL, PostgreSQL, or Cassandra database. The Lease Commands library provides an API for managing lease records.

Netconf/YANG integration

Basic YANG model support is available through integration with the Sysrepo NETCONF agent.

Standards-based

Kea supports the IETF DHCPv4 and DHCPv6 standards and should interoperate seamlessly with other standards-compliant DHCP implementations.

Comprehensive documentation

Our Kea Administrator Reference Manual, Kea Developer’s Guide, and Knowledgebase provide complete information for both developers and administrators.

The Premium package of Kea hooks libraries is a low-cost way to extend your open source Kea server. These commercially-licensed libraries are sold online for immediate download. You get the full source code; you may modify the ISC Premium hooks for your own use, but not redistribute them.

Host Commands library

Host reservations may be stored in a separate database, giving the administrator additional flexibility in creating and managing a large number of host configurations. The Host Commands hooks library exposes an API for managing host reservations in the backend.

Flexible Identifier library

The Flexible Identifier library enables use of almost any available parameter as the identifier for host reservations.

Forensic Logging

The Forensic Logging application creates a separate log that may be useful for meeting law-enforcement data retention requirements.

ISC Support Subscribers receive all our Premium Kea hooks libraries, PLUS several additional libraries that will be most useful in larger deployments. This is in addition to expert technical support from the Kea team, at the SLA level you require. ISC Support is offered as an annual subscription.

Client Classification

The Client Classes library, supported with Kea 1.5 and later, exposes REST commands to list, get details of, add, modify, and delete client classes in Kea.

Configuration Backend

Most Kea configuration data can be stored in a separate MySQL configuration backend. Store options, pools, and subnets centrally and tag them based on which servers should “subscribe” for those configuration elements. This feature is supported in Kea 1.6 and later.

RADIUS Integration

The RADIUS Integration library, coupled with the Host Cache library, allows Kea to delegate decisions about whether to permit access, and what IP address to assign, to your existing RADIUS server.

Subnet management

The Subnet Commands library allows you to add, remove, and modify subnets via the API, without resending the entire Kea configuration.

Kea

VERSION STATUS DOCUMENTATION RELEASE DATE EOL DATE DOWNLOAD
1.6.0 Current-Stable Kea ARM ( HTML PDF )
Kea Messages ( HTML PDF )
Release Notes ( TXT )
August 2019 On release of Kea 2.0
1.5.0-P1 Current-Stable Kea 1.5 ARM ( HTML PDF )
Kea 1.5 Messages ( HTML PDF )
Release Notes ( TXT )
August 2019 On release of Kea 1.8.0
1.7.1 Experimental/Development Kea ARM ( HTML PDF )
Kea Messages ( HTML PDF )
Release Notes ( TXT )
October 2019 On release of Kea 1.8.0
Mailing List

Join the kea-users mailing list to offer help to or receive advice from other users.

Join Now
Report a Bug

Before submitting a bug report please ensure that you are running a current version. Then log your report as an issue in our Kea GitLab project.

Report
Kea Project Wiki

Our design documents and plans help you understand Kea internals.

Browse
Buy Premium Package

Premium libraries add the Host Reservation API, Flexible Host Identifier, & Forensic Logging.

Buy

Latest News

ISC’s 2018 Annual Report

ISC is delighted to release our 2018 annual report. We are proud of our accomplishments last year and steadfast in our efforts to continually improve our commitment to an open Internet for all.

Read