Zimbra使用除分配以外的其他IP,导致HELO /反向DNS不匹配

我们有一个运行Zimbra的vServer和一个Web服务器,每个服务器都有自己的IP地址。

1.1.1.11 - vServer, running: -- 1.1.1.12/mx1.ipsum.com - Zimbra mail server -- 1.1.1.13 - web server 

接收电子邮件很好,但是几周以来,Zimbra把vServer的IP地址放在邮件头上,而不是使用指定的邮件服务器IP:

 Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=1.1.1.11; helo=mx1.ipsum.com; [email protected]; [email protected] 

这会导致HELO /反向DNS不匹配(反向DNS条目1.1.1.12指向mx1.ipsum.com,但1.1.1.11指向vserver.ipsum.com)。 因此,许多邮件服务器拒绝从我们的服务器mx1.ipsum.com发送的邮件,即“550邮件显示为垃圾邮件或伪造。错误的HELO和DNS”所以我想告诉Zimbra使用正确的邮件服务器IP 1.1 .1.12。 在Zimbrapipe理面板中,当然会设置正确的IP 1.1.1.12。

我将这些行添加到/opt/zimbra/postfix/conf/main.cf:

 inet_interfaces = 1.1.1.12, 127.0.0.1 smtp_bind_address = 1.1.1.12 

结果:发送和接收完全停止,所有消息都排队。 以下是zimbra.log中logging的内容:

 Sep 18 14:32:24 mx1 postfix/smtpd[11496]: connect from localhost.localdomain[127.0.0.1] Sep 18 14:32:24 mx1 postfix/smtpd[11496]: NOQUEUE: filter: RCPT from localhost.localdomain[127.0.0.1]: <[email protected]>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mx1.ipsum.com> Sep 18 14:32:24 mx1 postfix/smtpd[11496]: 2549C197F8382: client=localhost.localdomain[127.0.0.1] Sep 18 14:32:24 mx1 postfix/cleanup[11497]: 2549C197F8382: message-id=<[email protected]> Sep 18 14:32:24 mx1 postfix/qmgr[7424]: 2549C197F8382: from=<[email protected]>, size=3899, nrcpt=1 (queue active) Sep 18 14:32:24 mx1 postfix/smtpd[11496]: disconnect from localhost.localdomain[127.0.0.1] Sep 18 14:32:24 mx1 amavis[3400]: (!)DENIED ACCESS from IP 1.1.1.12, policy bank 'ORIGINATING' Sep 18 14:32:43 mx1 postfix/submission/smtpd[11504]: connect from unknown[152.18.171.1] Sep 18 14:32:45 mx1 postfix/submission/smtpd[11504]: Anonymous TLS connection established from unknown[152.18.171.1]: TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits) Sep 18 14:32:47 mx1 postfix/submission/smtpd[11504]: NOQUEUE: filter: RCPT from unknown[152.18.171.1]: <[email protected]>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[192.168.43.166]> Sep 18 14:32:47 mx1 postfix/submission/smtpd[11504]: 57672197F8396: client=unknown[152.18.171.1], sasl_method=PLAIN, sasl_username=admin Sep 18 14:32:48 mx1 postfix/cleanup[11497]: 57672197F8396: message-id=<[email protected]> Sep 18 14:32:48 mx1 postfix/qmgr[7424]: 57672197F8396: from=<[email protected]>, size=570, nrcpt=1 (queue active) Sep 18 14:32:48 mx1 postfix/smtp[10083]: 57672197F8396: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10026, delay=1.7, delays=1.7/0/0/0, dsn=4.4.2, status=deferred (lost connection with 127.0.0.1[127.0.0.1] while receiving the initial server greeting) Sep 18 14:32:49 mx1 postfix/submission/smtpd[11504]: disconnect from unknown[152.18.171.1] Sep 18 14:32:48 mx1 amavis[3400]: (!)DENIED ACCESS from IP 1.1.1.12, policy bank 'ORIGINATING' 

我也尝试添加

 inet_interfaces = all 

要不就

 smtp_bind_address = 1.1.1.12 

没有inet_interfaces行。 同样的结果,所有的邮件都排队。

根据mxtoolbox.com,SMTP Banner和常规设置似乎是正确的:

 Connecting to 1.1.1.12 220 mx1.ipsum.com ESMTP Postfix [874 ms] EHLO MXTB-PWS3.mxtoolbox.com 250-mx1.ipsum.com 250-PIPELINING 250-SIZE 16777216 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN [749 ms] MAIL FROM: <[email protected]> 250 2.1.0 Ok [749 ms] RCPT TO: <[email protected]> 554 5.7.1 <[email protected]>: Relay access denied [749 ms] MXTB-PWS3v2 12184ms 

testingmxlogging

 :~$ host -t mx ipsum.com ipsum.com mail is handled by 10 mx1.ipsum.com. 

testingptr:

 :~$ host mx1.ipsum.com mx1.ipsum.com has address 1.1.1.12 

testingrDNS:

 :~$ host 1.1.1.12 1.1.1.12.in-addr.arpa domain name pointer mx1.ipsum.com. 

如何使用1.1.1.12邮件服务器IP而不是vServer IP地址让Zimbra重回正轨?

这里是你的电子邮件stream的完整画面

 Zimbra webmail -> postfix -> amavis -> postfix -> internet 

现在,您的电子邮件被堵在队列,因为amavisd 拒绝它。 为什么?

一些背景

zimbra中的Amavisd使用策略库来控制谁可以telnet到amavisd守护进程。 当zimbra在安装后初始化configuration时,zimbra将config同步到amavisd和config。 *它告诉后缀提交电子邮件(扫描)与IP 1.1.1.11 amavisd和*它告诉amavisd只接受来自IP 1.1.1.11的电子邮件

所以这就是为什么amavisd拒绝了它。 您在postfix中更改smtp_bind_address ,但不会更改amavisd.conf中的策略库设置

通过添加IP 1.1.1.12/32在/opt/zimbra/conf/amavisd.conf设置@mynetworks指令。 它会告诉amavisd政策银行接受来自1.1.1.12的电子邮件