我已经尝试了所有可能的方法,并且失败了,因此需要你的帮助 –
我试图设置DNS(绑定)只为RPZbuild议。 configuration是干净和简单的(删除所有其他选项,并希望在默认情况下运行 – 更容易debugging):
/etc/named.conf: options { response-policy { "rpz.zone"; }; }; zone "rpz.zone" IN { type master; file "/etc/named/rpz.db"; };
named.conf语法没有问题。 rpz.db是来自提供者的文件,因此语法也是正确的。 绑定正在监听和响应lo和eth0接口(框中没有其他接口)。
当我试图查询rpz域名之一时,我得到:
# dig baddomain.test.com @127.0.0.1 ;; connection timed out; no servers could be reached
在named.log中我发现:
query-errors: debug 1: client <client IP>: query failed (SERVFAIL) for baddomain.test.com/IN/A at query.c:6569
但是,如果我将添加 – 仅用于testingbuild议 – rpz以外的示例域,查询没有问题。
/etc/named.conf: zone "test.com" IN { type master; file "/etc/named/test.db"; };
我将跳过test.db内容,并挖掘输出,因为它是为特定的/testing域的工作 – 问题只在rpz域。
你是我唯一的希望。 谢谢!
神秘求解:我的箱子没有互联网接入。 绑定是联系/parsing在rpz区提到的auth srv,所以它需要直接访问互联网或通过其他DNS转发器。 感谢所有的帮助!
检查您的响应策略区域configuration的语法。 你应该更加小心! 和所有configuration文件一样,一个字符可以计数。 你可以通过使用任何教程来纠正这些问题:
response-policy ,而不是response=policy 。 zone 。 你应该有:
options { response-policy { zone "rpz.zone"; }; }; zone "rpz.zone" { type master; file "/etc/named/rpz.db"; };
连接超时并不意味着你的服务器没有响应:你可以在named.log看到,BIND获取查询,但由于SERVFAIL而无法响应。 因此dig从来没有得到它在UDP上的答案,并发生超时。