告诉 BIND 不要转发 DNS 阻止列表服务使用的域

告诉 BIND 不要转发 DNS 阻止列表服务使用的域

我如何告诉 BIND 停止将特定域列表的查询转发到我的提供商的 DNS 服务器,但转发其他所有域的查询?


我使用 BIND 作为我的域的权威名称服务器。它还通过将其转发到我的提供商的 DNS 服务器来为主机上的其他查询提供 DNS 解析:

forward first;
forwarders {
    1.2.3.4;
    5.6.7.8;
};

但是,我正在运行 SpamAssassin,我对各种 DNS 阻止列表的查询被拒绝,因为它们正在通过我的提供商的名称服务器(以及我的许多同行客户),并且达到了来自其 IP 地址的免费查询的限制。由于我自己只有少量查询(可能每天 5-10 个),因此我想配置 BIND,以便它不会将 DNSBL 查询转发到我的提供商的服务器,但它会转发其他所有内容。

这应该允许我继续使用 DNS 阻止列表来检查我收到的少量电子邮件的垃圾邮件,而不必完全关闭转发/缓存。

我怎样才能告诉 BIND 不要只转发少数域名,而是继续转发其他所有域名?

答案1

尝试为黑名单配置区域,并将其配置为不转发。类似这样的操作应该可行。每个黑名单区域都需要一个这样的设置。

zone "blacklist.example.com" {
    type static-stub;
    recursion yes;
};

您还需要设置根区域,以便递归能够正常工作。您可能已经完成了此操作。

答案2

感谢@BillThor,我能够想出这个适用于旧版本(9.7.3)BIND的条目:

zone "blacklist.example.com" {
    type forward;
    forwarders {};
};

在我的 Debian 机器上我将其添加到/etc/bind/named.conf.local

相关内容