后缀cachingRBL查询?

这使我疯狂… Linux Debian +后缀… /etc/postfix/main.cf有以下几行:

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access, reject_invalid_hostname, reject_non_fqdn_recipient, reject_non_fqdn_sender, reject_unauth_destination, reject_unauth_pipelining, reject_unknown_recipient_domain, reject_rbl_client cbl.abuseat.org, reject_rbl_client sbl-xbl.spamhaus.org, check_policy_service unix:private/policyd-spf, check_policy_service inet:127.0.0.1:10023, permit_auth_destination, reject 

现在,postfix拒绝来自单一IP的传入消息:

  [email protected] SMTP error from remote mail server after RCPT TO:<[email protected]>: host mail.server.ext [123.123.123.123]: 554 5.7.1 Service unavailable; Client host [234.234.234.234] blocked using cbl.abuseat.org; Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234 

那么… http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234报告没有列入黑名单234.234.234.234(显然IP 234.234.234.234是不是真正的)。

由于同样的原因,目前已有十几封电子邮件被封锁,但每次手动查询RBL时,IP都被报告为干净。

后缀caching查询到RBL? 我错过了什么?

在此先感谢您的时间。

从顶层的angular度来看 ,Postfix依靠libcparsing器来执行DNS查找(包括RBL),所以行为将取决于库。 例如,postfix将通过/etc/resolv.conf.定义的NS服务器进行查询/etc/resolv.conf.

如果NS服务器有caching机制,那么postfix也会得到caching结果 。 如果您的提供商有“ DNS劫持 ”(转移DNS数据包到他们的NS服务器),也会发生这种情况。 在这种情况下,你也会打他们的caching(如果他们启用它)。

要检查DNS查找的输出是什么,可以使用dig命令。 例如检查IP地址216.154.195.36是否列在cbl.abuseat.org。

 $ dig 36.195.154.216.cbl.abuseat.org ; <<>> DiG 9.10.1-P1 <<>> 36.195.154.216.cbl.abuseat.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 48609 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 

如果返回是NXDOMAIN,则IP地址未列出。


从底层angular度来看 ,每个smtpd进程都caching了自己的DNSBL查找结果 。 这些结果不与其他Postfix进程共享。 每个smtpd进程将被重用,直到max_usemax_idle到达。 当smtpd进程死亡时,RBLcaching也将丢失。 当master守护进程创build新的smtpd进程时, 它会在main.cf (包括max_idlemax_use上获取新的configuration ,因此实际上不需要重新启动postfix。