我正在寻找一种可以帮我管理 IP 地址的工具(跟踪哪个客户拥有哪个 IP,在我需要时查找未使用的 IP 地址等),该工具还可以在我进行更改时更新 DNS 和/或启动外部脚本。我知道有很多 IP 管理工具,既有免费的也有付费的。 特里普在 NANOG 上受到大力推荐。解决方案可能是使用插件来解决这个问题,我不知道。
我理想的工作流程是这样的:
- 我进入应用程序(最好是基于网页的)并点击“新机器”。我填写主机名(
blarg.internalspace.
)并选择我想要的 IP 范围(172.18.38/24
)。它返回“ok,blarg.internalspace.
->172.18.38.239
”。 - DNS 在几个地方更新:
blarg IN A 172.18.38.239
被添加到internalspace.zone
239 IN PTR blarg.internalspace.
被添加到38.18.172.in-addr.arpa.zone
- 适当的序列号已更新。
rndc reload
运行。也许我需要手动执行此操作,我不知道。
- 其他东西。更新我的 Puppet 配置?其他东西。我可以编写代码来做这件事。
有什么想法吗?
答案1
TIPP 可能是您最好的选择。很久以前,我编写了自定义软件来完成这两项工作(DNS/IP 和 Netblock),因为当时还没有像 TIPP 这样的东西,但如果现在必须这样做,我会扩展并使用 TIPP。
回复:DNS 部分,除非您使用 LDAP/SQL 支持的 DNS,否则我的建议是按照某个计划(每小时)从 TIPP 导出反向区域并触发任何更改的重新加载(以避免为每个小 IP 分配而损坏您的 DNS 服务器)。
查看 TIPP 应该很容易完成这些导出 - 我没有看到直接的方法,但它是 postgres 支持的,因此您可以使用 inet/cidr 运算符来提取“子网中包含的所有地址和 ip_extras”并启动一些 PHP 或 perl 将它们吐出为区域文件。
TIPP is actually pretty sweet - I may implement the DNS bits in my spare time & send the author a patch :-)
答案2
这正是 OpenNetAdmin 可以为您做的事情(http://opennetadmin.com)。它有一个不错的 AJAX Web 前端以及一个完整的 CLI 批处理工具来管理数据。将数据输入系统后,您就可以为 DNS 和 DHCP 服务器构建配置。我们目前支持几种类型的服务器,例如 Bind、Tinydns、DLZ 和 ISC DHCP。
还有一个插件框架可以扩展系统的功能,从而实现更多功能。