Solução de problemas de perfil VPN no Microsoft Intune

Versão original do produto: Microsoft Intune
Número de KB original: 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 (Protocolo de Registro de Certificado Simples) 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 AndroidRoot iOSRoot WindowsRoot2
Perfil SCEP AndroidSCEP iOSSCEP WindowsSCEP2

Visão geral dos perfis VPN

As VPNs (redes virtuais privadas) fornecem 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. Em 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 atribua esse perfil a todos os usuários que têm dispositivos iOS. Depois disso, os usuários podem ver a conexão VPN na lista de redes disponíveis e se conectar com esforço mínimo.

Você pode criar perfis VPN usando diferentes tipos de conexão VPN.

Observação

Antes de poder 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, confira as seguintes capturas de tela:

Observação

Nos exemplos, o tipo de conexão para perfis VPN android e iOS é Cisco AnyConnect e o de 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 a grupos selecionados.

Observação

A implantação do tipo de 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 devem ser para um grupo de usuários e vice-versa. Se o certificado implantado for um tipo de dispositivo, use um grupo de dispositivos.

Para obter exemplos, confira 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 habilitar 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 certificados Intune e Remover SCEP e PKCS em Microsoft Intune.

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

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

Portal da Empresa logs da implantação bem-sucedida do perfil VPN

Em um dispositivo Android, o arquivo Omadmlog.log registra atividades detalhadas do perfil VPN quando é 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 pesquisas de android.vpn.client.

Captura de tela que mostra um exemplo que usa o CMTrace para ler logs e pesquisa android.vpn.client.

Log de exemplo:

<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 é implantado no dispositivo

  1. Verifique se o perfil VPN está atribuído ao grupo correto.

    No portal Intune, selecionePerfis de configuração> do dispositivo, selecione o perfil e 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 Intune verificando o último tempo de CHECK-IN no painel Solução de problemas.

    Captura de tela que mostra o último tempo de CHECK-IN no painel Solução de problemas para 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 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 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 ele não tem o certificado correto. Nesse cenário, você verá a seguinte entrada no arquivo de log 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 de Chave Estendida) 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 Qualquer EKU de Propósito especificada. No entanto, ele não é especificado no modelo de certificado na autoridade de certificado (AC). 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 Any Purpose é exibida.

  4. Verifique se a opção Controle Externo de AnyConnect está habilitada.

    A opção Controle Externo deve ser habilitada antes que o perfil seja criado. Quando o perfil é enviado por push 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 Portal da Empresa (Omadmlog.log):

    Waiting for required certificates for vpn profile 'androidVPN'.

    Para obter mais informações, consulte Autoridade de certificado intermediário 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 Intune e pode haver muitas causas. Os seguintes itens podem ajudá-lo a entender e solucionar o problema:

  • Você pode se conectar manualmente à rede usando um certificado com os mesmos critérios no perfil VPN?

    Se puder, marcar as propriedades do certificado usado na conexão manual e faça alterações no perfil VPN Intune.

  • Para dispositivos Android e iOS, os logs de aplicativo do cliente VPN mostraram que o dispositivo tentou se conectar ao perfil vpn?

    Normalmente, os erros de conectividade são registrados em logs de aplicativos 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 em logs do servidor Radius.

Como exibir logs no aplicativo AnyConnect

Para exibir logs, confira os dois exemplos a seguir para dispositivos Android e iOS.

Exemplo 1: exibir logs em dispositivos Android

  1. SelecioneDiagnóstico deMenu>.

    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 Log eDepuração deInformações> do Sistema .

    Captura de tela que mostra a função Log 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 Relatório para Administrador.

  5. Depois de obter os logs de depuração, marcar o arquivo debug_logs_unfiltered.txt para informações de criação e conexão de perfil.

Log de exemplo 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.

Log de exemplo 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 do usuário, selecione Certificados>de Diagnóstico.

    Captura de tela que mostra 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 de 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 Compartilhar Logs.

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

    Captura de tela que mostra a pasta que tem os arquivos de log de depuração.

Log de exemplo 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!.

Log de exemplo do arquivo AnyConnect_Messages.txt que mostra falha na 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.

Log de exemplo do arquivo AnyConnect_Plugin_Debug_Logs.txt que mostra falha na 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 Microsoft Intune, poste uma pergunta no fórum Microsoft Intune. Muitos engenheiros de suporte, MVPs e membros da equipe de desenvolvimento visitam os fóruns. Portanto, há uma boa chance de encontrar alguém com as informações necessárias.

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, confira os seguintes artigos:

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