Compartilhar via


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.

Captura de tela que mostra como criar um perfil VPN para Android.

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:

Captura de tela que mostra como atribuir um perfil.

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.

  1. Você recebe uma notificação para instalar o perfil VPN corporativo:

    Captura de tela que mostra a notificação para instalar o perfil VPN.

    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.

    Captura de tela que mostra o botão Alterar configurações.

    Captura de tela que mostra a opção Controle Externo.

    Captura de tela que mostra que a opção Controle Externo está habilitada.

  2. Selecione o certificado SCEP no aplicativo AnyConnect:

    Captura de tela que mostra a página para escolher certificados.

    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.

  3. A conexão VPN foi criada com êxito.

    Captura de tela que mostra que uma conexão VPN foi criada com sucesso.

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.

Captura de tela que mostra um exemplo que usa o CMTrace para ler logs e pesquisa 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

  1. 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.

    Captura de tela que mostra o perfil VPN atribuído de um grupo para Android.

  2. Verifique se o dispositivo pode sincronizar com o Intune verificando a hora do ÚLTIMO CHECK-IN no painel Solução de problemas .

    Captura de tela que mostra a hora do ÚLTIMO CHECK-IN no painel Solução de problemas do Android.

  3. 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.

    Captura de tela que mostra como adicionar a opção Qualquer finalidade.

    Captura de tela que mostra que a opção Qualquer finalidade é exibida.

  4. 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.

    Captura de tela que mostra como marcar a opção Controle Externo.

    Captura de tela que mostra que a opção Controle Externo está habilitada.

  5. 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

  1. Selecione Menu>Diagnóstico.

    Captura de tela que mostra a função Diagnóstico.

  2. Para exibir certificados, selecione Gerenciamento de Certificados.

    Captura de tela que mostra a função Gerenciamento de Certificados.

    Captura de tela que mostra as informações do certificado.

  3. Para exibir logs para analisar problemas do AnyConnect, selecione Registro e depuração de informações>do sistema.

    Captura de tela que mostra a função Registro e informações do sistema.

    Captura de tela que mostra as informações de depuração.

  4. Para enviar logs, selecione Menu>Enviar Relatório de Logs>ao Administrador.

    Captura de tela que mostra a função Enviar Logs.

    Captura de tela que mostra a função Reportar ao Administrador.

  5. 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

  1. Para exibir o certificado de usuário, selecione Certificados de>Diagnóstico.

    Captura de tela que mostra os certificados importados.

  2. 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.

    Captura de tela que mostra a opção Logs de depuração de VPN.

  3. Para enviar logs, selecione Compartilhar Logs na janela Diagnóstico , insira as informações sobre o problema e selecione Enviar.

    Captura de tela que mostra a função Share Logs.

  4. Depois de obter os logs de depuração, verifique os arquivos para criação de perfil e informações de conexão.

    Captura de tela que mostra a pasta que contém os arquivos de log de depuraçã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:

Para obter as últimas notícias, informações e dicas de tecnologia, visite os blogs oficiais: