Kea

Modern Open Source DHCPv4 & DHCPv6 Server

 

Broad, standards-compliant support for both DHCPv4 and DHCPv6

  • Free-open source, shared under MPL 2.0 licensing
  • Direct address assignment (DHCPv4 and DHCPv6) or DHCPv6 prefix delegation
  • Dynamic IP addressing and static host reservations
  • Dynamic DNS for updating DNS records as leases are renewed or expired
  • Tracking of MAC addresses, even in DHCPv6
  • Extend and customize Kea through Hooks

Flexible Management

  • Add and change subnets and pools without restarting Kea
  • Store leases and host reservations in a structured database rather than a text file
  • Replace the entire Kea configuration, or separately manage leases, subnets and host reservations through a powerful REST API
  • Comprehensive Developer and Administrator documentation.
  • ISC offers commercial 7 x 24 support for Kea, as well as consulting and contract development to assist in implementing Kea, including migration from ISC DHCP.

Kea runs on Linux, BSD, and MacOS, like ISC DHCP.   The Kea distribution does not yet include a DHCP client or relay, but because both are standards-based, the ISC DHCP client works fine with the Kea DHCP server.  Kea is under active development.

 


Kea Hooks Integrate with Your Other Systems

  • Using Hooks, it is possible to control the assignment of options and even addresses from your own provisioning system
  • Hook points include: packet received, subnet selected, lease renewed, lease released, ready to respond (different hook points for DHCPv4 and DHCPv6)
  • Hooks allow the developer to edit information such as the lease parameters (time to renew), the subnet, address or options to be delivered
  • The Kea distribution includes a sample hooks application that can retrieve per-user information from an external file (such as options). Kea 1.3 includes a hooks application for managing leases.
  • We have a recorded presentation on writing a Hooks application, given by one of our software engineers.
  • For an example of how this can be used, see the FaceBook Kea Application
  • If this sounds like too much – ask us if we can do it for you!

Premium Features

We are building a library of commercially-licensed hooks applications to help support Kea development. These are included with any Kea support subscription. Except for the Subnet Management hook, they are also available for separate, one-time purchase from this web site. Premium hook libraries are distributed as a source package, but with an End User License Agreement that prohibits redistribution.

  • Our Forensic Logging application works with Kea 1.1 and later versions and creates a separate log that may be useful for meeting law enforcement data retention requirements.
  • The Flexible Identifier library is supported on Kea 1.2 and later and enables use of almost any available parameter as the identifier for host reservations.
  • The Host Commands library, supported with Kea 1.2 and later, extends remote management to manage host reservations stored in a back end database.
  • The Subnet Management library, supported with Kea 1.3 and later allows you to add, remove and modify subnets via the API, without resending the entire Kea configuration. This hook library is only available to support subscribers.
  • I'm using Kea 1.2 and I didn't have (any) problem provisioning CMs and CPEs on our DOCSIS/HFC networks. I didn't need to disable Client-ID on DHCP Offer packets. .... Kea docs are well documented...   August 2017 post on Kea-users@lists.isc.org
  • We liked the fact that ISC Kea is modern software and is designed to be extensible. Kea has hook points where you can add your own logic to parse incoming DHCP packets and modify them as you like right before they leave the server network interface. We leveraged the hooks feature extensively to customize Kea to meet our requirements.  
    https://code.facebook.com/posts/845909058837784/using-isc-kea-dhcp-in-our-data-centers/
  • I really like Kea, and I think it is a HUGE step forward. I am using it with PowerDNS, and it is nice having everything in a database. 🙂   April 2017 post on Kea-users mailing list  
  • Kea is awesome, and it was a huge windfall for our design when we found out about it.   April 2017 post on Kea-users mailing list

Weighing your options

Feature SupportKea ServerISC DHCP Server
DHCPv4 & DHCPv6 supportseparate daemonssingle application
Uninterrupted service – online reconfigurationno restart unless physical interfaces changesome changes can be made using OMAPI without restart
DHCP FailoverDB failover coming in Kea 1.4DHCPv4 failover only
Management interfacesRESTful/http interface using JSON commandsOMAPI (command-line tool using custom syntax)
IntegrationsDocumented, supported ‘hooks’ apiCommunity-contributed LDAP integration (unsupported)
Lease DatabasePostgreSQL, MySQL or memfile. Experimental Cassandra support in Kea 1.1Local text file
Retrieve Host Reservations from external databasePostgreSQL, MySQL in Kea 1.1
DocumentationDeveloper documentation, Administrative Reference embedded ‘man pages’
Operating System SupportRedHat Enterprise Linux, CentOS, Fedora and FreeBSD
Builds on: most Linux and BSD variants, including MacOSX
Linux and Unix variants, Solaris, HP/UX & AIX with a single network interface

Advice for ISC DHCP Users

You may be wondering whether we recommend you migrate from ISC DHCP to Kea at this time.

  • Use Kea if you need higher performance
  • Use Kea if you are modernizing your infrastructure
  • Use Kea if you need to tie your DHCP system to your own provisioning system
  • Use Kea for your DHCP server needs

If Kea is missing a minor feature you need

  • Consider requesting a custom-developed hooks application
  • Kea hooks can do everything from re-writing options in the packet to triggering external applications

Continue to use ISC DHCP if

  • You need DHCPv4 failover (note that HA implementations of Kea are possible today using a HA database back end)
  • If you are using legacy interfaces

Continue using ISC DHCP for client and relay functions

 

 

New to Kea? Check out these videos

webinar-screenshot

kea-hooks-001

Last modified: November 9, 2017 at 6:39 am