NetBox DNS 是一个用于管理DNS数据的NetBox插件。
项目描述
NetBox DNS
NetBox DNS插件使NetBox能够管理操作DNS数据,例如名称服务器、区域、记录和视图,以及域的注册数据。它可以自动化创建PTR记录、生成区域序列号、NS和SOA记录等任务,以及验证资源记录的名称和值,以确保区域数据的一致性、时效性和符合相关的RFC。
[!警告] 由于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
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码发行版
构建发行版
netbox_plugin_dns-1.1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 596199ecd382c98d77ed3d929d6eebcfe682d50d08d398ee744c028d5656ce9c |
|
MD5 | 3bc390e88896a9ab5aaf13d723a5b587 |
|
BLAKE2b-256 | 5675d695c141b5ce4674d5a07b64c5ed5b45be2c1bc2f562464aa79b5b5f0171 |