Kea Premium Hook Library – Kea 1.5 package
Kea is an open source DHCP server from Internet Systems Consortium, distributed under the MPL 2.0 open source license. Kea Hook libraries extend the base functionality of the open source Kea DHCP server.
Kea Hook libraries are distributed in source code form, but are not open source. Purchase and download of this software implies consent to the Kea Hooks End User License Agreement.
This is a DOWNLOADABLE product. A download link will be sent to the email address you specify on the order. You may want to provide the end user email address, rather than an accounting or business alias for this reason.
Support for this library is included with any Kea support subscription. This package is included, at no additional cost, with any ISC Kea DHCP support subscription. Users who do not subscribe for technical support are invited to report bugs at gitlab.isc.org and to discuss usage on the public kea-users mailing list. For more information about installing and using these Kea Hook libraries, see the Kea Administrators Guide.
The libraries below are all supported with Kea version 1.5. The package includes all of these libraries, you can load one or all of them.
Key changes since Kea 1.4 include updates to the Host Commands library to support the new global host reservations.
Included in this package:
- Flexible Identifier – not updated for this release
- Host Commands – this previously published library was updated with this release to support the new Global host reservation type
- Forensic Logging – not updated for this release
This dynamically-linked library will extend Kea’s functionality to record a detailed log of lease assignments and renewals. The Forensic Logging Library is supported on Kea versions 1.1 and later.
Standard information logged includes:
- address – the leased IPv4 address given out and whether it was assigned or renewed.
- duration – the lease lifetime expressed in days, hours, minutes and seconds.
- device-id – the client’s hardware address shown as numerical type and hex digit string (DHCPv4) or the client’s DUID and hardware address (DHCPv6).
- client-info – the DHCP client id option (61) if present, shown as a hex string.
- relay-info – for relayed packets the content of relay agent messages, remote id and subscriber id options (option 82 sub options 1 and 2)
An important feature of Kea is the definition and storage of host reservations in SQL databases (MySQL or PostgreSQL). The Host Commands Library extends the set of supplied commands with ones allowing the management of host reservations. This feature is supported with Kea 1.2 and later versions.
Host Command Features
- Inspect current host reservations, checking whether specific address or IPv6 prefix is reserved or whether a given device with specific identifier has a reservation. This gives you a confirmation that the information in your database is correct.
- Add new reservations. The input parameters are checked by Kea before they are inserted into the database. This includes basic checks (e.g. missing mandatory parameter), but also more complex ones, like checking whether a host with the same pair of (identifier-type, identifier) is already declared in the same subnet. This gives you confidence that your reservation data are consistent.
- Remove reservations. These can be identified by address (“I don’t want address X to be reserved anymore”) or host (“I don’t want the device Y to have any reservations”). The commands delete all records related to the reservations.
The Flexible Identifier Library extends Kea’s host reservations feature. This feature is supported with Kea 1.2 and later versions.
Host reservations are typically based on a few standard client or connection attributes. DHCPv4 reservations can be based on hardware address, DUID, circuit-id or client-id. DHCPv6 reservations use either the client hardware address or DUID.
Some deployments require more complex reservation criteria. For example, some implementations may need to identify clients based on the interface-id option inserted by a relay agent, or require a combination of several options and fields to uniquely identify a client. For these scenarios you may want to use the Flexible Identifier Library to extend Kea’s standard functionality.
The Flexible Identifier Library uses the same notation used for client classification. The administrator can create an expression using any of the available device identifiers to be used as the client identifier. This expression is evaluated for each incoming packet, generating an identifier that is used to identify the client and select the appropriate reservation.
For more information about installing and using these Kea Hook libraries, see the Kea Documentation in our Knowledgebase.