Skip to main content

NetBox DNS is a NetBox plugin for managing DNS data.

Reason this release was yanked:

Beta Release has expired

Project description

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, current and conforming to the relevant RFCs.

PyPi Stars Badge Forks Badge Issues Badge Pull Requests Badge GitHub contributors License Badge 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 holds information about DNS name servers, DNS Views and Zones, and DNS Records, making it a data source for automatically provisioning DNS instances. Registrarion 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 data stored in it. To achieve this, many validation and automation mechanisms are 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 record types such as CNAME and singletons, to ensure DNS zone validity
  • RFC 2317 support for delegation of PTR zones for IPv4 subnets longer than 24 bits

Other main features are:

  • Support for BIND views, providing lightweight namespaces for zones
  • Support for IDN, inclucing the validation of punycode names
  • Fully supported NetBox REST and GraphQL API
  • Support for all major NetBox features like Global Search, Tenancy, Change Logs, Tagging, Journaling etc.

Non-Objectives

In the same way in which NetBox is not a network management application, NetBox DNS does not provide functionality to manage specific name servers or DNS service providers or generate input like 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 actually using 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.

Requirements

  • NetBox 4.0.0 or higher
  • Python 3.10 or higher

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 update.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: contributing guide

Documentation

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

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_plugin_dns-1.0b2.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

netbox_plugin_dns-1.0b2-py3-none-any.whl (86.4 kB view details)

Uploaded Python 3

File details

Details for the file netbox_plugin_dns-1.0b2.tar.gz.

File metadata

  • Download URL: netbox_plugin_dns-1.0b2.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.14 Linux/6.5.0-1018-azure

File hashes

Hashes for netbox_plugin_dns-1.0b2.tar.gz
Algorithm Hash digest
SHA256 1446eba1005e08a3141ef471f5025a904f3751996fafe24a12dc3020368d7398
MD5 40531144b61497462374ab5171cbc736
BLAKE2b-256 61a06850dc26ab05bb9103ee460b7b0f056dfbb98693393a3c64d0c381dc264f

See more details on using hashes here.

File details

Details for the file netbox_plugin_dns-1.0b2-py3-none-any.whl.

File metadata

  • Download URL: netbox_plugin_dns-1.0b2-py3-none-any.whl
  • Upload date:
  • Size: 86.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.14 Linux/6.5.0-1018-azure

File hashes

Hashes for netbox_plugin_dns-1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 a064352ec9826924e1c626193380f057987c654b0738350d82b7c7b1214ee17b
MD5 7e20ea769187fa915348861375f0a7ff
BLAKE2b-256 f30fc5a50a84527d5a974faeb6c2b3fa7da21087f72b833c679fcbedd669a839

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page