O Exchange 2010 Outlook em Qualquer Lugar não está funcionando - Proxy RPC, Catálogo de Endereços?

5

Ugh. Construímos um ambiente greenfield AD e Exchange 2010 há alguns meses para um grande cliente. O Outlook em Qualquer Lugar não está funcionando. Os clientes do Outlook nunca se conectam, não parece ser um erro ou um tempo limite.

Esta foi uma migração. Originalmente, nós tivemos uma incompatibilidade de certificados para o Outlook em Qualquer Lugar, por isso tenho quase certeza de que nunca funcionou. Recentemente, alteramos o sufixo de domínio SMTP de todos para corresponder ao domínio do URL do webmail, portanto, esperava que o OA começasse a funcionar. Agora temos um dia de neve, muitas pessoas em casa, e acontece que não funciona. Parece que há algum tipo de problema com o RPC com proxy conectado ao OAB, mas estou bastante confuso sobre como corrigir isso.

A descoberta automática é boa, o OWA, o ActiveSync e o EWS estão funcionando há meses.

Temos dois servidores de caixa de correio em um DAG, um servidor de caixa de correio para pastas públicas e periódicos, um array CAS de 2 servidores. No interior, temos o NLB para o array. Do lado de fora, temos um Netscaler LB VIP simplesmente para o array que não faz nada de especial, apenas um repasse do TCP 443.

A RCA mostra isso - é sempre cerca de 33 segundos, então presumo que haja um tempo limite de 30 segundos aqui.

Attempting to ping RPC proxy webmail.5ssl.com. RPC Proxy was pinged successfully. Additional Details Elapsed Time: 201 ms.

Attempting to ping the MAPI Mail Store endpoint with identity: PFEXCAS.internal.domain.name.com:6001. The attempt to ping the endpoint failed. Additional Details An RPC error was thrown by the RPC Runtime process. Error 1818 CallCancelled

Elapsed Time: 33536 ms.

Agora, os dois servidores CAS estão realmente escutando no TCP 6001. PFEXCAS é o nome do VIP do NLB.

Isso funciona para as portas 6001, 6002, 6004, o que é bom

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

Isto não dá um 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 -e 6004

Test-OutlookConnectivity -Protocol:Http -verbose funciona muito bem em ambos os servidores, incluindo o GetNewDSA e o RFRI :: GetReferral para o Catálogo de Endereços, os que falharam no nosso próximo teste.

Isso é Ex2010, portanto, HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Rpc \ RpcProxy \ ValidPorts_AutoConfig_Exchange foi verificado e parece correto em ambos os servidores 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

A execução de Test-OutlookConnectivity -RpcProxyTestType:Internal -RpcTestType:Server -verbose nos dá isso (resultados iguais / semelhantes quando executados em qualquer servidor CAS. Portanto, há algo errado com o proxies RPC no catálogo de endereços, mas diabos se eu posso descobrir o quê. Tudo o mais no ambiente parece ser funcionando bem, e essa configuração foi configurada bem de perto para o ambiente original que tinha o OA em funcionamento.

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 &
    
por mfinni 27.01.2015 / 20:29

1 resposta

1

Esta era uma configuração estúpida, Heisenbug, de algum tipo. O registro foi configurado corretamente para o RPC, e o problema não era específico do OAB, que é apenas a primeira coisa que é verificada. Foi necessária uma reinicialização dos servidores CAS para que funcionasse.

Além disso, a verdadeira causa raiz foi a instalação recente de um terceiro servidor CAS como teste, não no array. Eu alimentei os valores fictícios para URLs públicas que não estavam acessíveis e, por algum motivo (gostaria de saber), esses foram gravados na Descoberta Automática. Desinstalei a função CAS dessa máquina de teste e limpei a descoberta automática, mas ainda tive problemas com a RPCPing até a reinicialização dos servidores CAS restantes.

    
por 28.01.2015 / 14:50