Статья Служба Exchange 2013 FrontEnd Transport является первой в цикле статей, повествующих о принципе работы служб транспорта Exchange Server 2013. В этой статье речь пойдет о Транспортной службе переднего плана на серверах клиентского доступа.
В 2013 версии сервера Exchange произошли достаточно сильные изменения в архитектуре и теперь существует всего две основные роли – сервер почтовых ящиков (Mailbox Server или сокращенно MBX) и сервер клиентского доступа (Client Access Server – CAS). Обособленно стоит роль пограничного транспортного сервера (Edge Transport). Служба Exchange 2013 FrontEnd Transport располагается на серверах CAS и выполняет функции прокси.
Это первая статья из серии, посвященной принципам работы служб транспортного конвейера Exchange 2013, а вот полный список:
- Служба Exchange 2013 FrontEnd Transport
- Служба Exchange 2013 Transport
- Служба Exchange 2013 Mailbox Transport
- Служба Exchange 2013 Edge Transport
А также статьи по управлению логированием этих служб:
- Логи Exchange 2013 FrontEnd Transport
- Логи Exchange 2013 Transport
- Логи Exchange 2013 Mailbox Transport
- Логи Exchange 2013 Edge Transport
Не забывайте об официальной документации.
Найти больше информации по настройке и администрированию Exchange 2013 на моем блоге вы сможете в основной статье тематики – Exchange 2013 — Установка, настройка, администрирование.
Содержание
Exchange 2013 FrontEnd Transport
Так уж получилось, что теперь в сервере Exchange 2013 существует достаточно много служб транспорта, имеющих схожие название, но фундаментально отличающиеся по назначению и принципу работу. Вот все эти службы:
- Транспортная служба переднего плана на серверах клиентского доступа (Отображаемое имя – Microsoft Exchange FrontEnd Transport, сокращенное – MSExchangeFrontEndTransport);
- Транспортная служба на серверах почтовых ящиков (Отображаемое имя – Microsoft Exchange Transport, сокращенное – MSExchangeTransport);
- Транспортная служба почтовых ящиков на серверах почтовых ящиков (Реально включает в себя две службы – Microsoft Exchange Mailbox Transport Delivery и Microsoft Exchange Mailbox Transport Submission, сокращенные имена – MSExchangeDelivery и MSExchangeSubmission соответственно);
- Транспортная служба на пограничных транспортных серверах (Отображаемое имя – Microsoft Exchange Transport, сокращенное – MSExchangeTransport).
При этом сопоставимый функционал выполняют только вторая и четвертая служба, остальные отличаются принципиально. Вместе все они образуют транспортный конвейер, являющийся сердцем почтового сервера.
Транспортный конвейер
В общем плане транспортный конвейер выглядит следующим образом 1:
В контексте данной статьи нас интересует именно верхняя часть иллюстрации, на которой изображен Сервер клиентского доступа:
В этой схеме кроется один нюанс. Дело в том, что по умолчанию серверы MBX могут самостоятельно отправлять почту наружу через порт 25 SMTP. Чтобы соединитель отправки всегда отправлял почту в интернет через серверы клиентского доступа, нужно в явном виде установить у этого соединителя параметр FrontendProxyEnabled в значение $true (или в EAC поставить галочку на Прокси через сервер клиентского доступа в свойствах соединителя отправки). Именно от такой конфигурации я и буду отталкиваться в дальнейшем.
Ниже я постараюсь внести некоторые ясности в принцип работы Транспортной службы переднего плана серверов Exchange 2013 с ролью CAS.
Принцип работы
FrontEnd Transport (в терминологии Microsoft – Служба транспорта переднего плана) не занимается обработкой содержимого сообщений, не использует очередь сообщений и не взаимодействует с транспортной службой почтовых ящиков. Другими словами, серверы Exchange 2013 только с ролью CAS не хранят у себя данные ни на постоянной основе (используя БД), ни на временной (в очереди обработки сообщений).
Тем не менее, служба транспорта переднего плана имеет собственных агентов транспорта (см. рисунок – Агенты протокола). Агенты позволяют расширять функционал почтового сервера Exchange путем добавления в логику обработки сообщений собственный код. Вызов агентов происходит при возникновении событий SMTP. Эти события, в свою очередь, генерируются на той или иной стадии обработки сообщений по мере их прохождения через транспортный конвейер. Стоит отметить, что большинство присутствующих по умолчанию агентов скрыты или их настройками управлять нельзя. Функционал агентов на CAS-серверах достаточно сильно ограничен 2 и в полной мере присутствует только у ролей MBX и Edge.
Соединители отправки и получения
На схеме (см. выше) Транспортной службы переднего плана сервера клиентского доступа обозначим на каждом входящем и исходящем соединении соответствующий порт, получив в итоге следующее представление:
За прослушивание подключений каждого порта, обозначенного на схеме, отвечает отдельный соединитель получения, которых по умолчанию при установке роли CAS создается три штуки:
Помимо видимых и доступных администратору соединителей, существуют также скрытые системные соединители отправки:
- Inbound Proxy Internal Send Connector (SMTP 25/2525 в Транспортную службу на серверах почтовых ящиков)
- Client Proxy Send Connector (SMTP, принятые на 587 порту в Транспортную службу на серверах почтовых ящиков на порт 465)
Кстати, первый соединитель в русскоязычной версии Exchange Server 2013 будет иметь имя Внутренний соединитель отправки для вход. подкл. прокси-сервера, а второй – Соединитель отправки прокси клиента. Это на всякий случай, чтобы не прийти в ступор при первой встрече с этими коннекторами.
Также нужно не забыть про соединители отправки, которые необходимо создавать вручную после установки Exchange 2013. Без этих соединителей (которых минимум нужен один), вы не сможете обмениваться почтой с внешними получателями, при этом внутри вашей организации почта будет ходить нормально (подробнее о соединителях отправки читайте в статье Соединители отправки Exchange 2013).
В итоге получаем следующую полную таблицу:
Название | Назначение | Порт | Направление |
Default Frontend <Server Name> | Прием | 25 | От внешних серверов |
Outbound Proxy Frontend <Server Name> | Прием | 717 | От серверов MBX |
Client Frontend <Server Name> | Прием | 587 | От внешних клиентов, защищенное подключение |
Client Proxy Send Connector | Отправка | 465 | На серверы MBX |
Inbound Proxy Internal Send Connector | Отправка | 25/2525 | На серверы MBX. Только подключения, принятые на 587 порту |
Созданный вручную соединитель отправки | Отправка | 25 | На внешние серверы |
Перенесем названия соединителей на схему Транспортной службы переднего плана:
Порты 465, 717, 25/2525 используются даже в том случае, если роли CAS и MBX установлены на одном и том же сервере.
Надеюсь после моей статьи у вас не будет возникать вопросов зачем вообще Exchange использует столько соединителей, да ещё и для каждой роли. А ведь я ничего не упоминал про соединители, которые создаются автоматически при создании подписки EdgeSync для пограничных транспортных серверов (Edge), но это уже совсем другая история.
Кстати, про путь, который проделывает поток обработки почты на разных топологиях Exchange, написано в моей недавней статье – Поток обработки почты при разной топологии Exchange 2013.