Виртуальный каталог Autodiscover

Виртуальный каталог Autodiscover 01
www.microsoft.com

Механизм Autodiscover достаточно прост и призван обеспечивать беспрепятственное получение настроек автоконфигурации клиентами Exchange Server. Тем не менее, встречаются некоторые моменты, которые вводят в заблуждение системных администраторов.

В этой статье я сделаю акцент на наиболее частых вопросах и проблемах, которые мне встретились на форумах Technet.


Найти больше информации по настройке и администрированию Exchange 2013 на моем блоге вы сможете в основной статье тематики – Exchange 2013 — Установка, настройка, администрирование.


Виртуальный каталог Autodiscover

Задача сервиса Autodiscover – минимизировать действия пользователя по настройке почтовых клиентов. Предоставляя понятный и удобный алгоритм автоматической конфигурации, Exchange Server ограничивает объем необходимых данных вводом всего лишь адреса электронной почты и пароля.

Примечание: помните, что логин AD (UPN) должен совпадать с основным адресом электронной почты. В противном случае пару логин/пароль возможно придется указывать отдельно, а также вписывать сервер для подключения.

Клиент обращается к серверу, чтобы получить следующие данные 1:

  • краткое имя пользователя;
  • индивидуальная настройка каждого внутреннего или внешнего подключения;
  • местоположение сервера почтовых ящиков пользователя;
  • URL-адреса для различных функций Outlook, управляющие компонентов, таких как сведения о доступности, единой системы обмена сообщениями и автономной адресной книги;
  • параметры сервера Мобильный Outlook.

Тем не менее, вопросы чаще всего возникают в том, каким образом клиент понимает к какому серверу подключаться 2. Множество настроек, часть из которых тянутся с предыдущих версий Exchange, не способствуют лучшему пониманию.

Виртуальный каталог Autodiscover по умолчанию имеет название Autodiscover ‎(Default Web Site). Через EAC нам доступен минимум параметров, которые для него можно поменять. Во многих случаях это и не требуется. Однако есть мнение, что для него нужно устанавливать InternalUrl и ExternalUrl, но на самом деле это не так. Ниже разберемся почему.

Клиент НЕ присоединен к домену

В качестве клиента будет рассматриваться всем знакомый Outlook. Допустим вы уже ввели свой email-адрес и пароль. На основе домена, взятого из почтового адреса, клиент генерирует список возможных точек подключения.

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

Точки подключения – это URL-адреса, обратившись к которым, как полагает клиент, он сможет получить необходимые ему настройки 3 (первая, которая ответит):

  • https://<smtp_domain>/Autodiscover/Autodiscover.xml
  • https://autodiscover.<smtp_domain>/Autodiscover/Autodiscover.xml

Если ни одна из них не ответит, клиент сделает последние попытки использовать другие методы:

  • HTTP GET request to receive a redirect for http://autodiscover.<smtp_domain>/Autodiscover/Autodiscover.xml
  • SRV record query for _autodiscover._tcp.<smtp_domain>

Поскольку допустимые варианты URL жестко зашиты в логику работы клиента, мы приходим к одному важному выводу. А именно: URL-адреса, которые вы вписываете в параметры InternalUrl и ExternalUrl виртуального каталога автообнаружения не нужны, потому что не используются. Видимо именно поэтому их убрали из доступных настроек в ECP:

Виртуальный каталог Autodiscover 02

В то время как у других виртуальных каталогов они доступны для изменения. На устаревший функционал этих настроек Autodiscover также прямо намекает справочная страница командлета Set-AutodiscoverVirtualDirectory 4:

This parameter is available or functional only in Exchange Server 2010.

С вашей стороны нужно позаботиться о том, чтобы как минимум на одной точке подключения клиент мог получить данные автоконфигурации. Также рекомендуемым сценарием является настройка Split DNS (подробнее читайте в статье Exchange Server и Split DNS), чтобы клиенты внутри и снаружи сети подключались по одним и тем же именам.

Примечание: если у вас не настроен Split DNS и клиент изнутри сети пытается подключиться по внешним именам, может случиться интересная ситуация. Дело в том, что клиент должен будет выйти наружу, поскольку запрашивает доступ к внешним адресам. В этом случае он обязательно попадет на ваш маршрутизатор, который должен будет завернуть его обратно в локальную сеть на серверы Exchange. В этом сценарии многое сетевое оборудование (и не только оборудование. На софтовых решениях такое же поведение, например на TMG) завернуть обратно вас не сможет и подключиться к целевым серверам не получится. Очень часто из-за этой особенности появляются “необъяснимые” глюки – ну должно же работать, но не работает. Будьте внимательны.

Не забывайте, что Autodiscover работает по протоколу https и ему необходим валидный сертификат, который должен содержать имя активной точки подключения.

Для клиентов, которые не введены в домен, порядок подключения одинаков как при нахождении в локальной сети предприятия, так и снаружи. Для доменных клиентов ситуация обстоит намного интереснее.

Клиент присоединен к домену

Для доменных клиентов внутри периметра локальной сети предприятия предпочтительным вариантом является поиск Service Connection Point (SCP), которая публикуется в Active Directory. Найти SCP вы можете в редакторе adsiedit.msc (подключитесь к Configuration Naming Context). Полный путь до объекта будет примерно следующим:

А вот и сам объект:

Настраивать SCP необходимо для каждого сервера Exchange с помощью командлета Set-ClientAccessService 5 и его параметра AutoDiscoverServiceInternalUri 6:

Примечание: будьте внимательны, раньше командлет Set-ClientAccessService имел другое название – Get-ClientAccessServer – которое устарело, о чем EMS вас любезно предупредит, если вы вдруг решите им воспользоваться. Также помните, что SCP настраивается только на серверах CAS, если вы имеете дело с Exchange 2013 или более ранними. На Exchange 2016 и позже роли объединены.

Заметьте, что виртуальный каталог Autodiscover в случае с SCP не принимает никакого участия – необходимые URL устанавливаются на уровне роли CAS. Сам алгоритм Autodiscover выглядит следующим образом 7:

Таким образом, легкий на первый взгляд процесс автонастройки клиентов представляет из себя достаточно запутанный механизм из правил, условий и исключений.

Рекомендации по настройке

Рассмотрев выше тонкости настройки механизма Autodiscover, можно сделать ряд важных выводов и рекомендаций относительно конфигурирования серверов Exchange:

  1. Начинайте настройку Autodiscover с установки параметра AutoDiscoverServiceInternalUri для каждого сервера командлетом Set-ClientAccessService;
  2. В идеальном варианте адрес AutoDiscoverServiceInternalUri должен вести на балансировщик нагрузки. Тем не менее, вполне допустимо использовать обычный DNS RR. Допускается также, чтобы каждый сервер Exchange имел свой собственный уникальный AutoDiscoverServiceInternalUri. В этом случае все будет работать, ведь клиентам внутри домена будет выдан весь список SCP с принадлежностью к сайтам и клиент сам выберет оптимальный вариант, не беспокойтесь.
  3. Если клиент находится вне сети или он не принадлежит к домену, приоритетом номер два является настройка точек подключения.
    1. Помните, что они имеют фиксированный адрес, который клиент генерирует на основе вашего smtp-домена из адреса электронной почты;
    2. Если вы имеете дело с большой организацией и множеством основных smtp-доменов, то вашим вариантом скорее всего будет настройка редиректов или публикация SRV-записей у DNS-провайдера и в локальной сети;
    3. Обязательно позаботьтесь о валидном сертификате, который будет содержать все необходимые имена. Вероятнее всего вы будете иметь дело с san- или wildcard- сертификатами (о сертификатах читайте в моих статьях);
  4. Ну и конечно оставьте в покое InternalUrl и ExternalUrl виртуального каталога Autodiscover, которые сразу после установки Exchange идут пустыми.

На этом все. Успехов вам в администрировании!

В статье я попытался рассказать о достаточно известной и освещенной теме, но подойдя к ней немного с другой стороны. Не стесняйтесь поправлять меня, если вдруг я что-то умолчал или где-то дезинформировал.

Яндекс.Метрика