Простейший relay на Postfix для Exchange Server

Развернуть простейший relay на Postfix ничуть не сложнее, чем установить сам Postfix. Настройка тоже не представляется чем-то сверхсложным, ведь речь идет об узле, главной задачей которого будет только перенаправление входящей почты. Задачи фильтрации спама и вирусов я планирую рассмотреть в последующих статьях серии.


Если вам интересна тематика почтовых сервисов, рекомендую обратиться к рубрике Unix Mail на моем блоге.


Простейший relay на Postfix

Главная задача этой статьи — рассказать о первом этапе настройки почтового релэя — когда нужно осуществлять только пересылку входящей почты на внутренний сервер и обратно, проверяя при этом факт существования пользователя в организации.

В качестве бэкэнда будет выступать Exchange Server 2016 в связке с Active Directory, как наиболее распространенный и совершенный корпоративный почтовый сервис, но, к удивительному сожалению, не имеющий собственного продвинутого антиспама.

Подготовка

Начинать развертывание любого почтового сервера (даже релэя), нужно с покупки домена и создания необходимых DNS-записей. Конечно если почта в вашей организации уже есть, этот этап вы уверенно пропускаете. А всем остальным я советую создать у вашего регистратора записи A, MX и TXT, а также PTR — у провайдера интернет (или поставщика выделенных серверов, которые идут вместе с публичными адресами).

Примечание: у кого нет четкого понимания каким образом нужно создавать записи, что в них должно быть прописано и что об этом процессе утверждают лучше практики, советую обратиться к моей статье Базовые DNS-записи для почтового сервера.

Если нужна помощь — обращайтесь в комментариях.

Настройка Exchange

По умолчанию Exchange не имеет соединителей отправки, то есть отправить почту в интернет не сможет (но локальным получателем вполне). Обычно админы создают соединитель с областью, обозначенной знаком * (означает все существующие домены), а значит вся исходящая почта наружу идет именно через этот соединитель.

Итого, чтобы заставить всю почту идти наружу через наш релэй, в большинстве случаев надо всего лишь прописать промежуточный узел для этого соединителя:

Через powershell это сделать ещё проще (адрес 172.16.0.64, как вы догадались, принадлежит релэю Postfix):

Этот шаг лучше выполнить уже после полной настройки Postfix (чтобы не было простоя сервиса), но мне важно показать как работает релэй с уже настроенным Exchange, поэтому я сделаю это сейчас (мне можно, я ведь делаю это на лабе).

Установка Postfix

Postfix доступен из стандартных репозиториев как на Debian, так и на CentOS, оттуда и советую его ставить.

Конфигурация по умолчанию нам не подходит, а потому нужно будет кое-что подкрутить и об этом вы сможете прочитать в статье Установка Postfix на Debian.

Забегая вперед скажу, что нам понадобится ещё один пакет, установим его командой:

На этом все, можно двигаться дальше.

Базовая настройка

Мой домен, купленный специально для этого цикла статей — bq-srv.ru, на его примере и разберем конфигурацию. Если вы пропустили раздел Подготовка выше, то продублирую ещё раз основную мысль. Основная и обязательная часть настройки Postfix — это указание следующих параметров:

  • mydomain — публичное имя вашего почтового сервиса;
  • myhostname — имя хоста;
  • mydestination — список DNS-имен, которые обслуживает данный почтовый сервер (для которых он будет принимать почту).

Поскольку мы говорим о почтовом релее, для него также важны следующие опции:

  • relay_domains — список доменов, для которых сервер пересылает почту;
  • mynetworks — список доверенных сетей или хостов, которые обычно имеют более высокие привилегии. Например по умолчанию в ограниченияхsmtpd_relay_restrictions указан ключ permit_mynetworks, а это значит, что всем хостам в mynetworks разрешена пересылка сообщений через сервер;
  • transport_maps — транспортная карта, по которой сервер будет определять почту для каких доменов (или получателей) куда отправлять.

Итак, резюмируя сказанное, нужно добавить (или изменить существующие) в конфиг следующие параметры:

172.16.0.20 — адрес сервера Exchange.

Файл /etc/postfix/conf.d/transport имеет содержимое:

После его создания и заполнения не забудьте выполнить команду и перечитать конфиг Postfix:

А теперь проверим как все работает.

Итак, с любого внешнего почтового сервиса попробуем отправить почту на несуществующий ящик Exchange (здесь и далее логи немного сокращены для наглядности):

Как видно, Postfix успешно принимает почту на адрес tratata@bq-srv.ru и отправляет на Exchange. Но такого ящика в организации не существует и эксч отправляет отчет о недоставке через Postfix:

А отправителю приходит сообщение:

Можно сделать вывод, что наш релэй выполняет двойную работу — перенаправляет почту сначала на эксч, а потом от него. Кроме того, лишняя нагрузка ложится ещё и на сам Exchange. В принципе все можно оставить как есть, ведь работает, но лучше все же прикрутить проверку получателей.

Расширенная настройка

Необходимо добавить дополнительный источник почтовых алиасов, чтобы Postfix знал где их искать. Для этого допишите после запятой путь к конфигурации подключения к AD с ключом ldap:

Создайте файл ldap-aliases.cf и пропишите настройки для подключения:

Небольшие пояснения:

  • server_host — КД для подключения, можно указать несколько;
  • search_base — OU, с которого идет поиск вниз по иерархии;
  • bind_dn — полное имя (distinguishedName) и пароль к нему в поле bind_pw;
  • query_filter — фильтр для поиска ldap. В моем случае поиск идет только среди объектов пользователь и группа по полю proxyAddresses, которое может иметь враз несколько алиасов разных типов, например (нам нужны только типы smtp:, а ключ %s соответствует искомому адресу):

На этом все, перезапускаем Postfix:

И снова отправляем почту на несуществующий ящик:

Ответ теперь совсем другой — Recipient address rejected: User unknown in local recipient table — и он означает, что Postfix сначала обратился к AD и, не обнаружив там пользователя, вернул ошибку. Письмо до Exchange не дошло. Это и нужно.

Владельцу сообщения вернулся ответ, в этот раз от Postfix:

Базовая настройка на этом завершена, но это только первый этап. Об остальных моментах я планирую рассказать в следующих статьях.

 

comments powered by HyperComments
3housing
2022-07-04 19:41:42
<strong>2incisive</strong>
dissertation fellowships
2022-07-05 16:33:36
<strong>dissertation database https://professionaldissertationwriting.org/</strong>
help dissertation
2022-07-05 17:17:34
<strong>online dissertation writing https://professionaldissertationwriting.com/</strong>
law dissertation writing service
2022-07-05 21:14:38
<strong>dissertation online help https://helpwithdissertationwritinglondon.com/</strong>
dissertation defense questions
2022-07-06 00:20:46
<strong>dissertation literature review https://dissertationwritingcenter.com/</strong>
doctoral dissertation
2022-07-06 05:27:06
<strong>help me https://accountingdissertationhelp.com/</strong>
uk dissertation writing service
2022-07-06 06:51:50
<strong>electronic engineering dissertation ideas https://examplesofdissertation.com/</strong>
service writing
2022-07-06 09:17:22
<strong>professional writing service https://writing-a-dissertation.net/</strong>
doctoral dissertation writing help
2022-07-06 13:24:26
<strong>dissertation completion pathway https://bestdissertationwritingservice.net/</strong>
dissertation plan
2022-07-06 14:15:52
<strong>writing editing services https://businessdissertationhelp.com/</strong>
custom dissertation writing help
2022-07-06 18:34:38
<strong>professional dissertation help https://customdissertationwritinghelp.com/</strong>
acknowledgements dissertation
2022-07-06 20:38:47
<strong>psychology dissertation https://writingadissertationproposal.com/</strong>
doctoral dissertation help usa
2022-07-06 23:12:10
<strong>dissertation writing service online https://dissertationhelpspecialist.com/</strong>
professional writing service
2022-07-07 06:02:37
<strong>dissertation help uk https://customthesiswritingservices.com/</strong>
online casino games list
2022-07-25 18:21:18
<strong>real casino online for real money https://download-casino-slots.com/</strong>
online casino las vegas
2022-07-25 21:26:31
<strong>river online casino https://firstonlinecasino.org/</strong>
ceasars casino online
2022-07-25 23:12:29
<strong>usa online casino real money https://onlinecasinofortunes.com/</strong>
paradise casino online
2022-07-26 01:56:25
<strong>online michigan casino https://newlasvegascasinos.com/</strong>
raging bull casino online slots
2022-07-26 05:38:22
<strong>bovada online casino https://trust-online-casino.com/</strong>
best online casino pa
2022-07-26 08:08:42
<strong>online casino black jack https://onlinecasinosdirectory.org/</strong>
caesars casino online bonus code
2022-07-26 10:30:25
<strong>rivers online casino pa https://9lineslotscasino.com/</strong>
borgata online casino promotions
2022-07-26 12:50:12
<strong>fastest withdrawal online casino https://free-online-casinos.net/</strong>
resort casino online
2022-07-26 14:45:53
<strong>free online casino bonus https://internet-casinos-online.net/</strong>
caesars casino online
2022-07-26 18:20:52
<strong>casino bet online https://cybertimeonlinecasino.com/</strong>
best online casino promotions
2022-07-26 19:49:25
<strong>ocean resort casino online https://1freeslotscasino.com/</strong>
casino online dinero real usa
2022-07-27 00:11:23
<strong>jackpotcity online casino https://vrgamescasino.com/</strong>
top 10 online casino
2022-07-27 01:13:23
<strong>caesars online casino pa https://casino-online-roulette.com/</strong>
spain online casino
2022-07-27 04:16:34
<strong>online casino spielen https://casino-online-jackpot.com/</strong>
juegos de casino online
2022-07-27 07:13:38
<strong>online casino best https://onlineplayerscasino.com/</strong>
viva slots vegas™ free slot casino games online
2022-07-27 09:40:41
<strong>casino online real money https://ownonlinecasino.com/</strong>
online casino bonus
2022-07-27 12:52:12
<strong>las atlantis casino online no deposit bonus codes 2021 https://all-online-casino-games.com/</strong>
casino stream online
2022-07-27 14:04:44
<strong>borgata pa online casino https://casino8online.com/</strong>
vpn service comparison
2022-08-07 16:02:21
<strong>proton free vpn https://freevpnconnection.com/</strong>
vpn free download for pc
2022-08-07 18:31:05
<strong>ivacy vpn https://shiva-vpn.com/</strong>
proton free vpn
2022-08-07 20:17:45
<strong>free safe vpn https://freehostingvpn.com/</strong>
best vpn for apple tv
2022-08-07 22:16:24
<strong>free vpn windows 10 https://ippowervpn.net/</strong>
best vpn client
2022-08-08 01:41:46
<strong>what's the best vpn https://imfreevpn.net/</strong>
free mexican vpn
2022-08-08 02:04:53
<strong>buy vpn with credit card https://superfreevpn.net/</strong>
vpn for mac
2022-08-08 06:14:01
<strong>how to buy a vpn https://free-vpn-proxy.com/</strong>
best free vpn for firefox
2022-08-08 06:51:24
<strong>buy vpn paypal https://rsvpnorthvalley.com/</strong>
Яндекс.Метрика