跳转到主要内容

NetBox DNS 是一个用于管理DNS数据的NetBox插件。

项目描述

NetBox DNS

NetBox DNS插件使NetBox能够管理操作DNS数据,例如名称服务器、区域、记录和视图,以及域的注册数据。它可以自动化创建PTR记录、生成区域序列号、NS和SOA记录等任务,以及验证资源记录的名称和值,以确保区域数据的一致性、时效性和符合相关的RFC。

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

[!警告] 由于NetBox分支功能(仍在调查中)存在一些问题,NetBox DNS目前与新NetBox分支插件不兼容。 这会影响分支功能的多个方面,并且目前(netboxlabs-branching-plugin版本0.4.0)没有解决方案。在这些问题解决之前,请勿尝试将NetBox分支与NetBox DNS一起使用。此警告将在问题解决后立即更新。

目标

NetBox DNS旨在成为“DNS事实来源”,类似于NetBox是“网络事实来源”。

插件存储有关DNS名称服务器、DNS视图和区域以及DNS记录的信息,使其成为自动配置DNS实例的数据源。DNS注册机构和DNS域名联系人的注册信息也可以存储并关联到区域。

插件的主要重点是确保存储其中的数据质量。为此,实施了许多验证和自动化机制

  • 记录名称和值的验证
  • 自动维护IPv6和IPv4地址记录的PTR记录
  • 自动生成SOA记录,可选地包括区域数据的序列号
  • 验证SOA序列号的变化,无论这些变化是自动的还是手动的
  • 验证记录类型,如CNAME和单例,以确保DNS区域的有效性
  • 支持RFC 2317对超过24位长度的IPv4子网的PTR区域进行委派
  • 区域和记录的模板化使创建具有给定模板对象关系(如名称服务器、标签、租户或注册信息)的区域更快,例如标准SPF或MX记录,这些记录对子集区域相同
  • 可以通过为DNS视图分配前缀来自动创建IP地址的地址和指针记录。当IP地址已分配DNS名称,并且有与IP地址前缀链接的DNS视图中的区域具有匹配的名称时,将在这些区域中创建匹配的DNS记录

其他主要功能包括

  • BIND视图的支持,为区域提供轻量级命名空间
  • 对IDN的支持,包括对punycode名称的验证
  • 完全支持NetBox REST和GraphQL API
  • 支持所有主要NetBox功能,如全局搜索、租户、变更日志、标签、日志记录等。

非目标

与NetBox不是网络管理应用程序一样,NetBox DNS不提供管理特定名称服务器或DNS服务提供商的功能,也不提供为它们生成输入(如配置和区域文件)的功能。重点是DNS区域运行所需数据的完整性和一致性,而不是大量实际使用数据的特定服务器和服务器的特性。此功能留给了专门的集成工具,或者在很多情况下,可以使用基于NetBox DNS数据的Ansible或类似工具轻松实现。提供了一些简单用例的示例代码。

对于与大量DNS服务器实现集成,提供了像octodns-netbox-dns这样的集成工具。

要求

  • NetBox 4.0.0或更高版本
  • Python 3.10或更高版本

安装和配置

安装

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

NetBox配置

将插件添加到NetBox配置。~/netbox/configuration.py

PLUGINS = [
    "netbox_dns",
]

在通过update.sh更新NetBox时,永久保留已安装的插件

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

要从数据库中添加所需的netbox_dns表,请在NetBox目录中运行以下命令

./manage.py migrate

有关使用插件与NetBox的完整文档:使用插件 - NetBox文档

贡献

欢迎贡献!请参阅贡献指南

文档

如需更多信息,请参阅完整文档:使用NetBox DNS

许可证

MIT

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

netbox_plugin_dns-1.1.3.tar.gz (78.8 kB 查看哈希值)

上传时间 源代码

构建发行版

netbox_plugin_dns-1.1.3-py3-none-any.whl (135.9 kB 查看哈希值)

上传时间 Python 3

支持者