Назад | Перейти на главную страницу

Postfix 'load balance' отправляет IP-адреса

У меня есть сервер с 8 IP-адресами для использования в качестве почтового сервера (с PostFix). Я хочу, чтобы PostFix менял IP и имя хоста для каждого сообщения. Я нашел параметр конфигурации

smtp_bind_address = 1.2.3.4

(И есть еще один, который я не могу вспомнить, это имя хоста) Но это позволяет мне привязаться только к одному IP / имени хоста.

Пример;
У меня есть эти IP:

1.1.1.1 => mail1.mydomain.com
1.1.1.2 => mail2.mydomain.com
1.1.1.3 => mail3.mydomain.com
[etc]

Первое сообщение должно быть отправлено из 1.1.1.1, второе из 1.1.1.2, третье из 1.1.1.3 и т. Д., Так что просто балансируйте доступные IP-адреса с помощью циклического перебора.

Возможно ли это с Postfix?

Postfix не может этого сделать, но вы можете использовать цель SNAT iptables в сочетании с модулем статистики для ротации ваших адресов. Что-то вроде этого должно получиться:

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

Взгляните на раздел «Репутация отправителя» примечания к выпуску Postfix 2.7. Возможно, вам удастся что-нибудь из этого извлечь.

В противном случае, эта почта из списка рассылки Postfix содержит заявление от Wietse Venema о том, что он никогда не будет поддерживаться в Postfix. Я тоже с ним согласен - если получатель установил ограничения, вам не следует пытаться их обойти. Если это вызывает проблемы у получателя, это их проблема.

Нет syneticon-dj, вы ошибаетесь, конечно, postfix может это сделать:
см. примеры ниже:
http://marinovl.blogspot.com/2012/09/postfix-how-to-balance-outgoing-emails.html
http://www.kutukupret.com/2010/12/06/postfix-randomizing-outgoing-ip-using-tcp_table-and-perl/