Partager via


Configurer des tunnels d’appareil VPN sous client Windows

Always On VPN vous permet de créer un profil VPN dédié pour un appareil ou une machine. Les connexions VPN Always On incluent deux types de tunnels :

  • Device tunnel connects to specified VPN servers before users log on to the device. Les scénarios de connectivité avant la connexion et les fins de gestion des périphériques utilisent un tunnel de périphérique.

  • User tunnel connects only after a user logs on to the device. Le tunnel d’utilisateur permet aux utilisateurs d’accéder aux ressources de l’organisation via les serveurs VPN.

Unlike user tunnel, which only connects after a user logs on to the device or machine, device tunnel allows the VPN to establish connectivity before the user logs on. Both device tunnel and user tunnel operate independently with their VPN profiles, can be connected at the same time, and can use different authentication methods and other VPN configuration settings as appropriate. Le tunnel d’utilisateur prend en charge SSTP et IKEv2, et le tunnel d’appareil prend en charge IKEv2 uniquement sans prise en charge du repli vers le protocole SSTP.

Le tunnel utilisateur est supporté sur des appareils reliés à un domaine, non reliés à un domaine (groupe de travail) ou reliés à Microsoft Entra ID pour permettre des scénarios d'entreprise et BYOD. Il est disponible dans toutes les éditions de Windows, et les fonctionnalités de la plateforme sont disponibles pour des tiers via la prise en charge du plug-in VPN UWP.

Le tunnel d’appareil ne peut être configuré que sur les appareils joints à un domaine exécutant Windows 10 Entreprise ou Éducation version 1709 ou ultérieure. Il n’existe aucune prise en charge du contrôle du tunnel de l’appareil par un tiers. Si seul un tunnel d’appareil est utilisé sur un système, vous pouvez configurer une table de stratégie de résolution de noms (NRPT). Si un tunnel d’utilisateur et un tunnel d’appareil sont utilisés sur un système, vous pouvez utiliser la table de stratégie de résolution de noms (NRPT) uniquement sur le tunnel d’utilisateur.

Le tunnel d’appareil ne prend pas en charge le tunnel forcé. Vous devez le configurer en tant que tunnel fractionné. |

Prerequisites

Vous devez activer l’authentification par certificat d’ordinateur pour les connexions VPN et définir une autorité de certification racine pour l’authentification des connexions VPN entrantes.

$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

Fonctionnalités et exigences du tunnel d’appareil

Configuration du tunnel d’appareil VPN

L’exemple de profil XML ci-dessous fournit de bonnes instructions pour les scénarios où seules les extractions lancées par le client doivent être effectuées via le tunnel de périphérique. Les filtres de trafic sont utilisés pour limiter le tunnel d’appareil au trafic de gestion uniquement. Cette configuration fonctionne bien pour les scénarios de mise à jour de Windows Update, de la stratégie de groupe type et de Microsoft Endpoint Configuration Manager, ainsi que pour les scénarios de connectivité VPN pour la première ouverture de session sans informations d’identification mises en cache ou pour les scénarios de réinitialisation de mot de passe.

Pour les cas de push initiés par le serveur, tels que Windows Remote Management (WinRM), la mise à jour GPUpdate à distance, et les scénarios de mise à jour du Gestionnaire de configuration à distance, vous devez autoriser le trafic entrant sur le tunnel de l'appareil, ce qui empêche l'utilisation des filtres de trafic. Si vous activez les filtres de trafic dans le profil du tunnel d’appareil, ce dernier refuse le trafic entrant. Cette limitation sera supprimée dans les prochaines versions.

Exemple de profil XML du VPN

Voici l’exemple de profil XML du VPN.

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

Selon les besoins de chaque scénario de déploiement particulier, une autre fonctionnalité VPN qui peut être configurée avec le tunnel d’appareil est la détection de réseau approuvé.

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

Déploiement et tests

Vous pouvez configurer des tunnels d’appareil à l’aide d’un script Windows PowerShell et du pont WMI (Windows Management Instrumentation). The Always On VPN device tunnel must be configured in the context of the LOCAL SYSTEM account. To accomplish this, it will be necessary to use PsExec, one of the PsTools included in the Sysinternals suite of utilities.

Pour obtenir des instructions sur le déploiement d'un profil par appareil (.\Device) par rapport à un profil par utilisateur (.\User), consultez Utilisation de scripts PowerShell avec le fournisseur de pont WMI.

Exécutez la commande Windows PowerShell suivante pour vérifier que vous avez correctement déployé un profil d’appareil :

Get-VpnConnection -AllUserConnection

La sortie affiche une liste des profils VPN à l’échelle de l’appareil, qui sont déployés sur l’appareil.

Exemple de script Windows PowerShell

Vous pouvez vous baser sur le script Windows PowerShell suivant afin de créer votre propre script pour la création de profil.

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"

Additional Resources

Vous trouverez ci-dessous des ressources supplémentaires pour faciliter votre déploiement VPN.

Ressources de configuration du client VPN

Voici des ressources de configuration du client VPN.

Ressources de passerelle de serveur d’accès à distance

Voici des ressources sur la passerelle de serveur d’accès à distance.

Important

Lorsque vous utilisez Device Tunnel avec une passerelle MICROSOFT RAS, vous devez configurer le serveur RRAS pour prendre en charge l’authentification par certificat d’ordinateur IKEv2 en activant la méthode d’authentification Autoriser le certificat d’ordinateur pour la méthode d’authentification IKEv2 , comme décrit ici. Once this setting is enabled, it is strongly recommended that the Set-VpnAuthProtocol PowerShell cmdlet, along with the RootCertificateNameToAccept optional parameter, is used to ensure that RRAS IKEv2 connections are only permitted for VPN client certificates that chain to an explicitly defined internal/private Root Certification Authority. Sinon, le magasin des autorités de certification racines de confiance sur le serveur RRAS doit être modifié pour s’assurer qu’il ne contient pas d’autorités de certification publiques, comme abordé ici. Des méthodes similaires peuvent également être envisagées pour d’autres passerelles VPN.