The NetBox DHCP plugin enables NetBox to manage operational DHCP data such as servers, shared networks, subnets, pools, options and host reservations. It serves as a "source of truth" for DHCP servers, such as Kea DHCP, providing data for network automation tools that can be used to configure the DHCP infrastructure.
This works in much the same way in which NetBox provides configuration data for automatic configuration of network components, or NetBox DNS provides the input necessary to configure DNS infrastructure and zone data.
Warning
This is a beta release.
This plugin may contain bugs and cause data loss and other problems. Use caution when using it in production environments.
Frequent backups are strongly recommended!
- NetBox 4.5.0 or higher.
- Python 3.12 or higher.
$ source /opt/netbox/venv/bin/activate
(venv) $ python3 -m pip install netbox-plugin-dhcp
Add the plugin to the NetBox configuration file /opt/netbox/netbox/netbox/configuration.py:
PLUGINS = [
"netbox_dhcp",
]To permanently keep the plugin installed when updating NetBox via upgrade.sh:
echo netbox-plugin-dhcp >> /opt/netbox/local_requirements.txt
To add the required tables to your database run the following command from your NetBox directory:
./manage.py migrate
Full documentation on using plugins with NetBox: Using Plugins - NetBox Documentation.
Contributions are always welcome! Please see the Contribution Guidelines.
There is no documentation at this point.
MIT
- There is an issue that sometimes causes a lock conflict while running the test suite. The symptom is that the tests stop at some point and the
./manage.py test netbox_dhcpcommand never returns. The issue does not seem to affect normal operation, just the tests. The specific tests have been disabled for the time being until the issue is resolved. - Validation of input is incomplete, especially when the API or scripting are used.
- Options and Pools cannot be imported via CSV, YAML or JSON.
- Filtering Subnets, Pools etc. by Option is not possible.
- Documentation is still missing.
These issues will be addressed in upcoming Beta releases.