Kea Tools Developed by Users

There is nothing more satisfying than seeing that users are extending and modifying your open source project. The highest compliment you can get, is when someone else is willing to invest their time and creativity into improving on something you have published. This list below is an assortment of projects we have stumbled across, or been told about, that may be of use to Kea users. In general we have not tried these, and we cannot comment on their ‘quality’ but that is always a function of time - if you use one of these, and like it, please consider giving the creator feedback and encouragement.

DHCP Load Balancer

This one is a category all by itself. This is not Kea-specific, but it is a pretty significant tool. BSD-licensed. Although it was written several years ago it appears to be currently maintained.

  • DHCPlb - Load Balancer Engineers at Facebook wrote this dhcpv4/v6 load balancer and relay to use with the Kea DHCP server as an anycasted DHCP service.

Kea Hooks Modules

Please note that Kea hooks from ISC are republished with every new version of Kea. Some of these non-ISC hooks may only work with certain versions of Kea.

Name Description License Author Link
Netbox kea-dhcp updater Creates static reservations for addresses in NetBox Apache 2.0 Brian Candler https://github.com/candlerb/netbox-webhook-kea-dhcp
python3 Python3 interface for Kea hooks MPL-2.0 Dave Cole https://github.com/davejohncole/kea_python
options_to_options This hook takes the value from different options in a DHCPREQUEST and inserts them into (other) options in a DHCPREPLY. Example usage is to take the value from an Option 82 string, and insert it in an Option 43 sub option, to direct the dhcp client to the correct config file in an auto provisioning scenario. ? Ola Thoresen https://github.com/Olen/kea_hooks
pxe-replace4 This module utilizes the Kea hooks api to replace pxe options (siaddr, option 66, 67) via web request. BSD 3 clause Michael Gugino ​https://github.com/michaelgugino/kea-pxe-replace-mod
runscript Hook that runs an external script at all hook points provided by Kea, passing information to the script as environment variables. MPL-2.0 Baptiste Jonglez ​https://github.com/zorun/kea-hook-runscript
mac2ipv6 Generates and returns the same address as a device would have generated via SLAAC. A use case for this is to return a stateful-like address in a stateless network. MIT serverzone https://github.com/serverzone/Kea-dhcp-hooks
userchk-ldap Provides a means to tag DHCP packets with a client class based on registration in an external LDAP database. MPL-2.0 CVUT https://github.com/cvut/kea-hook-userchk-ldap
hook-opt82 The hook changes option 61 from option 82 (ip-port/mac-port) and generates flex-id from option 82. ? Alexander Dubnitskiy https://github.com/pilotsanya/kea-hook-opt82
dynamic-lifetime Kea dhcp hook for setting lifetime by IP address and MAC address MIT Shuta Eguchi https://github.com/egs33/kea-hook-dynamic-lifetime
onelease-dhcp4 This is a simple hook to assign ONE lease for a client based on its HW (MAC) address. It will work properly only if clients have HW addresses generated in a particular way: the last four bytes represent an IPv4 address. Note: the hook is in src/hooks MPL-2.0 Petr Ospalý https://github.com/ospalax/addon-kea-hooks
replace-serial Minimalistic Kea Hook to replace @SERIALNUMBER@ with option[43][4] Apache-2.0 Arnoud Vermeer https://github.com/funzoneq/kea-hook-replace-serial

Other Useful-Looking Scripts

  • Systemd Init Script In ISC’s gitlab you can find this contributed patch for systemd for use with Kea, developed by Rasmus Edgar Jørgensen. “Systemd handles the daemonization and actually seems to be a perfect fit for how Kea services behave atm.”

  • Integrate Kea with Netbox This blog post explains how to import available addresses from Netbox into Kea. Written by Michael Schwartzkopff.

  • Kea-telegraf-stats A script that re-formats the statistics output from the kea API into a telegraf-friendly format

  • Kea memfile-database Importer A script to make it easy to migrate from a csv-backed kea to a database-backed kea. From Munroe Sollog

  • Splunk-enterprise-addon-for-Kea Developed by Mikael Bjerkeland.

  • Kea Prometheus Exporter Exports Kea metrics in the Prometheus Exposition Format. (Note that there is also an ISC-developed exporter in the Stork agent for Kea.)

  • Kea “Show Leases” Script

Even More Miscellaneous

These are a few of the Kea- and IPv6-related tools, websites, and books we have heard of. Please visit our DNS tools and DHCP tools pages if those are relevant to your needs.

Please note that it is your responsibility to check the licensing terms of any software you download. We have not tried many of these so we can’t make any specific claims about suitability or quality.


Kea References

Source Code

The main source code repository for Stork is in ISC’s GitLab: https://gitlab.isc.org/isc-projects/kea.

The Kea source code tarballs are available on the ISC downloads page as well as on the ISC FTP server. ISC is also providing RPM and deb binary packages for Stork. They are available in our package repositories on Cloudsmith.

Issues & Mailing List

We highly recommend the kea-users mailing list. We encourage users to test Kea and report back their findings on the mailing list or on our GitLab page.

Documentation

The Kea Administrator Reference Manual is posted on Readthedocs.io.

Release Model & License

Kea has monthly development releases and approximately annually, we release a new stable branch. The stable version is then updated as needed, when we have significant maintenance updates.

Kea is released under the Mozilla Public License, version 2.0: https://www.mozilla.org/en-US/MPL/2.0

Download & Installation

The easiest way to install the software is to use native deb or RPM packages. They can be downloaded from:

https://cloudsmith.io/~isc/repos/

Support

We support development of Kea, Stork and our other software through the sale of annual support subscriptions. Contact our sales team discuss your BIND and Kea support requirements. Contact us for more information.

Recent Posts

What's New from ISC

Changes to ISC Software Signing

At the end of 2022, we are introducing some changes to the tools and procedures we use for signing the source code releases of our software, to make the whole process simpler and more robust.

Read post
Next post: ISC's Swag Store
Previous post: BIND Release Model Update