|DOWNLOAD||User's Guide||Developer's Guide||Mailing lists||Problems||Roadmap|
|stable / devel||stable / devel||devel||Users / Developers||Known Issues / Defects|| |
Kea DHCP Server
Kea is an open source DHCPv4/DHCPv6 server being developed by Internet Systems Consortium. Kea is a high-performance, extensible DHCP server engine that is designed to be easily modified and extended with hooks libraries.
Kea is free open source, and we welcome community engagement, via the Kea-users mailing list, this wiki, and our Github repository. There is a small core team of dedicated software engineers developing it and we need your contributions and support contracts to support them.
DHCP Standardization efforts: The lead developer on KEA is co-chair of the Dynamic Host Configuration working group in the IETF. We are committed to providing a standards-compliant implementation and are closely tracking developments in this working group and evaluating them for inclusion in KEA.
2016-10-03: Kea receives MOSS Award from Mozilla to add remote management to Kea
On October 3rd, 2016, Mozilla announced they were awarding ISC a $100,000 MOSS contract to support development of the remote management capabilities of Kea. We will be working on that during the latter part of 2016 and 2017. The first set of features planned under that project are visible in the Kea 1.2 Roadmap linked above.
2016-09-30: Kea 1.1.0 released!
Kea 1.1.0 extended support Host Reservations stored in a separate database backend (both MySQL and PostgreSQL are now supported, for both DHCPv4 and DHCPv6 reservations). Kea 1.1 also significantly extended the Client Classification support, and added initial experimental support for a Cassandra backend database for lease storage. For detailed information please check Release Notes.
With Kea 1.1 we are releasing our first premium extension, a library that provides Forensic Logging. This application is described in the Kea 1.1 User Guide. Currently, this application is available at no additional charge to Kea support subscribers. If you would like to license this application separately, without a support subscription, please contact our sales team.
Kea is distributed under the MPL2.0 open source license. See the blog posting where we explain why ISC decided to adopt the MPL license.
2016-07-15: IETF Hackathon prototypes Yang support for Kea
The Kea team is typically up for the Hackathons scheduled before every IETF meeting. At the Berlin IETF in July, a team including core Kea developers Tomek and Marcin worked with engineers from the Sysrepo project and Deutsche Telekom on experimental Yang support. Read Tomek's blog post for more information. If you are a Kea user and attend IETF, we would love to meet up with you to work on Kea-related projects in future Hackathons!
2016 - July Kea tested in a HA configuration with a MySQL cluster
This was an ad-hoc test to look at use of a MySQL cluster backend as part of a high-availability solution. We are hoping that this approach, which keeps the current lease state in a database cluster, will fulfill most requirements for high availability. Kea has not implemented DHCPv4 failover, and DHCPv6 failover has not been standardized. See the link for a blog posting on the test. Kea with a MySQL Cluster backend For more details on the test set-up, read the associated article in the ISC Knowledgebase.
The following major features are working:
- Fully functional DHCPv4, DHCPv6 and Dynamic DNS servers
- OpenSSL support
- IPv6 prefix delegation
- Host reservations and PXE boot
- Leases can be stored in a CSV file, MySQL, Postgres or Cassandra (experimental) backend
- Host Reservations can be stored in MySQL, Postgres
- Applications API is available and documented
- Linux, BSD and Mac OS X operating systems support
- On-line configuration. It is possible to update the configuration file and tell the servers to reload configuration without restarting the system.
- Control channel
Known Issues List - known issues for current release.
To Do List - running list of items to be done in the future
Kea is a high performance server. It is able to handle over 1000 leases/sec (that is 4000 packets/sec) with a MySQL backend. We also have a custom memfile backend that can provision 7500 leases/sec. To assess server performance, ISC has developed perfdhcp, a tool that is able to simulate thousands of clients and assess server responses.
See Install page for details, including packages list and installation from sources.
Contact us via the Kea mailing list if you think you might be interested in working on Kea and sharing that work with the community. We have a Github site for working on technical contributions. We are a small team, so please be patient - it may take us a while to code-review unexpected contributions.
The primary things we need are:
- Test coverage in different environments, with a variety of clients
- Applications based on the Kea API, both to validate the API and to demonstrate the potential for DHCP applications.
- Detailed, specific requirements for new functionality
The best way to see who is currently contributing to Kea is to check the Github repo. Here are some of the early contributors:
- ISC Forge - A Python/Lettuce/Scapy DHCP validation environment under development by students of Gdansk University of Technology.
- DHCPv4-over-DHCPv6 - A Tsinghua University team are developing support for draft-ietf-dhc-dhcpv6-over-dhcpv4 in Kea. See ticket #3357.
How to participate in this project
1) Subscribe to the Kea developers mailing list.
4) Give us feedback via the mailing list or submit a bug (sub-project=dhcp). See below for information about the known issues.
5) A description of the workflow can be found here Kea Git Workflow
- User Guide (Stable) (development snapshot) (see sections 16,17,18 and 19 in the stable version, all sections in development snapshot).
- Manual Pages
- Developer's Guide: (development snapshot)
- Intallation and system specific notes for building Kea
- Kea coding guidelines
- Tips for using Host Reservations in Kea 1.1.0
- Known Issues - This is a list of known issues with the current and previous releases
- Outstanding tasks - this is a list of tasks that we are planning to do. Sometimes the difference between a bug and a missing feature is thin.
- Submit new bug - setting the milestone as Kea-proposed is appreciated.
- Known System Issues - list of all detected issues related to specific system configuration.
- Our milestones - list of all milestones. KeaX.Y milestones contain the tickets we're planning to do in specific releases. Usually only the current milestone is up to date. Future milestones tend to fluctuate a bit.
See Designs page.
- Test Plan
- build-bot - Kea is being built and unit-tests are being run on great variety of platforms.
- ISC is using Jenkins and ISC Forge system/conformance tests to validate Kea.
- Reports of manual and automated tests of Kea components: TestingKeaComponents
- Report of the July, 2016 test of Kea with a MySQL Cluster backend
Kea and BIND10
Kea was initially developed as an application within the framework of the BIND10 project. In 2014, ISC decided to discontinue active development on BIND10 and continue development of Kea as a standalone DHCP server. As a result, the BIND10 components were be removed from Kea to simplify long-term maintenance and reduce the footprint of Kea.