Zimbra 使用未分配的 IP,导致 HELO/反向 DNS 不匹配

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 将虚拟服务器的 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 不匹配(1.1.1.12 的反向 DNS 条目指向 mx1.ipsum.com,但 1.1.1.11 指向 vserver.ipsum.com)。结果,许多邮件服务器拒绝从我们的服务器 mx1.ipsum.com 发送的邮件,即说“550 邮件似乎是垃圾邮件或伪造的。错误的 HELO 和 DNS”所以我想告诉 Zimbra 使用正确的邮件服务器 IP 1.1.1.12。在 Zimbra 管理面板中,当然设置了正确的 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 中记录的内容:

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

测试 mx 记录

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

测试指针:

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

测试 rDNS:

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

有什么建议可以让 Zimbra 使用 1.1.1.12 邮件服务器 IP 而不是 vServer IP 地址重新正常运行?

答案1

这是您的电子邮件流程的完整图景

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

现在,你的电子邮件被卡在队列中,因为 amavisd拒绝为什么?

一些背景知识

zimbra 中的 Amavisd 使用策略库来控制谁可以远程登录到 amavisd 守护进程。当 zimbra 安装后初始化配置时,zimbra 将配置同步到 amavisd 和配置。* 它告诉 postfix 将电子邮件(用于扫描)提交给 IP 为 1.1.1.11 的 amavisd 和 * 它告诉 amavisd 只接受来自 IP 为 1.1.1.11 的电子邮件

这就是 amavisd 拒绝它的原因。您smtp_bind_address在 postfix 中进行了更改,但没有更改 amavisd.conf 中的策略库设置

解决方案

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

相关内容