Я использую почтовый сервер Postfix, и у меня есть 6 IP-адресов. Я хотел бы использовать другой IP-адрес для почтового сервера Postfix для отправки почты, чем использует веб-сервер.
Как я могу это сделать? Моя версия постфикса - 2.3.3.
Например: основной IP: 66.66.66.66 другой IP: 66.66.66.67
Вы хотите smtp_bind_address=66.66.66.67
и inet_interfaces=all
или inet_interfaces=eth(whatever)
что 66.66.66.67 идет.
Сделайте это изменение, затем остановите / запустите постфикс. Вы не можете просто перезагрузить, если меняете inet_interfaces
Если вы используете решение "smtp_bind_address", то ваш почтовый сервер также будет прослушивать только этот указанный IP-адрес для входящей почты. То же самое и с решением "inet_interfaces". Это может быть нежелательным решением, если вы хотите прослушивать входящую почту на нескольких IP-адресах / интерфейсах.
Мое решение лучше, потому что я предлагаю не изменять настройки по умолчанию «smtp_bind_address» и «inet_interfaces», чтобы ваш почтовый сервер по-прежнему прослушивал входящую почту на всех IP-адресах.
Нужно только внести небольшое изменение в ваш файл /etc/postfix/master.cf.
Измените эту часть:
smtp unix - - - - - smtp # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix - - - - - smtp -o smtp_fallback_relay=
к этому:
smtp unix - - - - - smtp -o smtp_bind_address=192.168.0.1 # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix - - - - - smtp -o smtp_bind_address=192.168.0.1 -o smtp_fallback_relay=
Конечно, вместо 192.168.0.1 вы должны использовать один из своих IP-адресов, с которого вы хотите отправлять почту.
Золтан
master.cf
Создавайте разные интерфейсы. По одному для каждого домена:
rotate1 unix - - n - - smtp
-o syslog_name=postfix-rotate1
-o smtp_helo_name=domainone.com.br
-o smtp_bind_address=173.111.111.1
rotate2 unix - - n - - smtp
-o syslog_name=postfix-rotate2
-o smtp_helo_name=domaintwo.com.br
-o smtp_bind_address=173.111.111.2
main.cf
Отключите все остальные транспортные карты, например: # transport_maps = xxxxx
Включить зависимую транспортную карту (требуется postfix 2.7.x или новее)
sender_dependent_default_transport_maps = mysql: /etc/postfix/config/transport_random_dependent.cf
transport_random_dependent.cf
Пример:
user = postfix
password = mypassword
dbname = postfixdb
hosts = localhost
query = SELECT transport FROM transport_random WHERE domain = '%d' AND status='1' ORDER BY RAND() LIMIT 1
Таблица transport_random
Column "transport" = rotate1, rotate2, rotate3, rotate4 (etc)
Column "domain" = sender domains (replaced by %d)
Column "status" = boolean (0 or 1) if is enabled the transport.
Инструкция «RAND () LIMIT 1» необходима только в том случае, если вы хотите использовать случайные транспорты для того же домена.
Например, вы хотите отправить с mydomain.com с 3 разных IP-адресов.
Затем вы создаете 3 транспорта (rotate1, rotate2 и rotate3) с 3 разными IP-адресами, а затем устанавливаете их в строках mysql:
transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com
Затем, когда postfix будет рандомизировать три разных транспорта (повернуть один на три) для отправки этих писем.
Отредактируйте /etc/postfix/main.cf и убедитесь, что присутствует следующая строка
inet_interfaces = 66.66.66.67, localhost
Затем запустите "postfix reload"