如何configurationDNS服务器转发有关特定域及其所有子域的查询

我有DNS服务器(与bind9的Linux盒),这是一些域authorative,并转发所有其他查询到我的ISP提供商的外部DNS服务器。

到目前为止没有问题。

现在我想要关于某些特定域的查询被转发到我的内部DNS服务器,fe:

zone "some_domain" { type forward; forwarders { some_internal_dns_ip; }; }; 

到目前为止还没有问题,一切正常。

但是,我还想将一些反向DNS查询转发给我的内部DNS。 所以,我补充说:

 zone "16.172.in-addr.arpa" { type forward; forwarders { some_internal_dns_ip; }; }; 

而这并不像我预期的那样工作。 关于“ 16.172.in-addr.arpa ”的查询(例如1.16.172.in-addr.arpa )被正确parsing,但是关于完整地址的反向查询(例如1.1.16.172.in-addr.arpa )不是。 我明白我的服务器应该在这里使用一些recursion查询,但不能configuration它。 我已经尝试添加以下选项

 recursion yes; allow-recursion { 127.0.0.1; }; allow-recursion-on { 127.0.0.1; }; 

但没有成功。 (我在这里使用了回送地址,因为我需要这个function只为我的DNS主机,而不是它的客户端)任何build议?

这是因为绑定默认会创build“空白区域”。 所以,你的名字服务器是“16.172.in-addr.arpa”的主人。 并用“NXDomain”返回您的答案。

如果你定义了“empty-zones-enable no” 在named.conf中,这将按照您的预期工作。

我有同样的问题,你只是在你的named.conf语法中缺lessIN:

 zone "5.10.in-addr.arpa." IN { type forward; forwarders {10.5.0.1;}; }; zone "6.10.in-addr.arpa." IN { type forward; forwarders {10.6.0.1;}; }; 

主/从区域不需要它是令人困惑的。 无论如何,这是对我来说固定的。

两种方法…

  1. 使BIND成为16.172.in-addr.arpa的主人。 在区域文件中,使用NSlogging委托给其他内部服务器。

要么

  1. 使BIND成为16.172.in-addr.arpa的奴隶。 将其他内部服务器设置为主服务器。