我正在寻找转换基于绑定-DLZ的安装到基于PowerDNS的设置。 为此,我想使用PowerDNS附带的zone2sql工具。 不幸的是,这个工具在我的named.conf跳过DLZ定义的区域。 我一直在寻找一个脚本,将DLZ数据库转储到传统的DNS文件和引用它们的named.conf ,但没有任何运气。
这样的工具是否存在? 如果是这样,你会如此友善,连接我吗?
从Bind-DLZ数据库中提取DNS信息最简单的方法是对数据库中的每个“区域”使用AXFR查询。
首先,通过连接到你的数据库types(例如mysql )适合的客户端并发布语句来确定存储在数据库中的区域:
SELECT DISTINCT zone FROM dns_records;
dns_records表是容纳你的DNS信息的表。
其次,确保绑定服务器允许来自将要执行提取的主机的传输请求。 编辑你的named.conf并相应地调整你的选项块(然后重新启动绑定):
options { # Allow host 192.168.1.5 to issue AXFR queries to this server allow-transfer { 192.168.1.5; }; };
第三,对于从您的DLZ数据库中检索的列表中的每个区域,执行以下命令:
$ dig AXFR @your-dns-server.example.com a.zone.com > a.zone.com.zonefile
其中“a.zone.com”是列表中的一个区域(例如“example.com”),“a.zone.com.zonefile”是将用该区域的条目创build的文件。
最后,使用zone2sql工具转换PowerDNS数据库的每个区域文件。