我为两个人运行一个邮件服务器,Ubuntu 10.04 LTS。我通过 Amavis/Postfix 运行 Spamassassin。在许多邮件中,我在 X-Spam-Status 标头中收到 URIBL_BLOCKED,这表明请求来自向 URIBL 服务器发出过多请求的来源。[1] URIBL 和 Spamassassin 都表示,运行缓存名称服务器应该可以为低流量用户解决此问题,因为可能的原因是 DNS 请求来自 ISP 的服务器,该服务器发出了大量请求。[1][2] 我希望 URIBL 能够正常工作。
因此我安装了 bind9,并将以下几行添加到 named.conf.options:
acl goodclients {
localhost;
127.0.0.1;
};
并在“选项”中我添加了
recursion yes;
allow-query { goodclients; };
我在 /etc/default/bind 中设置 RESOLVCONF=yes 并重新启动了 bind9。
URIBL 提供了一个测试点,如下所述http://www.uribl.com/about.shtml#abuse在我的邮件服务器的终端中,当我输入
host -tA 2.0.0.127.multi.uribl.com
答案是
2.0.0.127.multi.uribl.com has address 127.0.0.14
URIBL 表示响应表示“未阻止”。但我仍然收到 X-Spam-Status 标头中带有 URIBL_BLOCKED 的垃圾邮件。我还运行了“rudc flush”以清除绑定中的任何先前记录;并重新启动了 Amavis 和 Postfix,以防它们以某种方式缓存了 DNS 信息。
为什么对 uribl 的命令行测试可以通过,但来自 amavis/spamassassin 内部的请求却失败了?
[1]http://www.uribl.com/about.shtml#abuse,“滥用”下的最后一句话:“如果您使用 ISP 名称服务器进行解析,并且它们被阻止,请考虑运行您自己的缓存名称服务器。”
答案1
我遇到了这个问题,只需重新启动即可解决spamd
。显然,它需要重新启动才能更新它所连接的名称服务器。
另外,请确保您已通过以下配置告诉系统使用新的本地名称服务器/etc/resolv.conf
:
nameserver 127.0.0.1
如果有帮助的话,这是我的/etc/named.conf
文件:http://pastebin.com/r0RYawGj
答案2
今天我刚刚从同事那里了解到的另一个重要细节是:确保只有您的 DNS 服务器在 resolv.conf 中。
我将 127.0.0.1 添加到我的列表中,而不是替换我主机的默认 DNS 服务器(期望它首先命中我的服务器,然后再回退到其他服务器),然后发现我在 DNS 服务器上进行了循环调度,因此 2/3 的查询通过其他服务器而不是我自己的服务器发出。
因此,清除任何其他名称服务器,并确保您也没有在 named.conf 中进行转发(转发器部分)。