我有一个域名,我控制的DNS,并在互联网上托管.我还有一个NAT’d内部网络(192.168.0.0/24),它有互联网接入,我也控制.在这个内部网络上,我还有一个DNS解析器.两者的DNS软件都是PowerDNS.
我希望能够做的是内部网络上的DNS解析器能够添加/更改从权威服务器下来的查询和结果的记录.例如,权威服务器可能拥有animal.example.com的单个记录:
animal.example.com. IN AAAA 2001:140:283::1
但是,我喜欢它,以便当内部客户端为animal.example.com执行dns查找时,他们可能会返回以下内容:
animal.example.com. IN AAAA 2001:140:283::1 animal.example.com. IN A 192.168.0.2
显然,我可以设置内部DNS服务器假装对example.com具有权威性,但这需要相当大的努力才能使主DNS服务器和内部DNS服务器保持同步,以保证两者之间的记录相同.都.如果内部DNS服务器可以某种方式成为主DNS服务器的从属服务器,但也有提供添加自己的结果,那将是理想的.
这可能吗?
解决方法
实际上,如果我不得不这样做,我会使用Lua脚本与recursor一起使用postresolve上的数据进行修改.
不过我确实推荐了一些不同的东西:只需使用一个独立的权威区域,例如internal.example.com,其中来自权威服务器的AXFR example.com,只需附加本地RFC1918数据.
这样,您仍然可以从LAN调试权威区域,就像它在Internet上一样,并使用内部数据.
关于PowerDNS Recursor Lua脚本:http://doc.powerdns.com/recursor-scripting.html