我需要使用单个公共 IP 管理两个邮件服务器(位于不同机器上的 postfix 和 dovecot)。我以为我可以通过在第二台 postfix 实例上放置非标准端口来解决这个问题,但我没有收到来自网络外部的邮件。
我的方法正确吗?我该如何实现这一点?
答案1
postfix 能够将消息中继到特定域的另一台服务器。
请看此设置的示例:使用 Postfix 将邮件代理到不同的 smtp 服务器
答案2
每个 IP 地址只能运行一个 MTA。这是因为 MX 记录与 SRV 记录不同,不允许指定端口。来自其他站点的邮件始终通过标准端口(25、已弃用的 465 和用于提交的 587)发送。这些端口绝对不能发送到不同的 MTA,否则您将遇到奇怪的投递问题,尽管实际上您只需要在 25 端口上提供服务。
所有这些都与 dovecot 无关,dovecot 是 IMAP 和 POP3 服务器。在本例中,这全是关于 SMTP 服务器,或 MTA,postfix。只要您准备好与用户沟通,就可以在非标准端口上运行 IMAP 和 POP3。
您应该在 IP 地址上的新服务器上设置 MTA,并让两个现有的 MTA 使用 RFC1918 地址。让新的 MTA 充当这两个域的中继,并为其提供内部 DNS,以便它在 MX 记录中看到 RFC1918 地址。确保它只能中继到这两个域,您的问题就解决了。您不需要它来中继外发邮件,内部 SMTP 客户端可以通过现有的邮件服务器发送邮件。
将两个域的 MX 记录设置为指向单个 IP 的域名,并在这些域上设置 SPF 记录,以允许该 IP 的公共 DNS 中给出的 FQDN 为它们发送邮件。确保您的 NAT 配置为让您的 SMTP 服务器的 SNAT 使用该 IP。
就这样!之后它就可以正常工作了,完全不会出现任何 IT 治理问题。