首先,我有点儿像菜鸟,所以如果我说的话没有意义,就忽略它们 =)
是否有任何软件允许使用“API”之类的命令来创建、更新、删除 BIND 上的区域和记录?
我在 EC2 上运行了两个 DNS 服务器,我希望能够从另一个应用程序轻松管理它们上的域。我知道 CPanel 之类的东西有一个 HTTP API 并与 BIND 交互,但这可能超出了我的需要。我不介意安装 Apache/PHP/Mysql/Python/Rails/任何其他需要的东西来使其工作,但所有服务器都将执行 DNS
编辑: 或者让 BIND 使用 MySQL 来存储它的配置,然后我就可以编写一个简单的 PHP 脚本来执行“API”操作
答案1
这是 BIND 管理员多年来一直提出的要求。BIND 9 内置了将存储处理替换为默认机制以外的替代机制。曾有多种尝试使用这一功能,其中似乎仍在使用的就是MySQL BIND SDB 驱动程序,看起来它满足了您编辑问题所包含的需求 - 因此您仍然需要为数据库编写/找到一个 PHP/HTTP 前端。
快速 Google 搜索“绑定的数据库后端“提供了进一步的阅读材料,但请记住,任何将数据库支持包含到 BIND 中的解决方案都需要一个可以编译 BIND + 驱动程序代码的系统,因此出于安全原因,您可能需要另一台主机来执行此操作。
一如往常,HTH 和 YMMV。
答案2
您可以配置动态区域,
zone "example.com." {
...
update-policy local;
};
并使用以下方法更新nsupdate -l
:
$ nsupdate -l
> zone example.com
> update add foo.example.com 7200 A 1.2.3.4
> send
答案3
正在进行的是“名称服务器控制协议“IETF 的努力旨在设计一个通用 API,用于在不同的 DNS 服务器实现中执行这些功能。
看http://dnsccm.org/了解更多详细信息,包括有关即将实施的 NSCP 的信息。
答案4
BIND 9 附带 DLZ (http://bind-dlz.sourceforge.net/mysql_driver.html) 已包括:http://www.nlnet.nl/project/bind-dlz/
作为 DLZ 更新的福利,这也许也会有用