Solução de problemas de perfil VPN no Microsoft Intune
Versão original do produto: Microsoft Intune
Número original do KB: 4519426
Introdução
Este guia ajuda você a entender e solucionar problemas de perfil VPN que podem ocorrer quando você usa Microsoft Intune.
Os exemplos neste guia usam a autenticação de certificado SCEP (Simple Certificate Enrollment Protocol) para perfis. Os exemplos também pressupõem que os perfis Raiz Confiável e SCEP funcionem corretamente no dispositivo. Nos exemplos, os perfis Raiz Confiável e SCEP são nomeados da seguinte maneira:
Tipos de perfil | Android | iOS | Windows |
---|---|---|---|
Perfil raiz confiável | Raiz do Android | iOSRoot | Raiz do Windows2 |
Perfil do SCEP | AndroidSCEP | iOSSCEP | WindowsSCEP2 |
Visão geral dos perfis VPN
As VPNs (redes virtuais privadas) oferecem aos usuários acesso remoto seguro à rede de uma organização. Os dispositivos usam um perfil de conexão VPN para iniciar uma conexão com o servidor VPN. No Intune, os perfis VPN atribuem configurações de VPN a usuários e dispositivos na organização. Em seguida, os usuários podem se conectar com facilidade e segurança à rede organizacional.
Por exemplo, se você quiser configurar todos os dispositivos iOS com as configurações necessárias para se conectar a um compartilhamento de arquivos na rede da organização, poderá criar um perfil VPN que inclua essas configurações e atribuir esse perfil a todos os usuários que possuem dispositivos iOS. Depois disso, os usuários podem ver a conexão VPN na lista de redes disponíveis e se conectar com o mínimo de esforço.
Você pode criar perfis VPN usando diferentes tipos de conexão VPN.
Observação
Antes de usar perfis VPN atribuídos a um dispositivo, você deve instalar o aplicativo VPN aplicável para o perfil.
Como criar perfis VPN
Para criar um perfil VPN, siga as etapas em Criar um perfil de dispositivo.
Para obter exemplos, consulte as seguintes capturas de tela:
Observação
Nos exemplos, o tipo de conexão para perfis VPN Android e iOS é Cisco AnyConnect e o do Windows 10 é Automático. O perfil VPN está vinculado ao perfil SCEP.
Como atribuir perfis VPN
Depois de criar um perfil VPN, atribua o perfil aos grupos selecionados.
Observação
A implantação do tipo grupo (grupo de usuários ou grupo de dispositivos) é importante e deve ser consistente em todas as políticas que envolvem essa política de recursos (Certificados Confiáveis, SCEP e VPN). Isso dependerá do tipo de certificado que você está implantando. Se você estiver implantando um certificado de usuário, todas as implantações deverão ser em um grupo de usuários e vice-versa. Se o certificado implantado for um tipo de dispositivo um, use um grupo de dispositivos.
Para obter exemplos, consulte a seguinte captura de tela:
Como são os perfis VPN bem-sucedidos
Esse cenário usa um dispositivo Android registrado como um perfil de trabalho de propriedade pessoal. Como os perfis Raiz Confiável e SCEP já estão instalados no dispositivo, você não será solicitado a instalar os certificados SCEP.
Você recebe uma notificação para instalar o perfil VPN corporativo:
Se você não receber a notificação, toque no botão Alterar configurações para ativar a opção Controle externo no aplicativo AnyConnect. Em seguida, você receberá a notificação.
Selecione o certificado SCEP no aplicativo AnyConnect:
Observação
Ao usar um dispositivo Android gerenciado pelo administrador do dispositivo, pode haver vários certificados porque os certificados não são revogados ou removidos quando um perfil de certificado é alterado ou removido. Nesse cenário, selecione o certificado mais recente. Geralmente é o último certificado exibido na lista.
Essa situação não ocorre em dispositivos Android Enterprise e Samsung Knox. Para obter mais informações, consulte Gerenciar dispositivos de perfil de trabalho Android com Intune e Remover certificados SCEP e PKCS em Microsoft Intune.
A conexão VPN foi criada com êxito.
Logs do Portal da Empresa de implantação bem-sucedida de perfil VPN
Em um dispositivo Android, o arquivo Omadmlog.log registra atividades detalhadas do perfil VPN quando ele é processado no dispositivo. Dependendo de quanto tempo o aplicativo Portal da Empresa foi instalado, você pode ter até cinco arquivos Omadmlog.log e o carimbo de data/hora da última sincronização pode ajudá-lo a encontrar as entradas relacionadas.
O exemplo a seguir usa o CMTrace para ler os logs e pesquisar android.vpn.client
.
Registro de amostra:
<Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 13229 00622 Notifying to provision vpn profile 'AnyConnect'.
<Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 13229 00622 VPN Profile "AnyConnect" state changed from RECEIVED to PENDING_USER_INSTALL
<Date Time> VERB com.microsoft.omadm.platforms.android.vpn.client.VpnClient 13229 00002 Creating VPN Provision Intent: anyconnect://create/?host=VPN.contoso.com&name=AnyConnect&usecert=true&keychainalias=UserID
<Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 13229 00002 Vpn profile 'AnyConnect' provisioned and complete.
<Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 13229 00002 VPN Profile "AnyConnect" state changed from PENDING_USER_INSTALL to PROVISIONED
Solução de problemas comuns
Problema 1: o perfil VPN não está implantado no dispositivo
Verifique se o perfil VPN está atribuído ao grupo correto.
No portal do Intune, selecione Perfis de configuração>do dispositivo, selecione o perfil e, em seguida, selecione Atribuições para verificar os grupos selecionados.
Verifique se o dispositivo pode sincronizar com o Intune verificando a hora do ÚLTIMO CHECK-IN no painel Solução de problemas .
Se o perfil VPN estiver vinculado aos perfis Raiz Confiável e SCEP, verifique se ambos os perfis foram implantados no dispositivo. O perfil VPN tem uma dependência desses perfis.
Se os perfis Raiz Confiável e SCEP não estiverem instalados no dispositivo, você verá a seguinte entrada no arquivo de log do Portal da Empresa (Omadmlog.log):
<Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 14210 00948 Waiting for required certificates for vpn profile 'androidVPN'.
Observação
É possível que, embora os perfis Raiz Confiável e SCEP estejam no dispositivo e estejam em conformidade, o perfil VPN ainda não esteja no dispositivo. Esse problema ocorre quando o
CertificateSelector
provedor do aplicativo Portal da Empresa não encontra um certificado que corresponda aos critérios especificados. Os critérios específicos podem estar no modelo de certificado ou no perfil SCEP. Se o certificado correspondente não for encontrado, os certificados no dispositivo serão excluídos. Portanto, o perfil VPN será ignorado porque não possui o certificado correto. Nesse cenário, você verá a seguinte entrada no arquivo de log do Portal da Empresa (Omadmlog.log):Waiting for required certificates for vpn profile 'androidVPN'.
O log de exemplo a seguir mostra que os certificados são excluídos porque os critérios EKU (Uso Estendido de Chave) de Qualquer Finalidade foram especificados. No entanto, os certificados atribuídos ao dispositivo não têm esse EKU:
<Date Time> VERB com.microsoft.omadm.utils.CertUtils 14210 00948 Excluding cert with alias User<ID1> and requestId <requestID1> as it does not have any purpose EKU. <Date Time> VERB com.microsoft.omadm.utils.CertUtils 14210 00948 Excluding cert with alias User<ID2> and requestId <requestID2> as it does not have any purpose EKU. <Date Time> VERB com.microsoft.omadm.utils.CertUtils 14210 00948 0 cert(s) matched criteria: <Date Time> VERB com.microsoft.omadm.utils.CertUtils 14210 00948 2 cert(s) excluded by criteria: <Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 14210 00948 Waiting for required certificates for vpn profile '<profile name>'.
O exemplo a seguir mostra que o perfil SCEP tem a opção de EKU de Qualquer Finalidade especificada. No entanto, ele não é especificado no modelo de certificado na AC (autoridade de certificação). Para corrigir o problema, adicione a opção Qualquer Finalidade ao modelo de certificado ou remova a opção Qualquer Finalidade do perfil SCEP.
Verifique se a opção Controle externo do AnyConnect está ativada.
A opção Controle externo deve ser ativada antes que o perfil seja criado. Quando o perfil é enviado para o dispositivo, o usuário é solicitado a habilitar a opção Controle externo.
Verifique se todos os certificados necessários na cadeia de certificados completa estão no dispositivo. Caso contrário, você verá a seguinte entrada no arquivo de log do Portal da Empresa (Omadmlog.log):
Waiting for required certificates for vpn profile 'androidVPN'.
Para obter mais informações, consulte Autoridade de certificação intermediária ausente.
Problema 2: o perfil VPN é implantado no dispositivo, mas o dispositivo não pode se conectar à rede
Normalmente, esse problema de conectividade não é um problema do Intune e pode haver muitas causas. Os itens a seguir podem ajudá-lo a entender e solucionar o problema:
Você pode se conectar manualmente à rede usando um certificado que tenha os mesmos critérios no perfil VPN?
Se puder, verifique as propriedades do certificado usado na conexão manual e faça alterações no perfil VPN do Intune.
Para dispositivos Android e iOS, os logs do aplicativo cliente VPN mostraram que o dispositivo tentou se conectar ao perfil VPN?
Normalmente, os erros de conectividade são registrados nos logs do aplicativo cliente VPN.
Para dispositivos Windows, os logs do servidor Radius mostraram que o dispositivo tentou se conectar ao perfil VPN?
Normalmente, os erros de conectividade são registrados nos logs do servidor Radius.
Como visualizar logs no aplicativo AnyConnect
Para exibir logs, consulte os dois exemplos a seguir para dispositivos Android e iOS.
Exemplo 1: Exibir logs em dispositivos Android
Selecione Menu>Diagnóstico.
Para exibir certificados, selecione Gerenciamento de Certificados.
Para exibir logs para analisar problemas do AnyConnect, selecione Registro e depuração de informações>do sistema.
Para enviar logs, selecione Menu>Enviar Relatório de Logs>ao Administrador.
Depois de obter os logs de depuração, verifique o arquivo debug_logs_unfiltered.txt para obter informações de criação de perfil e conexão.
Exemplo de log para criação de VPN:
<Date Time> I/AnyConnect(14530): URIHandlerActivity: Received command: anyconnect://create?host=VPN.Contoso.com&name=AnyConnect&usecert=true&keychainalias=UserID
<Date Time> I/AnyConnect(14530): VpnService: VpnService is being created.
Exemplo de log para falha de conexão VPN:
<Date Time> I/vpnapi (14530): Message type information sent to the user: Contacting VPN.Contoso.com.
<Date Time> I/vpnapi (14530): Initiating VPN connection to the secure gateway https://VPN.Contoso.com
<Date Time> I/acvpnagent(14592): Using default preferences. Some settings (e.g. certificate matching) may not function as expected if a local profile is expected to be used. Verify that the selected host is in the server list section of the profile and that the profile is configured on the secure gateway.
<Date Time> I/acvpnagent(14592): Function: processConnectNotification File: MainThread.cpp Line: 14616 Received connect notification (host VPN.Contoso.com, profile N/A)
<Date Time> W/acvpnagent(14592): Function: getHostIPAddrByName File: SocketSupport.cpp Line: 344 Invoked Function: ::getaddrinfo Return Code: 11 (0x0000000B) Description: unknown
<Date Time> W/acvpnagent(14592): Function: resolveHostName File: HostLocator.cpp Line: 710 Invoked Function: CSocketSupport::getHostIPAddrByName Return Code: -31129588 (0xFE25000C) Description: SOCKETSUPPORT_ERROR_GETADDRINFO
<Date Time> W/acvpnagent(14592): Function: ResolveHostname File: HostLocator.cpp Line: 804 Invoked Function: CHostLocator::resolveHostName Return Code: -31129588 (0xFE25000C) Description: SOCKETSUPPORT_ERROR_GETADDRINFO failed to resolve host name VPN.Contoso.com to IPv4 address
<Date Time> I/vpnapi (14530): Message type warning sent to the user: Connection attempt has failed.
<Date Time> E/vpnapi (14530): Function: processIfcData File: ConnectMgr.cpp Line: 3399 Content type (unknown) received. Response type (DNS resolution failed) from VPN.Contoso.com: DNS resolution failed
<Date Time> I/vpnapi (14530): Message type warning sent to the user: Unable to contact VPN.Contoso.com.
<Date Time> E/vpnapi (14530): Function: processIfcData File: ConnectMgr.cpp Line: 3535 Unable to contact VPN.Contoso.com DNS resolution failed
<Date Time> I/vpnapi (14530): Message type error sent to the user: The VPN connection failed due to unsuccessful domain name resolution.
Exemplo 2: Exibir logs em dispositivos iOS
Para exibir o certificado de usuário, selecione Certificados de>Diagnóstico.
Para exibir mensagens de log, selecione Diagnóstico, habilite a opção Logs de Depuração de VPN para habilitar o log e selecione Logs.
- Para exibir as mensagens de log de depuração do serviço, selecione Serviço.
- Para exibir as mensagens de log de depuração do aplicativo, selecione Aplicativo.
Para enviar logs, selecione Compartilhar Logs na janela Diagnóstico , insira as informações sobre o problema e selecione Enviar.
Depois de obter os logs de depuração, verifique os arquivos para criação de perfil e informações de conexão.
Log de amostra do arquivo AnyConnect_App_Debug_Logs.txt que mostra o perfil VPN:
[<Date Time>] Info: Function: SaveSettings File: AppleVpnConfig.mm Line: 198 SaveSettings {type = mutable dict, count = 3, entries => 0 : {contents = "RemoteAddress"} = {contents = "Contoso.com"} 1 : {contents = "AuthenticationMethod"} = {contents = "Certificate"} 2 : {contents = "LocalCertificate"} = <69646e74 00000000 000002d3> }
[<Date Time>] Info: Function: GetSettings File: AppleVpnConfig.mm Line: 175 GetSettings { AuthenticationMethod = Certificate; LocalCertificate = <69646e74 00000000 000002d3>; RemoteAddress = "Contoso.com"; }
[<Date Time>] Info: Function: -[AppleVpnConfigBatch startBatchSaveToSystem] File: AppleVpnConfigBatch.mm Line: 43 Invoking save to system with 0x28202fd60
[<Date Time>] Info: Function: saveToSystem_block_invoke File: AxtVpnConfig.mm Line: 222 Successfully saved profile for Contoso.com
[<Date Time>] Info: Function: -[AppleVpnConfigBatch startBatchSaveToSystem] File: AppleVpnConfigBatch.mm Line: 36 completed!.
Exemplo de log do arquivo AnyConnect_Messages.txt que mostra a falha de conexão VPN:
[<Date Time>] [VPN] - Contacting Contoso.com.
[<Date Time>] [VPN] - Connection attempt has failed.
[<Date Time>] [VPN] - Unable to contact CoolBreeze.com.
[<Date Time>] [VPN] - Connection attempt has timed out. Please verify Internet connectivity.
Exemplo de log do arquivo AnyConnect_Plugin_Debug_Logs.txt que mostra falha de conexão VPN:
[<Date Time>] Info: Message type information sent to the user: Contacting Contoso.com.
[<Date Time>] Info: Initiating VPN connection to the secure gateway https://Contoso.com
[<Date Time>] Info: Function: NoticeCB File: AnyConnectAuthenticator.cpp Line: 2116 Sending notice Contacting Contoso.com. to App
[<Date Time>] Error: Function: SendRequest File: CTransportCurlStatic.cpp Line: 2046 Invoked Function: curl_easy_perform Return Code: -29949904 (0xFE370030) Description: CTRANSPORT_ERROR_TIMEOUT 28 : Error
[<Date Time>] Error: Function: TranslateStatusCode File: ConnectIfc.cpp Line: 3169 Invoked Function: TranslateStatusCode Return Code: -29949904 (0xFE370030) Description: CTRANSPORT_ERROR_TIMEOUT Connection attempt has timed out. Please verify Internet connectivity.
[<Date Time>] Error: Function: doConnectIfcConnect File: ConnectMgr.cpp Line: 2442 Invoked Function: ConnectIfc::connect Return Code: -29949904 (0xFE370030) Description: CTRANSPORT_ERROR_TIMEOUT
[<Date Time>] Info: Message type warning sent to the user: Connection attempt has failed.
[<Date Time>] Error: Function: processIfcData File: ConnectMgr.cpp Line: 3407 Content type (unknown) received. Response type (host unreachable) from Contoso.com:
[<Date Time>] Info: Message type warning sent to the user: Unable to contact Contoso.com.
[<Date Time>] Info: Function: NoticeCB File: AnyConnectAuthenticator.cpp Line: 2116 Sending notice Connection attempt has failed. to App
[<Date Time>] Error: Function: processIfcData File: ConnectMgr.cpp Line: 3543 Unable to contact Contoso.com
[<Date Time>] Info: Function: NoticeCB File: AnyConnectAuthenticator.cpp Line: 2116 Sending notice Unable to contact Contoso.com. to App
[<Date Time>] Info: Message type error sent to the user: Connection attempt has timed out. Please verify Internet connectivity.
Mais informações
Se você ainda estiver procurando uma solução para um problema relacionado ou se quiser mais informações sobre o Microsoft Intune, poste uma pergunta no fórum do Microsoft Intune. Muitos engenheiros de suporte, MVPs e membros da equipe de desenvolvimento visitam os fóruns. Portanto, há uma boa chance de você encontrar alguém com as informações de que precisa.
Se você quiser abrir uma solicitação de suporte para a equipe de suporte ao produto Microsoft Intune, consulte Como obter suporte para Microsoft Intune.
Para obter mais informações sobre perfis VPN no Intune, consulte os seguintes artigos:
- Configurações do dispositivo Android para configurar a VPN no Intune
- Definir configurações de VPN em dispositivos iOS no Microsoft Intune
- Configurações de dispositivo Windows 10 e Windows Holographic para adicionar conexões VPN usando Intune
- Dica de suporte – Como configurar o NDES para implantações de certificado SCEP no Intune
- Solução de problemas de implantação de perfil de certificado SCEP no Microsoft Intune
- Solução de problemas de configuração NDES para uso com perfis de certificado do Microsoft Intune
Para obter as últimas notícias, informações e dicas de tecnologia, visite os blogs oficiais: