Condividi tramite


Risoluzione dei problemi del 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 Finestre
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 agli utenti e ai dispositivi dell'organizzazione. Gli utenti possono quindi connettersi in modo semplice e sicuro alla rete organizzativa.

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 con dispositivi iOS. Successivamente, gli utenti possono visualizzare la connessione VPN nell'elenco delle reti disponibili e connettersi con un impegno minimo.

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

Note

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:

Note

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.

Note

La distribuzione dei tipi di gruppo (gruppo di utenti o gruppo di dispositivi) è importante e deve essere coerente in tutti i criteri che coinvolgono questo criterio di risorsa (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 è un tipo di dispositivo, usare un gruppo di dispositivi.

Per esempi, vedere lo screenshot seguente:

Screenshot che mostra come assegnare un profilo.

Aspetto dei profili VPN riusciti

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. Si riceve 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.

    Note

    Quando si usa un dispositivo Android gestito dall'amministratore di dispositivi, 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. In genere è l'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 viene creata correttamente.

    Screenshot che mostra che viene creata correttamente una connessione VPN.

Portale aziendale log della corretta distribuzione del profilo VPN

In un dispositivo Android, il file Omadmlog.log registra attività dettagliate del profilo VPN quando viene elaborato nel dispositivo. A seconda della durata dell'installazione dell'app Portale aziendale, potrebbero essere presenti fino a cinque file Omadmlog.log e il timestamp dell'ultima sincronizzazione consente di trovare le voci correlate.

Nell'esempio seguente viene usato CMTrace per leggere i log e cercare 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 selezionare Profili di 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 possa eseguire la sincronizzazione con Intune controllando l'ora ultima archiviazione nel riquadro Risoluzione dei problemi .

    Screenshot che mostra l'ora ultima archiviazione 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'.

    Note

    È possibile che anche se i profili Radice attendibile e SCEP si trovano nel dispositivo e 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 che corrisponde ai criteri specificati. I criteri specifici possono trovarsi 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 dispone del 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 vengono esclusi perché sono stati specificati i criteri EKU (Any Purpose Extended Key Usage). Tuttavia, i certificati assegnati al dispositivo non dispongono di 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 la possibilità di specificare Any Purpose EKU.The following sample shows that the SCEP profile has the option of Any Purpose EKU specified. Tuttavia, non viene 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 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 di Intune e può 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 di Intune.

  • Per i dispositivi Android e iOS, i log delle applicazioni client VPN mostrano che il dispositivo ha tentato di connettersi al profilo VPN?

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

  • Per i dispositivi Windows, i log del server Radius indicano 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 Diagnostica menu>.

    Screenshot che mostra la funzione Diagnostics.

  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 Logging and System Information.

    Screenshot che mostra le informazioni di debug.

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

    Screenshot che mostra la funzione Invia log.

    Screenshot che mostra la funzione Report to Administrator.

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

Log di esempio per la creazione della 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 l'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 di 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 Condividi log.

  4. Dopo aver visualizzato 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 di Microsoft Intune. Molti tecnici di supporto, MVP e membri del team di sviluppo visitano i forum. Quindi, c'è una buona probabilità che sia possibile trovare qualcuno con le informazioni necessarie.

Per aprire una richiesta di supporto al team di supporto di 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: