我正在尝试正确设置 zimbra。我在我的服务器上使用多个域。全部在一个 IP 地址上。
但是对于一个新域名,我希望它以不同的方式显示。我想要实现的是在 zimbra 服务器上为这个域名准备一个特殊的 IP 地址,并配置 zimbra 使用它来发送和接收电子邮件。
因此 - postfix 必须监听这个 IP 地址。
如果我连接到这个 IP,我应该使用我的“新”域名进行 HELO
如果我从 zimbra 发送电子邮件 - 它应该从这个新 IP 发送。
所以我做了:
我VirtualIPAddress
在 Zimbra 上尝试过(只是为了在任何地方都适用 - 我知道这对我没有帮助 - 它仅适用于网络邮件证书,直到 SNI 部署在 Zimbra 9 中)
并尝试像这样配置域:
http://forums.zimbra.com/administrators/58056-how-set-different-outgoing-ip-each-domain.html
因此我得到了与发送方相关的正则表达式:
/@domain\.com$/ domain_com
在 master.cf.in 中我得到:
domain_com unix - - n - - smtp
-o smtp_bind_address=1.1.1.1 (my new IP)
-o smtp_helo_name=domain.com
-o smtpd_banner=domain.com ESMTP
-o syslog_name=postfix-domain_com
所以我得到的是 - 似乎 Zimbra 8.6.0 没有加载此文件,因为没有错误(我认为应该是 - 因为默认的 zimbra 正在监听所有端口 - 应该存在冲突)
那么我应该如何正确配置 zimbra 以便仅为一个域使用单独的 IP 地址?
另外 - 更新 zimbra 时这些文件会被存档吗?或者它们会在更新时被覆盖?
答案1
在讨论主要问题之前,先澄清一些次要问题:
更新 zimbra 时这些文件会被存档吗?或者它们会在更新时被覆盖?
是的,Zimbra 将覆盖 master.cf.in 和所有 zimbra 预定义的配置模板。
所以我得到的是 - 似乎 Zimbra 8.6.0 没有加载此文件,因为没有错误(我认为应该是 - 因为默认的 zimbra 正在监听所有端口 - 应该存在冲突)
上面的配置是修改 postfix 行为以设置另一个传出实例(不是传入实例)。因此它不需要监听任何端口。因此没有其他错误,如果发生任何错误,zimbra(或 postfix)将停止工作。要验证 zimbra 是否使用了新配置,请参阅master.cf
文件。
现在来谈谈主要问题
我应该如何正确配置 zimbra 以便仅为一个域使用单独的 IP 地址?
您可以使用 Postfix 特有的功能,称为 Postfix 多实例。它在 Postfix 中有大量文档记录官方文档。所以你可以试试。这个 Unix.SE 问题中还有其他资源:postfix 多域 myhostname 配置。
您可以使用该教程,但无法实现此功能:如果我连接到这个 IP,我应该使用我的“新”域名进行 HELO。你只实现了你的发送电子邮件目标: 如果我从 zimbra 发送电子邮件 - 它应该从这个新 IP 发送。
附注
缺点使用 zimbra 等控制面板会失去原始软件包的一些灵活性。就您而言,您将无法使用 100% 的 Postfix 功能,因为它会受到 Zimbra 特定配置的限制。例如:在当前版本中,zimbra 尚不支持 Postfix 多实例功能来实现您的全部目标。