![告诉 BIND 不要转发 DNS 阻止列表服务使用的域](https://linux22.com/image/612972/%E5%91%8A%E8%AF%89%20BIND%20%E4%B8%8D%E8%A6%81%E8%BD%AC%E5%8F%91%20DNS%20%E9%98%BB%E6%AD%A2%E5%88%97%E8%A1%A8%E6%9C%8D%E5%8A%A1%E4%BD%BF%E7%94%A8%E7%9A%84%E5%9F%9F.png)
我如何告诉 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