
У меня есть два IP-адреса, работающих на Postfix
и каждый IP имеет свой домен. Короче говоря, я хочу изолировать домен, чтобы внешние люди думали, что он работает на своем IP и полностью изолирован даже PTR
также
Но в postfix он не обрабатывает myhostname
IP-параметры специально. Он всегда использует значение по умолчанию, заданное в mail.cf
файле.
Я пробовал установить -o myhostname=abc
, но он все еще использует mail.cf
значение. Из-за этого мой IP попал в SPAM
список заблокированных
Как мне настроить определенный IP myhostname
, чтобы HELO
баннер выглядел хорошо?
Обновлено:
Вот что происходит:
У меня есть два IP-адреса. Postfix mailserver
Я хочу разместить два домена, изолированных друг от друга, чтобы никто не мог узнать, что они размещены на одном сервере.
abc.com 1.1.1.1 zyx.com 2.2.2.2
Имя хоста сервера mail.abc.com
настолько очевидно, что используйте его как постфиксmyhostname
Если я отправляю электронное письмо с zyx.com
домена, чтобы [email protected]
проверить, что отправляет мой сервер, то я получаю следующий ответ: «Мы используем почтовую систему на хосте» mail.abc.com
(вот почему я хочу использовать myhostname
переменную, чтобы настроить ее на основе IP-адреса, который используется для отправки электронной почты).
Я беспокоюсь, что CBL может занести мой IP-адрес в черный список, поскольку имя хоста и полное доменное имя HELO отличаются.
This is the mail system at host mail.abc.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<[email protected]>: host helocheck.abuseat.org[54.245.112.115] said:
550 *** The HELO for IP address 2.2.2.2 was 'mail.zyx.com'
(valid syntax) *** (in reply to RCPT TO command)
решение1
Если вы хотите чего-то особенного myhostname
, то вам может быть интересноНесколько экземпляров Postfix, см. официальную документациюздесь.
Благодаря этой функции каждый экземпляр получит один IP-адрес и один myhostname
параметр.И поскольку значение по умолчанию smtp_helo_name
былоmyhostname
, то ваше имя helo должно совпадать с вашим myhostname
.
Например, у вас есть два домена: xyz.example с IP-адресом 192.168.1.1 и abc.example с IP-адресом 10.10.0.2 (см.RFC 2606 раздел 2).Примечание: это краткое руководство было выполнено на CentOS 6.5.
Настройте установку Postfix по умолчанию на использование
myhostname
mail.abc.example иinet_interface
10.10.0.2.Настройте конфигурацию Postfix на экземпляре по умолчанию, например, конфигурацию
smtpd_*_restrictions
.Создайте второй экземпляр с помощью
postmulti
инструмента.postmulti -e init
это вставит
multi_instance_
конфигурацию вmain.cf
postmulti -I postfix-secondary -e create
это создаст новый экземпляр с именем
postfix-secondary
. Это создаст новый каталог конфигурации/etc/postfix-secondary
и другой каталог, такой как каталог спула и данных.Второй экземпляр будет иметь конфигурацию по умолчанию. Вам следует повторить конфигурацию на первом экземпляре. Конечно, вам придется задать другие значения параметров для этих параметров
queue_directory = /var/spool/postfix-secondary data_directory = /var/lib/postfix-secondary multi_instance_name = postfix-secondary myhostname = mail.xyz.example inet_interfaces = 192.168.1.1
Убедитесь, что параметр
multi_instance_enable = yes
указан во вторичном файле main.cf.
Готово. Обратитесь к документации за доступной командой для администрирования нескольких экземпляров Postfix.
Примечания:
Postfix Multiple Instance покажется вам излишним для ваших нужд. Однако,это обеспечивает вам лучший уровень изоляции. Например: ваше сообщение о недоставке выше все еще содержит след о mail.abc.example. С несколькими экземплярами вы получите сообщение о недоставке от mail.xyz.example, если отправите его из экземпляра xyz.
Вам необходимо обслуживание обеих конфигураций, так как Postfix не разделяет конфигурацию между двумя экземплярами.
Другое решение, предложенное mmv-ru, было достаточным, чтобы вы не выглядели как спамер. Полное доменное имя сервера не имеет того же значения, что и smtp_helo_name. Просто убедитесь, что у вас есть правильная запись PTR домена, указанного в smtp_helo_name :)
решение2
-o myhostname=abc не так уж и важно. Чтобы повлиять на HELO, нужно переопределить -o smtp_helo_name=abc
Значения, настроенные в main.cf, имеют сложное наследование, но оно работает только при загрузке main.cf. Когда вы переопределяете некоторые параметры позже, вам нужно переопределить все необходимые.
На данный момент я не знаю, как заставить Postfix отправлять почту с домена через правильный Worker, но думаю, что это возможно.
ОБНОВЛЕНИЕ.
-o smtp_helo_name= принудительно использовать HELO FQDN. Дополнительно Вам необходимо определить соответствующие записи A (в Вашей доменной зоне) и PTR (в обратной зоне ISP или датацентра или собственной, если у Вас есть AS) для Вашего сервера.
Пример: -o smtp_helo_name=mailserver.abc.com
Ваша доменная зона abc.com
mailserver A 203.0.113.23
Зона интернет-провайдера 113.0.203.in-addr.arpa
23 PTR mailserver.abc.com
Не обязательно совпадать с FQDN и почтовым доменом, они могут быть разными. Первичный, HELO FQDN, разрешаемый в IP, и IP, разрешаемый в FQDN
$ host mailserver.abc.com
mailserver.abc.com has address 203.0.113.23
$ host 203.0.113.23
23.113.0.203.in-addr.arpa domain name pointer mailserver.abc.com