Postfix“负载平衡”发送IP

Smu*_*dge 5 email linux postfix

我有一台带有 8 个 IP 地址的服务器用作邮件服务器(使用 PostFix)。我希望 PostFix 为每条消息轮换 IP 和主机名。我找到了配置参数

smtp_bind_address = 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

(还有另一个我不记得是主机名的)但这只能让我绑定到一个 IP/主机名。

例子;
我有这些IP:

1.1.1.1 => mail1.mydomain.com
1.1.1.2 => mail2.mydomain.com
1.1.1.3 => mail3.mydomain.com
[etc]
Run Code Online (Sandbox Code Playgroud)

第一条消息应该从 1.1.1.1 发送,第二条消息从 1.1.1.2 发送,第三条消息从 1.1.1.3 等发送,所以只需循环平衡可用 IP

这可以用 Postfix 实现吗?

the*_*bit 7

Postfix 不能这样做,但您可以将 iptables 的 SNAT 目标与统计模块结合使用来轮换您的地址。这样的事情应该做:

iptables -t nat -A POSTROUTING -p tcp --dport 25 -d <your_dest_mailserver> -m statistic --mode nth --every 8 -j SNAT --to 1.1.1.1
iptables -t nat -A POSTROUTING -p tcp --dport 25 -d <your_dest_mailserver> -m statistic --mode nth --every 8 -j SNAT --to 1.1.1.2
[...]
iptables -t nat -A POSTROUTING -p tcp --dport 25 -d <your_dest_mailserver> -m statistic --mode nth --every 8 -j SNAT --to 1.1.1.8
Run Code Online (Sandbox Code Playgroud)


wom*_*ble 6

查看Postfix 2.7 发行说明的“发件人信誉”部分。你也许可以从中找到一些东西。

否则,来自 Postfix 邮件列表的这篇文章包含来自 Wietse Venema 的声明,声明 Postfix 永远不会支持它。我也同意他的观点——如果接受者已经设置了限制,你不应该试图绕过它们。如果这导致收件人问题,那就是他们的问题。

  • @Sammitch:“如果这会导致收件人出现问题,那就是他们的问题”。你有权发送电子邮件,你没有权利强迫收件人接收它,并且做一些狡猾的事情,比如使用循环 IP 地址来绕过收件人的愿望在我的书中算作“强迫它” . (2认同)