我想在 3 个后置网关之间平衡出站电子邮件负载,以便发送邮件,唯一的原因是使用多个不同的源 IP 来增加吞吐量和收件箱投递率。每个网关应接收大约相等数量的出站邮件。
如何可能,请提出建议。
+----------> smtp A ---------> 互联网 | 客户端 --------> smtp lb -----> smtp B ---------> Internet | +----------> smtp C ---------> 互联网
答案1
人们想知道你在做什么。
尽管如此,执行此操作的典型方法是使用循环 DNS 作为 SMTP 服务器(为某些 DNS 名称定义多个 A 记录,并将其指定为发送电子邮件的服务器(如电子邮件客户端)的出站 SMTP 服务器)。
您还可以使用另一台 Postfix 服务器来创建负载平衡器,因为 SMTP 服务器通常会相互发送电子邮件进行转发。您只需为其设置多个转发器即可做到这一点。如果您的电子邮件来自缓存 DNS 回复的单一来源,那么这将是更可能的解决方案。
执行此操作的方式有点儿像 hack:设置一个本地 DNS 名称,并将其配置为relayhost
main.cf 中的。然后,针对该 DNS 名称,配置多个具有相同优先级的 MX 记录:
smtp-out IN MX 10 smtp-a.example.com.
smtp-out IN MX 10 smtp-b.example.com.
smtp-a.example.com. IN A 0.0.0.0
smtp-b.example.com. IN A 0.0.0.0