Kea 2.0 - Performance, Stability and Security
We are very proud to announce that we have just posted a new stable branch of Kea, Kea 2.Read
Modern, open source DHCPv4 & DHCPv6 server
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.
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.
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.
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.”
Web-based graphical dashboard Kea now has a graphical dashboard for monitoring multiple Kea servers. This system, called Stork, uses agents deployed on the Kea servers to relay information to a centralized management platform, providing the administrator with an easy-to-use quick view of system status and activity.
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:
Contact ISC for Support
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.
The Kea Administrator Reference Manual (ARM) is the primary reference for Kea configuration. The extensive set of example configuration files may help you get started. 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.
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. Consider deploying Stork for a graphical management dashboard. If your DHCP is critical to your business, we recommend you subscribe for technical support from ISC.
Stork aggregates data about the health of the system hosting Kea, as well as the status and activity level of Kea itself. Parameters reported include memory, CPU utilization, software versions, and uptime.
Stork displays configured pools, with # of addresses provisioned and assigned and even tracks pool utilization across shared networks. Graphical elements highlight areas of high utilization to alert the operator to take action.
High Availability pairs are monitored and their configured role and status are shown, making it easy to see which servers don’t have a backup established, and when a failover event has occurred.
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.
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.
Classify devices according to vendor class options, expressions, static host reservations, subnets, or shared networks to control access to address pools.
The Flexible Options library allows you to construct custom option values, such as boot file names.
Maintain DNS names automatically using the separate Dynamic DNS module.
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.
This open source hook library allows you to launch an external application or script at various points in the DHCP processing.
Add and change subnets and pools without restarting the server.
Kea high-availability mode provides resilience for either DHCPv4 or DHCPv6, using either a 50/50 load-balancing or active/standby configuration. This feature is implemented with the HA hooks library, part of the open source.
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.
The Stork dashboard is a web-based system that displays critical information about service availability, CPU and memory capacity, pool utilization, failover status and DHCP traffic statistics. Stork integrates with the popular Prometheus time-series data store and Grafana visualization system. Stork is available as open source from ISC’s Gitlab repository, or in a ready-to-install package from Cloudsmith.io.
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.
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.
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.
The GSS-TSIG library is used to authenticate DDNS updates. This method is typically required for updating an Active Directory. This hook is experimental.
The Lease Query library allows you to retrieve a single lease, identified by IP address, hardware address or client identifier.
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.
The Subnet Commands library allows you to add, remove, and modify subnets via the API, without resending the entire Kea configuration.
Join the kea-users mailing list to offer help to or receive advice from other users.Join Now
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
Our design documents and plans help you understand Kea internals.Browse
Premium libraries add the Host Reservation API, Flexible Host Identifier, & Forensic Logging.Buy