|
|
|
Welcome to the Kea project page. This site is addressed at developers and people familiar with the software and is more project oriented. For an initial introduction and business-oriented webpage, see http://isc.org/kea.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Kea News
|
|
|
|
|
|
|
|
2018-06-15: Kea 1.4.0 released!
|
|
|
|
|
|
|
|
A release of Kea 1.4.0 has been made available. It brings many new features and improves existing ones: high availability, database improvements (better statistics and error handling), expanded client classification (you can now define class restrictions on pool level and use additional operators), much improved Cassandra backend (now with host reservation), RADIUS support and more. For detailed information please check Release Notes.
|
|
|
|
|
|
|
|
Tarball package is available on the ISC.org downloads page or ISC ftp server.
|
|
|
|
|
|
|
|
2018-02-14: Welcome, Google Summer of Code Interns!
|
|
|
|
|
|
|
|
We’re excited that ISC has been selected as one of the participating organizations in this year’s Google Summer of Code GSOC program. We are proposing a number of worthwhile extensions to the Kea project. Suggested projects will help you develop practical experience with C++, user interface design, REST api design and more. Some of these are relatively easy, others quite challenging. Kea has an active user community that is growing fast that you can tap into for requirements and feedback.
|
|
|
|
|
|
|
|
Participants have until March 12th to make a proposal. We’d like to help you succeed. If you are interested, please email the development team at kea-dev at lists.isc.org and let us know what project you are thinking of working on. We can point you to examples of existing Kea designs that may help you get started on your proposal.
|
|
|
|
|
|
|
|
Kea project ideas: HERE
|
|
|
|
|
|
|
|
ISC overview and how to apply GSOC web site
|
|
|
|
|
|
|
|
2017-10-27: Kea 1.3.0 released!
|
|
|
|
|
|
|
|
Kea 1.3.0 brings an exciting set of new features: shared networks, improvements in REST API interface, new commands for leases, subnets and shared networks management, many new DHCPv4 and DHCPv6 options, ability to specify options on IPv4 pool level and much more. For detailed information please check Release Notes.
|
|
|
|
|
|
|
|
Tarball package is available on the ISC.org downloads page or ISC ftp server.
|
|
|
|
|
|
|
|
Kea is distributed under the MPL2.0 open source license.
|
|
|
|
|
|
|
|
2017-04-28: Kea 1.2.0 released!
|
|
|
|
|
|
|
|
Kea 1.2.0 brings new set of control commands and REST API for them. Control Agent can connect to DHCPv6 and DHCPv4 servers using HTTP interface to relay JSON commands. For detailed information please check Release Notes.
|
|
|
|
|
|
|
|
Tarball package is available on the ISC.org downloads page or ISC ftp server.
|
|
|
|
|
|
|
|
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-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-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.
|
|
|
|
|
|
|
|
Status
|
|
|
|
|
|
|
|
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.
|
|
|
|
Statistics
|
|
|
|
Control channel
|
|
|
|
Known Issues List - known issues for current release.
|
|
|
|
|
|
|
|
Some ideas for Kea - running list of items to be done in the future
|
|
|
|
|
|
|
|
Performance
|
|
|
|
|
|
|
|
Kea is a high performance server. Performance details will be published soon.
|
|
|
|
|
|
|
|
To assess server performance, ISC has developed perfdhcp, a tool that is able to simulate thousands of clients and assess server responses.
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
|
|
|
See Install page for details, including packages list and installation from sources.
|
|
|
|
|
|
|
|
Collaboration
|
|
|
|
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
|
|
|
|
Current collaborators
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
2) Read the User Guide (sections 16,17,18 and 19) and the Developer's Guide.
|
|
|
|
|
|
|
|
3) Download and build a KEA instance. Released, supported versions are available here and on the ISC web site. For the latest KEA code, please use our public GIT repository.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Community-developed Tools and Scripts
|
|
|
|
|
|
|
|
DHCP Load balancer Engineers at Facebook wrote this dhcpv4/v6 load balancer to use with Kea dhcp server as an anycasted DHCP service.
|
|
|
|
|
|
|
|
kea-hook-run-script This generic hook will call an external script at any/all of the hook points supported by Kea. Written by Baptiste Jonglez.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Show leases script Two scripts that display the assigned leases in a formatted table. Works with memfile lease backend only.
|
|
|
|
|
|
|
|
Linux DHCP client simulation tool
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
Installation and system specific notes for building Kea.
|
|
|
|
User Guide - we do have two versions. (Stable) documents the latest stable release. (Development snapshot) documents the latest git version and is rebuilt daily.
|
|
|
|
Documentation - a directory with documentation (User's Guide, list of all messages Kea can print and more).
|
|
|
|
Developer's Guide - addressed at developers and contributors. This is regenerated daily.
|
|
|
|
Designs - see how existing and upcoming features will look like.
|
|
|
|
Commands - Planned and currently supported Kea commands (available through REST API or control channel).
|
|
|
|
Available hooks - this is a list of hook libraries, both from ISC and third parties.
|
|
|
|
Host reservations howto - Tips for using Host Reservations in Kea 1.1.0, especially with MySQL.
|
|
|
|
Kea coding guidelines - Please read those before you start writing code.
|
|
|
|
Known Issues
|
|
|
|
|
|
|
|
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.
|
|
|
|
Testing
|
|
|
|
|
|
|
|
ISC is using Jenkins and ISC Forge system/conformance/regression 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
|
|
|
|
Getting in touch
|
|
|
|
|
|
|
|
Kea mailing list - feel free to post any Kea questions here
|
|
|
|
Kea developers list - for development discussions |