Skip to main content

NetBox DNS

The NetBox DNS plugin enables NetBox to manage operational DNS data such as name servers, zones, records and views, as well as registration data for domains. It can automate tasks like creating PTR records, generating zone serial numbers, NS and SOA records, as well as validate names and values values for resource records to ensure zone data is consistent, up-to-date and compliant with to the relevant RFCs.

PyPi Stars Badge Forks Badge Issues Badge Pull Requests Badge GitHub contributors License Badge Code Style Ruff Downloads Downloads/Week Downloads/Month

Objectives

NetBox DNS is designed to be the 'DNS Source of Truth' analogous to NetBox being the 'Network Source of Truth'.

The plugin stores information about DNS name servers, DNS views and zones, and DNS records, making it a data source for automatic provisioning of DNS instances. Registration information about DNS registrars and contacts for DNS domains can also be stored and associated with zones.

The main focus of the plugin is to ensure the quality of the data stored in it. To achieve this, there are many validation and automation mechanisms in place:

  • Validation of record names and values
  • Automatic maintenance of PTR records for IPv6 and IPv4 address records
  • Automatic generation of SOA records, optionally including the serial number of the zone data
  • Validation of changes to the SOA SERIAL number, whether they are done automatically or manually
  • Validation of record types such as CNAME and singletons, to ensure DNS zone validity
  • Support for RFC 2317 delegation of PTR zones for IPv4 subnets longer than 24 bits
  • Templating for zones and records enables faster creations of zones with given boilerplate object relations, such as name servers, tags, tenants or registration information, or records like standard SPF or MX records that are the same for a subset of zones
  • IPAM DNSsync can be used to automatically create address and pointer records for IP addresses by assigning prefixes to DNS views. When an IP address has a DNS name assigned and there are zones with matching names in the DNS views linked to the IP address' prefix, a matching DNS record will be created in these zones
  • DNSSEC support for storing configuration data relevant to DNSSEC operation in NetBox DNS
  • Beta support for the NetBox Branching plugin by contribution from @arthanson

Other main features include:

  • Support for BIND views, providing lightweight namespaces for zones
  • Support for IDN, including the validation of punycode names
  • Full support for the NetBox REST and GraphQL APIs
  • Support for all major NetBox features such as global search, tenancy, change logs, tagging, journaling etc.

Non-objectives

In the same way as NetBox is not a network management application, NetBox DNS does not provide any functionality to manage specific name servers or DNS service providers or to generate input such as configuration and zone files for them. The focus is on the completeness and integrity of the data needed to run DNS zones, not on the peculiarities of a plethora of servers and services that actually use the data. This functionality is left to specialized integration tools, or in many cases it can be easily implemented using Ansible or similar tools based on NetBox DNS data. Example code for some simple use cases is provided.

For integration with a large number of DNS server implementations integration tools like octodns-netbox-dns are available.

For RFC9432 compatible DNS Servers like BIND, a related plugin netbox-plugin-bind-provisioner provides direct integration using DNS native zone distribution.

Requirements

  • NetBox 4.5.0 or higher
  • Python 3.12 or higher

Compatibility with NetBox Versions

NetBox Version NetBox DNS Version Comment
3.5 0.22
3.6 0.22
3.7 0.22
4.0 - 4.1 1.0 Supports legacy IPAM Coupling
4.0 - 4.1 1.1 Supports IPAM DNSsync
4.2 1.2
4.3 1.3 - 1.4
4.4 1.4
4.5 1.5

Installation & Configuration

Installation

$ source /opt/netbox/venv/bin/activate
(venv) $ pip install netbox-plugin-dns

NetBox Configuration

Add the plugin to the NetBox config. ~/netbox/configuration.py

PLUGINS = [
    "netbox_dns",
]

To permanently keep the plugin installed when updating NetBox via upgrade.sh:

echo netbox-plugin-dns >> ~/netbox/local_requirements.txt

To add the required netbox_dns 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

Contribute

Contributions are always welcome! Please see the Contribution Guidelines

Documentation

For further information, please refer to the full documentation: Using NetBox DNS

License

MIT

Metadata

Release files for netbox-plugin-dns 1.6.2

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-plugin-dns 1.6.2
File Size Uploaded
netbox_plugin_dns-1.6.2.tar.gz 155.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-plugin-dns 1.6.2
File Interpreter ABI Platform
netbox_plugin_dns-1.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 397.1 kB

Release files / netbox_plugin_dns-1.6.2.tar.gz

Download URL netbox_plugin_dns-1.6.2.tar.gz
Size 155.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2575fcbe49d0cf6350f4d45440d65e6f0d9c9f0e693bdc9a4183f4b895a175ab
BLAKE2b-256 checksum
How to use checksums
2918959ff1c0c2977829a7c5cb82ca3d0245f0b5325055ce9fb7c1edc15bd5a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / netbox_plugin_dns-1.6.2-py3-none-any.whl

Download URL netbox_plugin_dns-1.6.2-py3-none-any.whl
Size 241.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a17119810fbea378061a60dac820eb6105c4a48c009503105b9f40696e5f3f2
BLAKE2b-256 checksum
How to use checksums
1ef227aab87100f2a836f5b6dc78d51701092f8f2eef06cb1c6e6d9e4af837e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

1.7.3

2 release files

1.7.2

2 release files

1.7.0

2 release files

This release

1.6.2 This release

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.15

2 release files

1.5.11

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

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.13

2 release files

1.2.12

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

1.0b2

2 release files

1.0b1

2 release files

0.22.6

2 release files

0.22.5

2 release files

0.22.3

2 release files

0.22.2

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.8

2 release files

0.21.7

2 release files

0.21.6

2 release files

0.21.4

2 release files

0.21.3

2 release files

0.21.2

2 release files

0.21.0

2 release files

0.20.2

2 release files

0.20.1

1 release file

0.20.0

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.6

2 release files

0.18.2

2 release files

0.18.1

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