Installation¶
Requirements¶
- NetBox 4.3 – 4.7
- Kea 3.0+ (recommended) — the plugin connects directly to each daemon's built-in HTTP control socket (
kea-dhcp4/kea-dhcp6). The Kea Control Agent was deprecated in Kea 3.0 and removed in Kea 3.1.8. Before Kea 3.0, point the server URL at the Control Agent; Kea 3.0 supports both. lease_cmdshook library (for lease search and management)stat_cmdshook library (for guarded Subnet lease searches unless Max Unpaged Leases on the Settings page is0)- Kea 3.1.5+ for state-filtered Subnet lease searches. Earlier releases do not provide the scoped state commands, so these searches fail closed.
host_cmdshook library (optional, for reservation management; it also requiressubnet_cmdsto resolve a reservation's subnet from its CIDR). The plugin finds it inhooks-libraries: the library file name must belibdhcp_host_cmdsfollowed by an extension, for examplelibdhcp_host_cmds.so.subnet_cmdshook library (optional, for subnet add/edit/delete, reservation management, and the subnet suggestions on the lease search and reservation forms)
The plugin degrades gracefully when optional hooks are absent — tabs for unavailable features are hidden automatically. Two pages offer the server's configured subnets as suggestions and read them through subnet_cmds; without that hook each says so in a banner rather than silently offering nothing:
- Lease search keeps working: the Search field offers no subnet suggestions, so type an exact configured subnet CIDR or ID.
- Add reservation cannot save, because resolving the entered CIDR to a Kea subnet ID needs
subnet_cmds. Load the hook first.
Compatibility¶
| netbox-kea-ng | NetBox | Kea |
|---|---|---|
| 3.x | 4.3 – 4.7 | 3.0+ recommended (2.4+ via Control Agent) |
The plugin talks directly to each DHCP daemon's HTTP control socket (Kea 3.0 and later), or connects through a Control Agent (deprecated in Kea 3.0 and removed in Kea 3.1.8). CI tests against Kea 3.2.0 using the memfile lease database.
For netbox-branching, see netbox-branching.
Install the plugin¶
1. Install the package¶
Add netbox-kea-ng to your local_requirements.txt (or install with pip):
2. Enable the plugin¶
In configuration.py:
After the migrations, change the plugin settings on the Settings page (see Configuration).
The plugin takes no PLUGINS_CONFIG settings.
3. Run migrations¶
4. Start the background worker (required for periodic sync)¶
The periodic IPAM sync job runs via NetBox's built-in rqworker. If you're not already running it:
The Kea IPAM Sync job will appear under System → Background Jobs and runs on the configured interval.