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

Exchange 2010 Outlook Anywhere не работает - прокси-сервер RPC, адресная книга?

Тьфу. Несколько месяцев назад мы создали среду AD и Exchange 2010 с нуля для крупного клиента. Outlook Anywhere не работает. Клиенты Outlook просто никогда не подключаются, это не похоже на ошибку или тайм-аут.

Это была миграция. Первоначально у нас было несоответствие сертификатов для Outlook Anywhere, поэтому я почти уверен, что это никогда не сработало. Недавно мы изменили суффикс домена SMTP для всех, чтобы он соответствовал домену URL-адреса веб-почты, поэтому я ожидал, что OA начнет работать. Сейчас у нас снежный день, много людей дома, а оказывается, не получается. Похоже, что есть какая-то проблема с подключением прокси-RPC к автономной адресной книге, но я не совсем понимаю, как это исправить.

Автообнаружение - это хорошо, OWA, ActiveSync, EWS работают уже несколько месяцев.

У нас есть 2 сервера почтовых ящиков в группе DAG, 1 сервер почтовых ящиков для общих папок и журналов, массив CAS с 2 серверами. Внутри у нас есть NLB для массива. Снаружи у нас есть просто VIP-адрес Netscaler LB для массива, который не делает ничего особенного, только передает TCP 443.

RCA показывает это - это всегда около 33 секунд, поэтому я предполагаю, что здесь 30-секундный тайм-аут.

Попытка проверить связь с прокси-сервером RPC webmail.5ssl.com. Прокси-сервер RPC прошел успешно. Дополнительная информация Затраченное время: 201 мс.

Попытка проверить связь с конечной точкой почтового хранилища MAPI с идентификатором: PFEXCAS.internal.domain.name.com:6001. Попытка проверить связь с конечной точкой не удалась. Дополнительные сведения Процесс выполнения RPC вызвал ошибку RPC. Ошибка 1818 CallCancelled

Затраченное время: 337 мс

Теперь оба сервера CAS действительно прослушивают TCP 6001. PFEXCAS - это имя NLB VIP.

Это работает для портов 6001, 6002, 6004, так что это хорошо

rpcping -t ncacn_http -s pfexcas.internal.domain.name.com -o RpcProxy = pfexcas.internal.domain.name.com -P "," -I ",," -H 1 -u 10 -a connect - F 3 -v 3 -e 6004

Это не так, это дает 1722

rpcping -t ncacn_http -s pfexcas.internal.domain.name.com -o RpcProxy = webmail.5ssl.com -P "," -I "," -H 1 -u 10 -a connect -F 3 -v 3-е 6004

Test-OutlookConnectivity -Protocol:Http -verbose отлично работает на обоих серверах, включая GetNewDSA и RFRI :: GetReferral для адресной книги, которые не прошли в нашем следующем тесте.

Это Ex2010, поэтому HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Rpc \ RpcProxy \ ValidPorts_AutoConfig_Exchange был проверен и выглядит правильно на обоих серверах CAS.

PFEXCAS: 6001-6004; PFEXCAS.internal.domain.name: 6001-6004; PFEXCAS01: 6001-6004; PFEXCAS01.internal.domain.name: 6001-6004; PFEXCAS02: 6001-6004; PFEXCAS02.internal.domain.name: 6001-6004; PFEXMB01: 6001-6004; PFEXMB01.internal.domain.name: 6001-6004; PFEXMB02: 6001-6004; PFEXMB02.internal.domain.name: 6001-6004; PFEXMB03: ​​6001-6004; PFEXMB03.internal. domain.name:6001-6004

Бег Test-OutlookConnectivity -RpcProxyTestType:Internal -RpcTestType:Server -verbose дает нам это (результаты такие же / похожие при запуске на любом сервере CAS. Итак, что-то не так с проксированием RPC в адресную книгу, но черт возьми, если я могу понять, что. Все остальное в среде, похоже, работает нормально, и эта настройка был настроен довольно близко к исходной среде, в которой был рабочий OA.

VERBOSE: [19:08:13.652 GMT] Test-OutlookConnectivity : Target Client Access server = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.652 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: RpcProxy/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic]'
VERBOSE: [19:08:13.652 GMT] Test-OutlookConnectivity : Pinging RpcProxy at the following URL: 
https://PFEXCAS01.internal.domain.name.com/rpc/RpcProxy.dll.

ClientAccessServer   ServiceEndpoint                               Scenario                            Result  Latency
                                                                                                                  (MS)
------------------   ---------------                               --------                            ------  -------
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     RpcProxy::VerifyRpcProxy.           Success   46.80
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: Rfri/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic], 
[PFEXCAS01.internal.domain.name.com/Negotiate]'
VERBOSE: [19:08:13.714 GMT] Test-OutlookConnectivity : Mailbox = 'internal.domain.name.com\extest_23e99fa922cb4', Owner = 
'/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb'
VERBOSE: [19:08:13.714 GMT] Test-OutlookConnectivity : Address Book Operation = 'GetNewDSA', Input = 'userLegacyDN', 
Input Value = '/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb'
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : Microsoft.Exchange.Rpc.ServerUnavailableException: Error 0x6ba 
(The RPC server is unavailable) from cli_RfrGetNewDSA 

EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 2

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1710

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: 0 (0x00000000)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 13

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1352

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: -1073606646 (0xC002100A)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 14

EEInfo: Status: 0xC002100A

EEInfo: Detection location: 1380

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 12175 (0x00002F8F)

EEInfo:    prm[1]: Unicode string: /rpc/rpcproxy.dll?PFEXCAS01.internal.domain.name.com:6002



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 14

EEInfo: Status: 0x00010000

EEInfo: Detection location: 1385

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 16 (0x00000010)

EEInfo:    prm[1]: Binary Buffer: 
<junk>



   at ThrowRpcException(Int32 rpcStatus, String message)

   at Microsoft.Exchange.Rpc.RpcClientBase.ThrowRpcExceptionWithEEInfo(Int32 rpcStatus, String routineName)

   at Microsoft.Exchange.Rpc.Rfri.RfriRpcClient.GetNewDSA(String userDN, String& server)

   at Microsoft.Exchange.Monitoring.RfriClientWrapper.<>c__DisplayClass7.<GetNewDSA>b__6()

   at Microsoft.Exchange.Monitoring.OutlookConnectivityContext.RpcExceptionWrapper(Func`1 protectedCall)
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : AddressBook operation failed.  Operation = 'GetReferral', Error 
= 'The Address Book Referral operation failed. Operation = '<GetNewDSA>b__6', returnValue = '1722', server = 
'PFEXCAS01.internal.domain.name.com', user = '/o=FIVESTAR/ou=Exchange Administrative Group 
(FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb', .'
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     RFRI::GetReferral.                  Failure   -1.00
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: Nspi/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic], 
[PFEXCAS01.internal.domain.name.com/Negotiate]'
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : Address Book Operation = 'Bind'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Microsoft.Exchange.Rpc.ServerUnavailableException: Error 0x6ba 
(The RPC server is unavailable) from cli_NspiBind 

EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 2

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1710

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: 0 (0x00000000)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 13

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1352

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: -1073606646 (0xC002100A)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 14

EEInfo: Status: 0xC002100A

EEInfo: Detection location: 1380

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 12175 (0x00002F8F)

EEInfo:    prm[1]: Unicode string: /rpc/rpcproxy.dll?PFEXCAS01.internal.domain.name.com:6004



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 14

EEInfo: Status: 0x00010000

EEInfo: Detection location: 1385

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 16 (0x00000010)

EEInfo:    prm[1]: Binary Buffer: 
<junk>



   at ThrowRpcException(Int32 rpcStatus, String message)

   at Microsoft.Exchange.Rpc.RpcClientBase.ThrowRpcExceptionWithEEInfo(Int32 rpcStatus, String routineName)

   at Microsoft.Exchange.Rpc.Nspi.NspiRpcClient.Bind(UInt32 flags, IntPtr stat, IntPtr guid)

   at Microsoft.Exchange.Monitoring.NspiClientWrapper.<Bind>b__4()

   at Microsoft.Exchange.Monitoring.OutlookConnectivityContext.RpcExceptionWrapper(Func`1 protectedCall)
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Address Book operation failed. Details: The NSPI operation 
failed. Operation = '<Bind>b__4', ReturnValue = '1722', Server = 'PFEXCAS01.internal.domain.name.com', User = 
'/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb', ..
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     NSPI::GetProfileDetails.            Failure   -1.00
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: Mailbox/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic], 
[PFEXCAS01.internal.domain.name.com/Negotiate]'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Mailbox Operation: 'EcDoConnectEx', Target mailbox: 
'/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb'
VERBOSE: [19:08:28.986 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.986 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:36.599 GMT] Test-OutlookConnectivity : Microsoft.Exchange.Rpc.ServerUnavailableException: Error 0x6ba 
(The RPC server is unavailable) from EcDoConnectEx 

EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:36.599

EEInfo: Generating component: 13

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1352

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: -1073606646 (0xC002100A)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:36.599

EEInfo: Generating component: 14

EEInfo: Status: 0xC002100A

EEInfo: Detection location: 1380

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 12175 (0x00002F8F)

EEInfo:    prm[1]: Unicode string: /rpc/rpcproxy.dll?PFEXCAS01.internal.domain.name.com:6001



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:36.599

EEInfo: Generating component: 14

EEInfo: Status: 0x00010000

EEInfo: Detection location: 1385

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 16 (0x00000010)

EEInfo:    prm[1]: Binary Buffer: 
<junk>



   at ThrowRpcException(Int32 rpcStatus, String message)

   at Microsoft.Exchange.Rpc.RpcClientBase.ThrowRpcExceptionWithEEInfo(Int32 rpcStatus, String routineName)

   at Microsoft.Exchange.Rpc.ExchangeClient.ExchangeRpcClient.EcDoConnect_Wrapped(Boolean isEx, Void** pcxh, Byte* 
szUserDN, UInt32 ulFlags, UInt32 ulConMod, UInt32 cbLimit, UInt32 ulCpid, UInt32 ulLcidString, UInt32 ulLcidSort, 
UInt32 ulIcxrLink, UInt16 usFCanConvertCodePages, UInt32* pcmsPollsMax, UInt32* pcRetry, UInt32* pcmsRetryDelay, 
UInt16* picxr, Byte** pszDNPrefix, Byte** pszDisplayName, UInt16* rgwClientVersion, UInt16* rgwServerVersion, UInt16* 
rgwBestVersion, UInt32* pulTimeStamp, Byte* rgbAuxIn, UInt32 cbAuxIn, Byte* rgbAuxOut, UInt32* pcbAuxOut)

   at Microsoft.Exchange.Rpc.ExchangeClient.ExchangeRpcClient.EcDoConnect_Internal(Boolean isEx, IntPtr& contextHandle,
 String userDn, Int32 flags, Int32 sizeLimit, Int32 conMod, Int32 cpid, Int32 lcidString, Int32 lcidSort, Int32 
sessionIdLink, Boolean canConvertCodePages, TimeSpan& pollsMax, Int32& retryCount, TimeSpan& retryDelay, String& 
dnPrefix, String& displayName, Int16[] clientVersion, Int16[]& serverVersion, Int16[]& bestVersion, Int32& timeStamp, 
Byte[] auxIn, Boolean compressAuxIn, Boolean xorMagicAuxIn, Byte[]& auxOut, Int32 maxSizeAuxOut, Boolean& 
wasCompressedAuxOut, Boolean& wasXorMagicAuxOut)

   at Microsoft.Exchange.Rpc.ExchangeClient.ExchangeRpcClient.EcDoConnectEx(IntPtr& contextHandle, String userDn, Int32
 flags, Int32 sizeLimit, Int32 conMod, Int32 cpid, Int32 lcidString, Int32 lcidSort, Int32 sessionIdLink, Boolean 
canConvertCodePages, TimeSpan& pollsMax, Int32& retryCount, TimeSpan& retryDelay, String& dnPrefix, String& 
displayName, Int16[] clientVersion, Int16[]& serverVersion, Int16[]& bestVersion, Int32& timeStamp, Byte[] auxIn, 
Boolean compressAuxIn, Boolean xorMagicAuxIn, Byte[]& auxOut, Int32 maxSizeAuxOut, Boolean& wasCompressedAuxOut, 
Boolean& wasXorMagicAuxOut)

   at Microsoft.Exchange.Monitoring.MailboxTask.<>c__DisplayClassb.<Connect>b__a()

   at Microsoft.Exchange.Monitoring.OutlookConnectivityContext.RpcExceptionWrapper(Func`1 protectedCall)
VERBOSE: [19:08:36.599 GMT] Test-OutlookConnectivity : EcDoConnectEx Result: '1722'
VERBOSE: [19:08:36.599 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     Mailbox::Connect.                   Failure   -1.00
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : This step was skipped. This may have been caused by the failure 
in a previous scenario. Operation = 'MailboxTask::Logon'.
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     Mailbox::Logon.                     Skipped   -1.00
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : Admin Audit Log: Entered Handler:OnComplete.
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : Ending processing &

Это была какая-то дурацкая конфигурация Heisenbug. Реестр был правильно настроен для RPC, и проблема не связана с автономной адресной книгой, это только первое, что проверяется. Чтобы заставить его работать, потребовалась перезагрузка серверов CAS.

Кроме того, настоящая основная причина заключалась в том, что я недавно установил третий сервер CAS в качестве теста, а не в массиве. Я скормил ему фиктивные значения для общедоступных URL-адресов, которые были недоступны, и по какой-то причине (если бы я знал) они были записаны в Autodiscover. Я удалил роль CAS с этой тестовой машины, и она очистила автообнаружение, но все еще были проблемы с RPCPing до перезагрузки оставшихся серверов CAS.