Если вы хотите прочитать первую часть этого цикла статей, перейдите по ссылке Новая служба RPC Client Access Service в Exchange 2010 (часть 1).
Введение
В первой части этого цикла статей мы начали с рассмотрения того, как работала логика во времена Exchange 2000/2003, где мы использовали понятия внешних и внутренних серверов. Мы также рассмотрели улучшения, которые были внесены в этот продукт с появлением роли сервера Client Access в Exchange 2007. Затем мы рассмотрели новую службу RPC Client Access Service, а также функцию CAS массива, включенную в Exchange 2010.
В этой части мы поговорим о поддерживаемых Outlook клиентах и о том, почему подключения публичных папок все еще осуществляются непосредственно к серверам почтовых ящиков из клиентов Outlook. Наконец, я покажу вам, как настраивать статические RPC порты, чтобы вам не приходилось указывать большие диапазоны портов в своем устройстве компенсации нагрузки в кластере WNLB.
Итак, приступим.
Поддерживаемые Outlook клиенты
Вы, возможно, думаете, что новая служба RPC Client Access поддерживает только новых клиентов Outlook. На самом деле все клиенты Outlook поддерживаются в Exchange 2010, а именно Outlook 2003, 2007 и 2010 могут подключаться к службе RPC Client Access на сервере Exchange 2010 CAS независимо от того, один это сервер CAS, или же это массив CAS серверов.
Примечание: Способность подключения клиентов ранее Outlook 2003 к службе RPC Client Access неизвестна, поскольку это не тестировалось ни группой разработчиков продукции Exchange, ни мной лично во время написания этой статьи.
Хотя Outlook 2003 клиенты поддерживаются и могут подключаться к RPC Client Access службе, есть один момент, который следует учитывать. Одним из параметров по умолчанию в службе RPC Client Access является то, что она требует шифрования для RPC подключений. Этот параметр можно проверить с помощью следующей команды: Get-RpcClientAccess | fl
Это не вызовет проблем, если вы используете Outlook 2007 или Outlook 2010, так как у этих версий Outlook шифрование RPC включено по умолчанию, когда вы создаете новый Outlook профиль (рисунок 2).
Однако, угадайте, что? Да, старая версия Outlook 2003 ведет себя по-другому. Когда вы создаете новый Outlook 2003 профиль, RPC шифрование выключено по умолчанию (рисунок 3).
Это означает, что если вы совершаете миграцию Exchange 2003 или 2007 почтовых ящиков на Exchange 2010, или пытаетесь создать новый Outlook 2003 профиль на сервере почтовых ящиков Exchange 2010, вы не сможете подключиться к почтовому ящику. После аутентификации вы получите диалоговое окно, как показано на рисунке 4.
Эту проблему можно решить двумя способами. Вы можете включить RPC шифрование в профиле Outlook 2003 (если у вас много клиентов, можно сделать это с помощью GPO) или отключить шифрование RPC на сервере Exchange 2010 Client Access. Включение RPC шифрования на клиенте, конечно, является рекомендуемым подходом, но если вы все же решили отключить этот параметр на стороне сервера, вы можете воспользоваться следующей командой:
Set-RpcClientAccess 'Server
Когда вы отключили требование RPC шифрования на соответствующих CAS серверах, убедитесь, что этот параметр имеет значение false с помощью следующей команды:
Get-RpcClientAccess | fl EncryptionRequired
Если дело обстоит именно так, ваши пользователи теперь смогут подключаться к серверу почтовых ящиков Exchange 2010, используя Outlook 2003 клиентов, на которых не включено RPC шифрование.
Примечание: если вы решили отключить RPC шифрование на стороне сервера, помните о том, что вам нужно сделать это и на Exchange 2010 Client Access, и на Mailbox серверах. Это является следствием подключений публичной папки, которые все еще идут напрямую к RPC Client Access службе на внутренних Mailbox серверах. Для дополнительной информации по этому вопросу читайте следующий раздел.
Подключения публичных папок также идут к серверу Mailbox Server?
То, что все MAPI подключения теперь осуществляются к Client Access серверу на среднем уровне, не совсем правда. Exchange 2010 все еще поддерживает публичные папки и подключения публичных папок; Outlook все также будет подключаться к серверу Mailbox при доступе к базам данных публичной папки. Однако важным моментом здесь является то, что хотя вы подключаетесь к роли сервера Mailbox для PF соединений, на уровне службы, сервис RPC Client Access будет отвечать конечной точке RPC, так как служба RPC Client Access также существует и на сервере Mailbox (рисунок 6).
Примечание: Сервис RPC Client Access на сервере Mailbox не используется RPC Client Access службой на сервере Client Access. На самом деле, все запросы, исходящие от сервиса RPC Client Access на сервере Client Access к серверу Mailbox игнорируются, поскольку в противном случае это приводило бы к образованию петель. Также если обе роли CAS и Mailbox установлены на одной машине, то служба RPC Client Access будет регистрироваться на этой машине только единожды.
Почему PF соединения не проходят через новую службу RPC Client Access? Публичные папки имеют собственные механизмы репликации и если бы PF подключения проходили через службу RPC Client Access на сервере CAS, это бы требовало больших дополнительных сложностей из-за того, как PF реплицируют данные. Группе разработчиков Exchange Product пришлось бы по-новому реализовывать наследственную функциональность, от которой они хотят отказаться. Публичные папки работают так же, как и в Exchange 2007, и в этой версии ничего не потеряли, так что не стоит ожидать, что Exchange PF изменит логику работы в будущих пакетах обновления.
На рисунке 7 мы видим окно Connection Status на клиенте Outlook 2010, который открыт пользователем, имеющим почтовый ящик на сервере Mailbox под названием E2K10EX02. Но поскольку MAPI для доступа к почтовому ящику теперь идет на CAS сервер, вы увидите лишь FQDN имя сервера CAS, а не сервера Mailbox. Причина, по которой вы видите E2K10EX02 в списке только один раз, заключается в том, что здесь используются публичные папки, и, как я только что объяснил, PF подключения идут непосредственно к RPC Client Access службе на сервере Mailbox.
Настройка статических RPC портов для MAPI и Directory Access
Поскольку теперь вы подключаетесь непосредственно к службе RPC Client Access на сервере Client Access для доступа к почтовым ящикам или к службе RPC Client Access на сервере Mailbox для подключений публичных папок, а клиенты для доступа к каталогам подключаются к конечной точке NSPI, это также означает, что по умолчанию вам нужно открыть TCP 135 EndPointMapper и динамический RPC диапазон TCP 1024-65535 между внутренними клиентами сети и серверами или массивами Client Access и серверами Mailbox.
К счастью, вы все еще можете настроить статическое сопоставление портов, как и в предыдущих версиях Exchange. Но вам нужно будет сделать это на CAS и Mailbox серверах, к которым подключаются клиенты Outlook MAPI.
На серверах CAS, для Mailbox подключений, вам нужно использовать DWORD ключ реестра с именем 'TCP/IP Port' в разделе: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRpc\ParametersSystem
Задайте значение, которое соответствует номеру порта. В этой статье мы используем порт 55000, но вы можете выбирать любой номер порта, который собираетесь использовать, просто помните, что это не должно вызывать конфликтов с другими приложениями, использующими данный порт. Рекомендуется выбирать порт из динамического RPC диапазона (1024-65535).
Чтобы использовать статический порт для доступа к публичной папке, вам нужно сделать то же самое на серверах почтовых ящиков:
Сначала откройте редактор системного реестра. Затем добавьте DWORD ключ с именем 'TCP/IP Port' в раздел: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem
Можно использовать тот же порт, который вы указали для CAS сервера.
Наконец, вам нужно ограничить использование портов клиентами, которые подключаются к конечной точке NSPI для доступа к каталогам. В отличие от MAPI доступа к почтовым ящиками и публичным папкам, здесь нужно изменить файл, если говорить точнее, то Microsoft.exchange.addressbook.service.exe.config файл конфигурации в папке Exchange Bin.
Откройте файл в Блокноте и затем измените 'RpcTcpPort' значение с стандартного '0' на порт, который вы хотите предоставить для использования Outlook клиентами и Exchange для доступа к каталогам через NSPI EndPoint. В этой статье мы использовали порт 55001.
Когда вы внесли вышеуказанные изменения, необходимо перезагрузить Mailbox и Client Access серверы, на которых вы вносили эти изменения.
Проверка использования статических портов между Outlook и Exchange 2010
Теперь, после перезагрузки соответствующих серверов, давайте убедимся, что Outlook на самом деле подключается к Exchange 2010, используя статические RPC порты, которые мы только что настроили. Для этого сначала подключаемся к почтовому ящику, используя Outlook, затем открываем интерпретатор команд и вводим Netstat 'na
Как видно на рисунке 12, наш Outlook клиент подключился к 192.168.2.238 (Client Access Server) и 192.168.2.239 (Mailbox Server), используя порт 55000 (MAPI) и 55001 (DSAccess).
Теперь давайте запустим netstat на Client Access сервере. Как вы видите, клиент с IP адресом 192.168.2.198 подключился к 55000 (статический RPC порт) и 55001 (статический DSAccess порт).
Это все, чем я хотел поделиться с вами во второй части этого цикла, но вскоре будет опубликована третья часть цикла. В ней я покажу вам, как настраивать WNLB и внешний компенсатор нагрузки на работу с массивом Client Access.
Если вы хотите прочитать первую часть этого цикла, перейдите по ссылке Новая служба RPC Client Access Service в Exchange 2010 (часть 1).