NetBox plugin for the Kea DHCP server
This plugin allows you to view Kea status, leases and subnets in NetBox. Go directly from a NetBox device/VM to a DHCP lease and back!
Features
- Uses the Kea management API
- View Kea daemon statuses.
- Supports Kea's DHCPv4 and DHCPv6 servers.
- View, delete, export and search for DHCP leases.
- Search for NetBox devices/VMs directly from DHCP leases.
- View DHCP subnets from Kea's configuration.
- REST API and GraphQL support for managing Server objects.
Limitations
-
Due to limitations in the Kea management API, pagination is only supported when searching for leases by subnet. Additionally, you can only go forwards, not backwards.
-
Searching for leases by subnet ID does not support pagination. This may be an expensive operation depending on the subnet size.
Requirements
- NetBox 4.4, 4.5, 4.6 or 4.7.
libdhcp_lease_cmds.sohook librarylibdhcp_subnet_cmds.sohook library
Compatibility
- This plugin is tested with Kea v3.0 with the
memfilelease database. Other versions and lease databases may also work.
Installation
-
Add
netbox-keatolocal_requirements.txt. -
Enable the plugin in
configuration.pyPLUGINS = ["netbox_kea"]
-
Run
./manage.py migrate
Custom Links
You can add custom links to NetBox models to easily search for leases.
Make sure to replace <Kea Server ID> in the link URL with the object ID of your Kea server. To find a server's ID, open the page for the server
and look at the top right corner for netbox_kea.server:<Server ID Here>.
Show DHCP leases for a prefix
Content types: IPAM > Prefix
Link URL: https://netbox.example.com/plugins/kea/servers/<Kea Server ID>/leases{{ object.prefix.version }}/?q={{ object.prefix }}&by=subnet
Show DHCP leases for a device/VM interface (by MAC):
Content types: DCIM > Interface, Virtualization > Interface
Link URL (DHCPv4): https://netbox.example.com/plugins/kea/servers/<Kea Server ID>/leases4/?q={{ object.mac_address }}&by=hw
Link URL (DHCPv6): https://netbox.example.com/plugins/kea/servers/<Kea Server ID>/leases6/?q={{ object.mac_address }}&by=hw
Show DHCP leases for a device/VM (by name):
Content types: DCIM > Device, Virtualization > Virtual Machine
Link URL (DHCPv4): https://netbox.example.com/plugins/kea/servers/<Kea Server ID>/leases4/?q={{ object.name|lower }}&by=hostname
Link URL (DHCPv4): https://netbox.example.com/plugins/kea/servers/<Kea Server ID>/leases6/?q={{ object.name|lower }}&by=hostname
You may also use a custom field by replacing {{ object.name|lower }} with {{ object.cf.<your custom field>|lower }}.
Metadata
Release files for netbox-kea 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_kea-2.0.1.tar.gz | 22.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_kea-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.9 kB
Release files / netbox_kea-2.0.1.tar.gz
| Download URL | netbox_kea-2.0.1.tar.gz |
|---|---|
| Size | 22.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a24cb02c79b0ea5b5433a3e0d24c79ffed36516e8add2860a1cdb131ebda582
|
|
BLAKE2b-256 checksum How to use checksums |
57b17086a6d0a85887eddc7666d704ba018ab7c252655440ff7be16d1d76b432
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / netbox_kea-2.0.1-py3-none-any.whl
| Download URL | netbox_kea-2.0.1-py3-none-any.whl |
|---|---|
| Size | 29.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5dad02b97b1af5266535d36fa014696de6f7cf6a50e9d2d3133cd3f8e5780b1e
|
|
BLAKE2b-256 checksum How to use checksums |
7c30268ac0ccca54fe62c6546fbc197a761e1deb71efd2876194d0c0923d463c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|