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

обратный прокси для нескольких серверов SMTP / IMAP

Вместо того, чтобы давать нашим клиентам имя сервера вроде beta.example.com в качестве серверов IMAP / SMTP мы хотели бы использовать smtp.example.com.

У нас есть база данных всех доменов / почтовых серверов и соответствующих почтовых серверов. Есть ли способ использовать nginx (или другой сервер / службу) в качестве обратного прокси? Затем nginx должен перенаправить запрос на правильный сервер.

большое спасибо

Нет необходимости ставить nginx или любой другой балансировщик нагрузки перед пограничными SMTP-серверами. Если вы не настроите правильную конфигурацию, это может повредить вашей способности успешно доставлять почту. Просто поместите свои серверы в DMZ.

Входящий трафик будет частью разговора, прежде чем вы сможете правильно его направить. Пользователи IMAP будут пытаться войти в систему. SMTP-серверы будут в RCPT TO и может пытаться доставить одно и то же сообщение в разные домены, для которых вы указаны как MX.

Обычно используются такие имена, как smtp01.example.com для ферм серверов. Для каждого из этих серверов. Домен, который вы используете для своего почтового сервера (ов), редко совпадает с именем сервера. Для общих служб, таких как SMTP, Web, IMAP, POP и другие, принято публиковать и использовать имена служб в дополнение (или вместо) имен узлов. Распределите нагрузку на ваши серверы MX, опубликовав их с одинаковым приоритетом.

  1. Опубликовать A запись в DNS для IP-адреса вашего почтового сервера. Также добавьте AAAA запись для IPv6 IP почтового сервера. если вы хотите поддерживать IPv6. (Вам понадобятся две записи PTR, если вы настраиваете поддержку IPv4 и IPv6.)
  2. Ваш IP-провайдер настроил PTR запись для возврата служебного (SMTP) имени сервера. Это позволит работать с проверкой обратного DNS (rDNS).
  3. Настройте свой почтовый сервер для привязки к указанному выше адресу (а) при отправке электронной почты.
  4. Настройте почтовый сервер на использование имени службы в качестве идентификатора. Это позволит валидации rDNS работать на HELO или EHLO команда.

Рассмотрите возможность добавления записи SPF, например v=spf1 a -all в записи DNS для каждого SMTP-сервера. Это позволит получателям проверить, предназначен ли этот сервер для отправки почты. (SPF можно использовать для проверки сервера, а также отправителя.)

Хотя серверы MX обычно также являются серверами исходящей почты, в этом нет необходимости. Перечислите исходящие SMTP-серверы в записи SPF для доменов, используемых в адресах электронной почты (обычно example.com скорее, чем george.example.com).

Ваши SMTP-серверы должны принадлежать к одному домену. Серверы MX для домена не обязательно должны находиться в одном домене. Если вы настраиваете несколько доменов, выберите один для почтовых серверов и используйте его для всех доменов.

В более крупных установках граничные (внешние) SMTP-серверы обычно перенаправляют на внутренние почтовые серверы для окончательной доставки входящей почты. Вся исходящая почта должна быть отправлена ​​на пограничные серверы для доставки. Если вы отделили входящие серверы MX (почтовый обмен) от исходящих серверов MTA (Mail Transfer Agent), то исходящие сообщения следует отправлять через исходящие MTA, а не через серверы MX. Хорошая идея - включить MX в записях SPF все равно. Это позволит вашим серверам MX отправлять уведомления об отложенной доставке, не считая сообщение спамом.

Для перемещающихся пользователей вам может потребоваться аутентифицированный доступ SMTP, чтобы пользователи могли отправлять электронную почту. Лучше всего это делать на порту отправки (587), а не на порту SMTP (25). Это должно быть защищено с помощью TLS (SSL) с помощью startTLS команда после подключения. Аутентификация должна быть разрешена только для зашифрованных соединений. Это может быть предложено на серверах, настроенных выше, или на серверах, обеспечивающих доступ по протоколу IMAP.

В зависимости от ваших потребностей вы можете использовать IMAP-сервер, поддерживающий прокси-соединения, или просто разрешить пользователям подключаться к серверу для своего домена. Обычно для этой цели используется служебный домен, обычно imap.example.com или mail.example.com. Их можно настроить в DNS как A записи или CNAMES. Многие почтовые клиенты автоматически настраиваются правильно на общие учетные записи служб для домена. Если joe@example.com вводится как пользователь во время настройки, программное обеспечение может найти служебные домены, такие как mail.example.com, imap.example.com, pop.example.com и smtp.example.com. Относительно часто используются разные имена служб для трафика IMAP и STMP.