Condividi tramite


Configurare tunnel di dispositivo VPN nel client Windows

Si applica a: Windows Server 2022, Windows Server 2019, Windows 10, Windows 11

La VPN Always On offre la possibilità di creare un profilo VPN dedicato per dispositivi o computer. Le connessioni VPN Always On includono due tipi di tunnel:

  • Tunnel del dispositivo si connette ai server VPN specificati prima che gli utenti accingano al dispositivo. Il tunnel del dispositivo viene usato per gli scenari di connettività di pre-accesso e la gestione dei dispositivi.

  • Tunnel utente si connette solo dopo l'accesso di un utente al dispositivo. Il tunnel utente consente agli utenti di accedere alle risorse dell'organizzazione tramite server VPN.

A differenza del tunnel utente, che si connette solo dopo l'accesso di un utente al dispositivo o al computer, il tunnel del dispositivo consente alla VPN di stabilire una connessione prima dell'accesso dell'utente. Sia il tunnel del dispositivo che il tunnel dell'utente funzionano in modo indipendente con i rispettivi profili VPN, possono essere connessi contemporaneamente e possono usare diversi metodi di autenticazione e altre impostazioni di configurazione VPN, a seconda dei casi. Il tunnel utente supporta SSTP e IKEv2 e il tunnel del dispositivo supporta solo IKEv2, senza supporto per il fallback SSTP.

Tunnel utente è supportato sui dispositivi aggiunti a un dominio, non aggiunti a un dominio (gruppo di lavoro) o aggiunti a un ID Microsoft Entra per consentire scenari aziendali e BYOD. È disponibile in tutte le edizioni di Windows e le funzionalità della piattaforma sono disponibili per terze parti tramite il supporto del plug-in VPN della piattaforma UWP.

Il tunnel del dispositivo può essere configurato solo su dispositivi aggiunti a un dominio che eseguono Windows 10 Enterprise o Education versione 1709 o successiva. Non è previsto il supporto per il controllo di terze parti del tunnel del dispositivo. Se in un sistema viene usato solo un tunnel di dispositivi, è possibile configurare una tabella dei criteri di risoluzione dei nomi (NRPT). Se un tunnel utente e un tunnel dispositivo vengono usati in un sistema, è possibile usare la tabella dei criteri di risoluzione dei nomi (NRPT) solo nel tunnel utente.

Il tunnel del dispositivo non supporta il tunnel forzato. È necessario configurarlo come split tunnel. |

Prerequisiti

È necessario abilitare l'autenticazione del certificato del computer per le connessioni VPN e definire un'autorità di certificazione radice per l'autenticazione delle connessioni VPN in ingresso.

$VPNRootCertAuthority = "Common Name of trusted root certification authority"
$RootCACert = (Get-ChildItem -Path cert:LocalMachine\root | Where-Object {$_.Subject -Like "*$VPNRootCertAuthority*" })
Set-VpnAuthProtocol -UserAuthProtocolAccepted Certificate, EAP -RootCertificateNameToAccept $RootCACert -PassThru

Device Tunnel Features and Requirements

Configurazione del tunnel del dispositivo VPN

Il codice XML del profilo di esempio seguente fornisce indicazioni valide per gli scenari in cui sono necessari solo i pull avviati dal client tramite il tunnel del dispositivo. I filtri del traffico vengono usati per limitare il tunnel del dispositivo solo al traffico di gestione. Questa configurazione funziona bene per Windows Update, i criteri di gruppo tipici e gli scenari di aggiornamento di Microsoft Endpoint Configuration Manager, nonché la connettività VPN per il primo accesso senza credenziali memorizzate nella cache o scenari di reimpostazione della password.

Per i casi push avviati dal server, ad esempio Gestione remota Windows (WinRM), Remote GPUpdate e scenari di aggiornamento remoto di Configuration Manager, è necessario consentire il traffico in ingresso nel tunnel del dispositivo, in modo che i filtri del traffico non possano essere usati. Se si attivano i filtri del traffico nel profilo tunnel del dispositivo, il tunnel del dispositivo nega il traffico in ingresso. Questa limitazione verrà rimossa nelle versioni future.

Profilo XML VPN di esempio

Di seguito è riportato il profilo XML VPN di esempio.

<VPNProfile>
  <NativeProfile>
<Servers>vpn.contoso.com</Servers>
<NativeProtocolType>IKEv2</NativeProtocolType>
<Authentication>
  <MachineMethod>Certificate</MachineMethod>
</Authentication>
<RoutingPolicyType>SplitTunnel</RoutingPolicyType>
 <!-- disable the addition of a class based route for the assigned IP address on the VPN interface -->
<DisableClassBasedDefaultRoute>true</DisableClassBasedDefaultRoute>
  </NativeProfile>
  <!-- use host routes(/32) to prevent routing conflicts -->
  <Route>
<Address>10.10.0.2</Address>
<PrefixSize>32</PrefixSize>
  </Route>
  <Route>
<Address>10.10.0.3</Address>
<PrefixSize>32</PrefixSize>
  </Route>
<!-- traffic filters for the routes specified above so that only this traffic can go over the device tunnel -->
  <TrafficFilter>
<RemoteAddressRanges>10.10.0.2, 10.10.0.3</RemoteAddressRanges>
  </TrafficFilter>
<!-- need to specify always on = true -->
  <AlwaysOn>true</AlwaysOn>
<!-- new node to specify that this is a device tunnel -->
 <DeviceTunnel>true</DeviceTunnel>
<!--new node to register client IP address in DNS to enable manage out -->
<RegisterDNS>true</RegisterDNS>
</VPNProfile>

A seconda delle esigenze di ogni scenario di distribuzione specifico, un'altra funzionalità VPN che può essere configurata con il tunnel del dispositivo è rilevamento di rete attendibile.

 <!-- inside/outside detection -->
  <TrustedNetworkDetection>corp.contoso.com</TrustedNetworkDetection>

Distribuzione e test

È possibile configurare i tunnel dei dispositivi usando uno script di Windows PowerShell e il bridge strumentazione gestione Windows (WMI). Il tunnel del dispositivo VPN Always On deve essere configurato nel contesto dell'account SISTEMA LOCALE. A tale scopo, sarà necessario usare PsExec, uno dei PsTools inclusi nella suite di utilità Sysinternals.

Per linee guida su come distribuire un profilo di (.\Device) per dispositivo o per utente (.\User), vedere Uso di script di PowerShell con il provider wmi bridge.

Eseguire il comando di Windows PowerShell seguente per verificare che sia stato distribuito correttamente un profilo del dispositivo:

Get-VpnConnection -AllUserConnection

L'output visualizza un elenco dei profili VPN a livello di dispositivo distribuiti nel dispositivo.

Esempio di script di Windows PowerShell

È possibile usare lo script di Windows PowerShell seguente per facilitare la creazione di script personalizzati per la creazione del profilo.

Param(
[string]$xmlFilePath,
[string]$ProfileName
)

$a = Test-Path $xmlFilePath
echo $a

$ProfileXML = Get-Content $xmlFilePath

echo $XML

$ProfileNameEscaped = $ProfileName -replace ' ', '%20'

$Version = 201606090004

$ProfileXML = $ProfileXML -replace '<', '&lt;'
$ProfileXML = $ProfileXML -replace '>', '&gt;'
$ProfileXML = $ProfileXML -replace '"', '&quot;'

$nodeCSPURI = './Vendor/MSFT/VPNv2'
$namespaceName = "root\cimv2\mdm\dmmap"
$className = "MDM_VPNv2_01"

$session = New-CimSession

try
{
$newInstance = New-Object Microsoft.Management.Infrastructure.CimInstance $className, $namespaceName
$property = [Microsoft.Management.Infrastructure.CimProperty]::Create("ParentID", "$nodeCSPURI", 'String', 'Key')
$newInstance.CimInstanceProperties.Add($property)
$property = [Microsoft.Management.Infrastructure.CimProperty]::Create("InstanceID", "$ProfileNameEscaped", 'String', 'Key')
$newInstance.CimInstanceProperties.Add($property)
$property = [Microsoft.Management.Infrastructure.CimProperty]::Create("ProfileXML", "$ProfileXML", 'String', 'Property')
$newInstance.CimInstanceProperties.Add($property)

$session.CreateInstance($namespaceName, $newInstance)
$Message = "Created $ProfileName profile."
Write-Host "$Message"
}
catch [Exception]
{
$Message = "Unable to create $ProfileName profile: $_"
Write-Host "$Message"
exit
}
$Message = "Complete."
Write-Host "$Message"

Risorse aggiuntive

Di seguito sono riportate risorse aggiuntive per facilitare la distribuzione della VPN.

Risorse di configurazione del client VPN

Di seguito sono riportate alcune risorse di configurazione del client VPN.

Risorse del gateway del server di accesso remoto

Di seguito sono riportate le risorse del gateway RAS (Remote Access Server).

Importante

Quando si usa il tunnel dispositivo con un gateway RAS Microsoft, è necessario configurare il server RRAS per supportare l'autenticazione del certificato computer IKEv2 abilitando l'autenticazione del certificato computer Consenti autenticazione del certificato computer per IKEv2 metodo di autenticazione, come descritto qui. Dopo aver abilitato questa impostazione, è consigliabile usare il cmdlet Set-VpnAuthProtocol di PowerShell, insieme al parametro facoltativo RootCertificateNameToAccepttoAccept per assicurarsi che le connessioni IKEv2 RRAS siano consentite solo per i certificati client VPN che concatenano a un'autorità di certificazione radice interna/privata definita in modo esplicito. In alternativa, è necessario modificare l'archivio Autorità di certificazione radice attendibili nel server RRAS per assicurarsi che non contenga autorità di certificazione pubbliche, come illustrato qui. Può anche necessario prendere in considerazione metodi simili per altri gateway VPN.