Konfigurieren von VPN-Gerätetunneln im Windows-Client

Gilt für: Windows Server 2022, Windows Server 2019, Windows 10, Windows 11

Mit Always On VPN können Sie ein dediziertes VPN-Profil für ein Gerät oder einen Computer erstellen. Always On-VPN-Verbindungen umfassen zwei Typen von Tunneln:

  • Ein Gerätetunnel stellt eine Verbindung mit bestimmten VPN-Servern her, bevor sich Benutzer bei dem Gerät anmelden. Ein Gerätetunnel wird für Verbindungsszenarios vor der Anmeldung und zur Geräteverwaltung verwendet.

  • Ein Benutzertunnel stellt erst eine Verbindung her, nachdem sich der Benutzer beim Gerät angemeldet hat. Mit dem Benutzertunnel können Benutzer über VPN-Server auf Organisationsressourcen zugreifen.

Im Gegensatz zum Benutzertunnel, bei dem nur eine Verbindung hergestellt wird, nachdem sich ein Benutzer bei dem Gerät oder Computer angemeldet hat, ermöglicht der Gerätetunnel dem VPN, vor der Benutzeranmeldung eine Verbindung herzustellen. Sowohl Gerätetunnel als auch Benutzertunnel arbeiten unabhängig mit ihren VPN-Profilen, können gleichzeitig verbunden sein und nach Bedarf verschiedene Authentifizierungsmethoden und andere VPN-Konfigurationseinstellungen verwenden. Der Benutzertunnel unterstützt SSTP und IKEv2, und der Gerätetunnel unterstützt nur IKEv2, ohne Unterstützung von SSTP-Fallback.

Der Benutzertunnel wird auf Domänen-Geräten, Geräten ohne Verbindung zu einer Domäne (Arbeitsgruppen) oder Geräten mit Microsoft Entra ID-Verbindung unterstützt, um sowohl Unternehmens- als auch BYOD-Szenarien zu ermöglichen. Er ist in allen Windows-Editionen verfügbar, und die Plattformfeatures stehen Drittanbietern über die UWP-VPN-Plug-In-Unterstützung zur Verfügung.

Der Gerätetunnel kann nur auf in die Domäne eingebundenen Geräten konfiguriert werden, die mindestens über die Version 1709 von Windows 10 Enterprise oder Education verfügen. Die Steuerung des Gerätetunnels durch Drittanbieter wird nicht unterstützt. Wenn nur ein Gerätetunnel auf einem System verwendet wird, können Sie eine NRPT-Tabelle (Name Resolution Policy) konfigurieren. Wenn ein Benutzer- und ein Gerätetunnel auf einem System verwendet werden, können Sie die NRPT-Tabelle (Name Resolution Policy) nur für den Benutzertunnel verwenden.

Tunnelerzwingung wird vom Gerätetunnel nicht unterstützt. Er muss als geteilter Tunnel (Split Tunneling) konfiguriert werden. |

Voraussetzungen

Sie müssen die Computerzertifikatauthentifizierung für VPN-Verbindungen aktivieren und eine Stammzertifizierungsstelle für die Authentifizierung eingehender VPN-Verbindungen definieren.

$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

Konfiguration von VPN-Gerätetunneln

Das folgende XML-Beispielprofil ist eine gute Orientierungshilfe für Szenarien, in denen nur clientseitig initiierte Pullvorgänge über den Gerätetunnel erforderlich sind. Datenverkehrsfilter werden genutzt, um den Gerätetunnel auf Verwaltungsdatenverkehr zu beschränken. Diese Konfiguration eignet sich gut für Windows Update, für typische Updateszenarien im Zusammenhang mit Gruppenrichtlinien (Group Policy, GP) und Microsoft Endpoint Configuration Manager sowie für VPN-Konnektivität bei der ersten Anmeldung ohne zwischengespeicherte Anmeldeinformationen oder für Szenarien zur Kennwortzurücksetzung.

Bei Anwendungsfällen mit serverseitig initiierten Pushvorgängen wie Windows-Remoteverwaltung (WinRM), Remote-Gruppenrichtlinienaktualisierung und Configuration Manager-Remoteaktualisierungen müssen Sie eingehenden Datenverkehr für den Gerätetunnel zulassen. Daher können keine Datenverkehrsfilter verwendet werden. Wenn Sie im Gerätetunnelprofil Datenverkehrsfilter aktivieren, wird eingehender Datenverkehr vom Gerätetunnel verweigert. Diese Einschränkung wird in zukünftigen Releases entfernt.

Exemplarisches VPN-Profil (XML)

Hier sehen Sie das exemplarische VPN-Profil in XML:

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

Abhängig von den Anforderungen des jeweiligen Bereitstellungsszenarios kann ein weiteres VPN-Feature mit dem Gerätetunnel konfiguriert werden: die Erkennung vertrauenswürdiger Netzwerke.

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

Bereitstellung und Testen

Sie können Gerätetunnel mithilfe eines Windows PowerShell-Skripts sowie unter Verwendung der WMI-Brücke (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) konfigurieren. Der Always On VPN-Gerätetunnel muss im Kontext des Kontos LOCAL SYSTEM konfiguriert werden. Hierzu muss PsExec verwendet werden. Dabei handelt es sich um eines der PsTools, die in der Dienstprogrammsuite Sysinternals enthalten sind.

Richtlinien zur Bereitstellung gerätespezifischer (.\Device) bzw. benutzerspezifischer (.\User) Profile finden Sie unter Verwenden der PowerShell-Skripterstellung mit dem WMI-Bridge-Anbieter.

Führen Sie den folgenden Windows PowerShell-Befehl aus, um sich zu vergewissern, dass Sie ein Geräteprofil erfolgreich bereitgestellt haben:

Get-VpnConnection -AllUserConnection

Die Ausgabe enthält eine Liste der geräteweiten VPN-Profile, die auf dem Gerät bereitgestellt sind.

Exemplarisches Windows PowerShell-Skript

Sie können das folgende Windows PowerShell-Skript verwenden, um Ihr eigenes Skript für die Profilerstellung zu erstellen:

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"

Weitere Ressourcen

Im Anschluss finden Sie weitere Ressourcen, die bei der VPN-Bereitstellung hilfreich sind.

Ressourcen für die VPN-Clientkonfiguration

Hier finden Sie Ressourcen für die VPN-Clientkonfiguration:

RAS-Gatewayressourcen

Hier finden Sie RAS-Gatewayressourcen (Remote Access Server, Remotezugriffsserver):

Wichtig

Wenn Sie einen Gerätetunnel mit einem Microsoft RAS-Gateway verwenden, müssen Sie den RRAS-Server so konfigurieren, dass er die IKEv2-Computerzertifikatauthentifizierung unterstützt, indem Sie die Authentifizierungsmethode Computerzertifikatauthentifizierung für IKEv2 zulassen wie hier beschrieben aktivieren. Nach Aktivierung dieser Einstellung sollten Sie unbedingt das PowerShell-Cmdlet Set-VpnAuthProtocol zusammen mit dem optionalen Parameter RootCertificateNameToAccept verwenden, um sicherzustellen, dass RRAS-IKEv2-Verbindungen nur für VPN-Clientzertifikate zugelassen werden, die mit einer explizit definierten internen bzw. privaten Stammzertifizierungsstelle verkettet sind. Alternativ sollte der Speicher Vertrauenswürdige Stammzertifizierungsstellen auf dem RRAS-Server geändert werden, um sicherzustellen, dass er keine öffentlichen Zertifizierungsstellen enthält, wie hier erläutert. Ähnliche Methoden müssen ggf. auch für andere VPN-Gateways in Betracht gezogen werden.