多IP地址机器使postfix HELO名称匹配绑定到的源IP的反向DNS

多IP地址机器使postfix HELO名称匹配绑定到的源IP的反向DNS

在 Centos 6.6 服务器上,我们通常有 3-4 个故障转移 IP,并将它们分布在我们的域中。这样,postfix 在发送外发电子邮件时会绑定到与域关联的 IP,并分离每个 IP 的信誉状态。

唯一的问题是,postfix 使用主机名值作为 HELO 名称,并且该主机名值与实际使用的 IP 地址的反向 DNS 不对应。

我们分配绑定 IP 的方式是通过 sender_dependent_transport_maps,通过该方式我们定义一系列 smtp 传输守护进程,/etc/postfix/master.cf并使用 berkeley_db 将不同的域映射到传输。此技术在此处有很好的解释: http://wied.it/blog/sender-dependent-default-transport-maps-with-postfix-the-easy-way.html

在我们的例子中,SMTP 守护进程的 master.cf 行如下所示:

outgoing-10.10.10.20- unix - n n - - smtp -o smtp_bind_address=10.10.10.20 -o smtp_bind_address6= -o smtp_address_preference=ipv4

我们需要对这种方法进行两项改进:

  1. smtp_helo_name 应该从反向 DNS 查找(每次 postfix 或 smtp 守护进程启动时)动态生成,而不是在配置文件中硬编码。

  2. master.cf 行也是从我们的面板软件自动生成的,没有 smtp_helo_name 选项。理想情况下,我们希望在 main.cf 中定义此分配,并将其传播到所有 smtp 守护进程。

有没有办法从绑定地址的反向 DNS 查找中分配 smtp_helo_name,最好在 main.cf 中分配?

答案1

Postfix 不支持这些功能(基于反向 IP 的 smtp_helo_name)。您需要手动将其硬编码到 中master.cf

实际上,postfix 很少使用DNS 查找作为信息来源(除几种情况外,通过 MX 记录和 DNSBL 限制进行邮件路由)。您需要通过以下方法解决此问题

  1. 修补 postfix 或向其作者 Wietse Venema 发出功能请求或者
  2. master.cf重新启动 postfix 时动态重新生成,可能通过包装脚本

相关内容