我已经尝试了所有可能的方法但都失败了,因此需要你的帮助 -
我正在尝试仅为 RPZ 提议设置 DNS(绑定)。配置简洁明了(删除了所有其他选项并希望在默认设置下运行 - 更易于调试):
/etc/named.conf:
options {
response-policy { "rpz.zone"; };
};
zone "rpz.zone" IN {
type master;
file "/etc/named/rpz.db";
};
named.conf 语法没有问题。rpz.db 是提供商的文件,因此语法也正确。Bind 正在监听 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
但如果我添加 - 仅用于测试建议 - 示例域防护区外,查询没有问题。
/etc/named.conf:
zone "test.com" IN {
type master;
file "/etc/named/test.db";
};
我将跳过 test.db 内容并挖掘输出,因为它适用于该特定/测试域 - 问题仅在 rpz 域内。
你是我唯一的希望。谢谢!
答案1
检查你的语法响应策略区域配置。你应该更加小心!与所有配置文件一样,一个字符可以算数。你可以使用任何教程来纠正这些问题:
- 声明是
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 上得到答案,并且发生超时。
答案2
谜题已解决:我的盒子无法访问互联网。Bind 正在联系/解析 rpz 区域中提到的 auth srv,因此它需要直接访问互联网或通过其他 dns 转发器。感谢大家的帮助!