Risoluzione dei problemi relativi al profilo VPN in Microsoft Intune

Versione originale del prodotto: Microsoft Intune
Numero KB originale: 4519426

Introduzione

Questa guida consente di comprendere e risolvere i problemi del profilo VPN che possono verificarsi quando si usa Microsoft Intune.

Gli esempi in questa guida usano l'autenticazione del certificato SCEP (Simple Certificate Enrollment Protocol) per i profili. Gli esempi presuppongono anche che i profili Radice attendibile e SCEP funzionino correttamente nel dispositivo. Negli esempi i profili Radice attendibile e SCEP sono denominati come segue:

Tipi di profilo Android iOS Windows
Profilo radice attendibile AndroidRoot iOSRoot WindowsRoot2
Profilo SCEP AndroidSCEP iOSSCEP WindowsSCEP2

Panoramica dei profili VPN

Le reti private virtuali (VPN) consentono agli utenti di proteggere l'accesso remoto alla rete di un'organizzazione. I dispositivi usano un profilo di connessione VPN per avviare una connessione con il server VPN. In Intune, i profili VPN assegnano le impostazioni VPN a utenti e dispositivi dell'organizzazione. Gli utenti possono quindi connettersi facilmente e in modo sicuro alla rete aziendale.

Ad esempio, se si desidera configurare tutti i dispositivi iOS con le impostazioni necessarie per connettersi a una condivisione file nella rete dell'organizzazione, è possibile creare un profilo VPN che includa queste impostazioni e assegnare questo profilo a tutti gli utenti che dispongono di dispositivi iOS. Successivamente, gli utenti possono visualizzare la connessione VPN nell'elenco delle reti disponibili e connettersi con il minimo sforzo.

È possibile creare profili VPN usando tipi di connessione VPN diversi.

Nota

Prima di poter usare i profili VPN assegnati a un dispositivo, è necessario installare l'app VPN applicabile per il profilo.

Come creare profili VPN

Per creare un profilo VPN, seguire la procedura descritta in Creare un profilo di dispositivo.

Per esempi, vedere gli screenshot seguenti:

Nota

Negli esempi, il tipo di connessione per i profili VPN Android e iOS è Cisco AnyConnect e quello per Windows 10 è Automatico. Il profilo VPN è collegato al profilo SCEP.

Screenshot che mostra come creare un profilo VPN per Android.

Come assegnare profili VPN

Dopo aver creato un profilo VPN, assegnare il profilo ai gruppi selezionati.

Nota

La distribuzione di tipo gruppo (gruppo di utenti o gruppo di dispositivi) è importante e deve essere coerente tra tutti i criteri che coinvolgono questo criterio di risorse (certificati attendibili, SCEP e VPN). Dipenderà dal tipo di certificato che si sta distribuendo. Se si distribuisce un certificato utente, tutte le distribuzioni devono essere in un gruppo di utenti e viceversa. Se il certificato distribuito è di tipo dispositivo uno, usare un gruppo di dispositivi.

Per esempi, vedere lo screenshot seguente:

Screenshot che mostra come assegnare un profilo.

Aspetto dei profili VPN di successo

Questo scenario usa un dispositivo Android registrato come profilo di lavoro di proprietà personale. Poiché i profili Radice attendibile e SCEP sono già installati nel dispositivo, non verrà richiesto di installare i certificati SCEP.

  1. Viene visualizzata una notifica per installare il profilo VPN aziendale:

    Screenshot che mostra la notifica per installare il profilo VPN.

    Se non si riceve la notifica, toccare il pulsante Cambia impostazioni per abilitare l'opzione Controllo esterno nell'app AnyConnect. Si riceverà quindi la notifica.

    Screenshot che mostra il pulsante Cambia impostazioni.

    Screenshot che mostra l'opzione Controllo esterno.

    Screenshot che mostra che l'opzione Controllo esterno è abilitata.

  2. Selezionare il certificato SCEP nell'app AnyConnect:

    Screenshot che mostra la pagina per scegliere i certificati.

    Nota

    Quando si usa un dispositivo Android gestito dall'amministratore del dispositivo, potrebbero essere presenti più certificati perché i certificati non vengono revocati o rimossi quando un profilo certificato viene modificato o rimosso. In questo scenario selezionare il certificato più recente. Si tratta in genere dell'ultimo certificato visualizzato nell'elenco.

    Questa situazione non si verifica nei dispositivi Android Enterprise e Samsung Knox. Per altre informazioni, vedere Gestire i dispositivi del profilo di lavoro Android con Intune e Rimuovere i certificati SCEP e PKCS in Microsoft Intune.

  3. La connessione VPN è stata creata correttamente.

    Screenshot che mostra la corretta creazione di una connessione VPN.

Portale aziendale log della corretta distribuzione del profilo VPN

In un dispositivo Android, il file Omadmlog.log registra le attività dettagliate del profilo VPN quando viene elaborato nel dispositivo. A seconda di quanto tempo è stata installata l'app Portale aziendale, potrebbero essere presenti fino a cinque file Omadmlog.log e il timestamp dell'ultima sincronizzazione può aiutare a trovare le voci correlate.

L'esempio seguente usa CMTrace per leggere i log e cerca android.vpn.client.

Screenshot che mostra un esempio che usa CMTrace per leggere i log e cerca android.vpn.client.

Log di esempio:

<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

Risoluzione dei problemi comuni

Problema 1: Il profilo VPN non viene distribuito nel dispositivo

  1. Verificare che il profilo VPN sia assegnato al gruppo corretto.

    Nel portale di Intune selezionareProfilidi configurazione> del dispositivo, quindi selezionare il profilo e quindi selezionare Assegnazioni per verificare i gruppi selezionati.

    Screenshot che mostra il profilo VPN assegnato di un gruppo per Android.

  2. Verificare che il dispositivo sia in grado di eseguire la sincronizzazione con Intune controllando l'ora DI ULTIMA ARCHIVIAZIONE nel riquadro Risoluzione dei problemi.

    Screenshot che mostra l'ora DELL'ULTIMO CHECK-IN nel riquadro Risoluzione dei problemi per Android.

  3. Se il profilo VPN è collegato ai profili Radice attendibile e SCEP, verificare che entrambi i profili siano stati distribuiti nel dispositivo. Il profilo VPN ha una dipendenza da questi profili.

    Se i profili Radice attendibile e SCEP non sono installati nel dispositivo, verrà visualizzata la voce seguente nel file di log Portale aziendale (Omadmlog.log):

    <Date Time> INFO com.microsoft.omadm.platforms.android.vpn.client.IntentVpnProfileProvisionStateMachine 14210 00948 Waiting for required certificates for vpn profile 'androidVPN'.

    Nota

    È possibile che, anche se i profili Radice attendibile e SCEP si trovano nel dispositivo e siano conformi, il profilo VPN non è ancora presente nel dispositivo. Questo problema si verifica quando il CertificateSelector provider dell'app Portale aziendale non trova un certificato corrispondente ai criteri specificati. I criteri specifici possono essere inclusi nel modello di certificato o nel profilo SCEP. Se il certificato corrispondente non viene trovato, i certificati nel dispositivo verranno esclusi. Di conseguenza, il profilo VPN verrà ignorato perché non ha il certificato corretto. In questo scenario viene visualizzata la voce seguente nel file di log Portale aziendale (Omadmlog.log):

    Waiting for required certificates for vpn profile 'androidVPN'.

    Il log di esempio seguente mostra che i certificati sono esclusi perché sono stati specificati i criteri di utilizzo delle chiavi estese per qualsiasi scopo.The following sample log shows that certificates are excluded because the Any Purpose Extended Key Usage (EKU) criteria was specified. Tuttavia, i certificati assegnati al dispositivo non hanno tale 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>'.
    

    L'esempio seguente mostra che il profilo SCEP ha l'opzione Any Purpose EKU specificata. Tuttavia, non è specificato nel modello di certificato nell'autorità di certificazione (CA). Per risolvere il problema, aggiungere l'opzione Qualsiasi scopo al modello di certificato o rimuovere l'opzione Qualsiasi scopo dal profilo SCEP.

    Screenshot che mostra come aggiungere l'opzione Qualsiasi scopo.

    Screenshot che mostra che viene visualizzata l'opzione Qualsiasi scopo.

  4. Verificare che l'opzione Controllo esterno di AnyConnect sia abilitata.

    L'opzione Controllo esterno deve essere abilitata prima della creazione del profilo. Quando viene eseguito il push del profilo nel dispositivo, all'utente viene richiesto di abilitare l'opzione Controllo esterno .

    Screenshot che mostra come controllare l'opzione Controllo esterno.

    Screenshot che mostra che l'opzione Controllo esterno è abilitata.

  5. Verificare che tutti i certificati necessari nella catena di certificati completa siano presenti nel dispositivo. In caso contrario, verrà visualizzata la voce seguente nel file di log Portale aziendale (Omadmlog.log):

    Waiting for required certificates for vpn profile 'androidVPN'.

    Per altre informazioni, vedere Autorità di certificazione intermedia mancante.

Problema 2: il profilo VPN viene distribuito nel dispositivo, ma il dispositivo non può connettersi alla rete

In genere, questo problema di connettività non è un problema Intune e possono esserci molte cause. Gli elementi seguenti possono essere utili per comprendere e risolvere il problema:

  • È possibile connettersi manualmente alla rete usando un certificato con gli stessi criteri nel profilo VPN?

    Se possibile, controllare le proprietà del certificato usato nella connessione manuale e apportare modifiche al profilo VPN Intune.

  • Per i dispositivi Android e iOS, i log dell'applicazione client VPN mostrano che il dispositivo ha provato a connettersi al profilo VPN?

    In genere, gli errori di connettività vengono registrati nei log delle applicazioni client VPN.

  • Per i dispositivi Windows, i log del server Radius mostrano che il dispositivo ha tentato di connettersi al profilo VPN?

    In genere, gli errori di connettività vengono registrati nei log del server Radius.

Come visualizzare i log nell'app AnyConnect

Per visualizzare i log, vedere i due esempi seguenti per i dispositivi Android e iOS.

Esempio 1: Visualizzare i log nei dispositivi Android

  1. Selezionare Menu>Diagnostica.

    Screenshot che mostra la funzione Diagnostica.

  2. Per visualizzare i certificati, selezionare Gestione certificati.

    Screenshot che mostra la funzione Gestione certificati.

    Screenshot che mostra le informazioni sul certificato.

  3. Per visualizzare i log per analizzare i problemi di AnyConnect, selezionare Registrazione e debug delle informazioni di> sistema.

    Screenshot che mostra la funzione Registrazione e Informazioni di sistema.

    Screenshot che mostra le informazioni di debug.

  4. Per inviare i log, selezionare Menu>Invia report log>all'amministratore.

    Screenshot che mostra la funzione Invia log.

    Screenshot che mostra la funzione Da report a amministratore.

  5. Dopo aver ottenuto i log di debug, controllare il file debug_logs_unfiltered.txt per informazioni sulla creazione del profilo e sulla connessione.

Log di esempio per la creazione di 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 di esempio per errore di connessione 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.

Esempio 2: Visualizzare i log nei dispositivi iOS

  1. Per visualizzare il certificato utente, selezionare Certificati di diagnostica>.

    Screenshot che mostra i certificati importati.

  2. Per visualizzare i messaggi di log, selezionare Diagnostica, abilitare l'opzione Log di debug VPN per abilitare la registrazione e quindi selezionare Log.

    • Per visualizzare i messaggi del log di debug del servizio, selezionare Servizio.
    • Per visualizzare i messaggi del log di debug dell'applicazione, selezionare App.

    Screenshot che mostra l'opzione Log di debug VPN.

  3. Per inviare i log, selezionare Condividi log nella finestra Diagnostica , immettere le informazioni sul problema e quindi selezionare Invia.

    Screenshot che mostra la funzione Share Logs.

  4. Dopo aver ottenuto i log di debug, controllare i file per la creazione del profilo e le informazioni di connessione.

    Screenshot che mostra la cartella con i file di log di debug.

Log di esempio del file AnyConnect_App_Debug_Logs.txt che mostra il profilo 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 di esempio del file AnyConnect_Messages.txt che mostra un errore di connessione 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 di esempio del file AnyConnect_Plugin_Debug_Logs.txt che mostra un errore di connessione 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.

Ulteriori informazioni

Se si sta ancora cercando una soluzione a un problema correlato o se si vogliono altre informazioni su Microsoft Intune, pubblicare una domanda nel forum Microsoft Intune. Molti tecnici di supporto, MVP e membri del team di sviluppo visitano i forum. Quindi, c'è una buona probabilità che tu possa trovare qualcuno con le informazioni di cui hai bisogno.

Per aprire una richiesta di supporto al team di supporto del prodotto Microsoft Intune, vedere Come ottenere supporto per Microsoft Intune.

Per altre informazioni sui profili VPN in Intune, vedere gli articoli seguenti:

Per tutte le ultime notizie, informazioni e suggerimenti tecnici, visita i blog ufficiali: