Skip to main content

netbox-windows-dhcp

A NetBox plugin that connects NetBox to Windows DHCP Server through PowerShell Universal (PSU). It keeps DHCP scopes, options, exclusions, reservations and leases in step between NetBox and your DHCP servers, in whichever direction you choose.

What it does

  • Brings your DHCP servers into NetBox. Import failovers, scopes, option values and exclusion ranges from a live server, then keep them up to date with a scheduled sync.
  • Tracks leases and reservations as NetBox IP Addresses, with status, DNS name, client MAC and lease details, and cleans up the ones the server no longer has.
  • Lets you choose the source of truth. With the push settings on, NetBox wins and changes are pushed to the DHCP servers, most of them right away. With them off, the DHCP servers win and NetBox mirrors them.
  • Handles failover pairs: changes go to the primary and are replicated to the partner. If the primary is down, the sync reads through the secondary.
  • Protects what you choose: a tag keeps IPs (or whole prefixes) out of the sync's reach, and maintenance mode pauses a server, failover or scope.
  • Keeps you out of trouble: edits the next sync would undo are refused, and a failed read from a server never deletes anything.
  • Runs everything as background jobs, recorded in NetBox's changelog and able to fire NetBox event rules.
  • Full REST API for all plugin objects.

Requirements

NetBox 4.5 or 4.6, Python 3.12 or later, and a licensed PowerShell Universal install on each Windows DHCP server. See Requirements for the details.

Quick start

pip install netbox-windows-dhcp

Add 'netbox_windows_dhcp' to PLUGINS in configuration.py, run python manage.py migrate, and restart NetBox and its RQ workers. Then set up PSU on each DHCP server and import your first server; the Installation guide walks through every step.

Documentation

Guide What's in it
Requirements Software versions and licenses
Installation From a running NetBox and PSU to your first imported DHCP server
Upgrading Upgrading the plugin and the PSU scripts
Configuration The Settings and Schedule pages, and PLUGINS_CONFIG overrides
How the sync works Who wins for what, how scopes and IPs are matched, and the safety rules
Editing rules What you can create, edit and delete, and when
Operations Maintenance mode, protected IPs, Unassigned Scopes, commands and troubleshooting
REST API The plugin's NetBox API
PowerShell Universal How the plugin uses PSU, and the PSU endpoint reference
Changelog What changed in each release

Testing

The plugin ships an offline Django test suite (no DHCP server, PSU or network needed). Run it from the NetBox install directory:

python manage.py test netbox_windows_dhcp --keepdb

License

Released under the GNU General Public License v3.0 (or later). See LICENSE.

Metadata

Release files for netbox-windows-dhcp 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-windows-dhcp 2.0.1
File Size Uploaded
netbox_windows_dhcp-2.0.1.tar.gz 222.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-windows-dhcp 2.0.1
File Interpreter ABI Platform
netbox_windows_dhcp-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 483.9 kB

Release files / netbox_windows_dhcp-2.0.1.tar.gz

Download URL netbox_windows_dhcp-2.0.1.tar.gz
Size 222.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8ce3b895efe48aa20fd037dbd48d9d934840e57e3ad8f60f7e1e68f6f3520831
BLAKE2b-256 checksum
How to use checksums
ee061eb1d99633dbd10c69adfab4b8d07ccc4bb8804b7f147976a84ba0545c71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.7

Release files / netbox_windows_dhcp-2.0.1-py3-none-any.whl

Download URL netbox_windows_dhcp-2.0.1-py3-none-any.whl
Size 261.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4fbca5a6b49cf4060bb9e0924a95ca05f9a484fda26c0fe4574fd5a52a093e6c
BLAKE2b-256 checksum
How to use checksums
582dc0e70b8047d93b509878e434dcfb931446a1f8963cda532f2989b5637d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page