Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce tutoriel vous montre comment créer une connexion VPN Always On sur les appareils clients Windows. Il poursuit la série pour déployer un VPN Always On dans un exemple d’environnement. Précédemment dans la série, vous avez déployé un exemple d’infrastructure et configuré des modèles d’autorité de certification.
Dans ce tutoriel, vous allez :
- Créez et testez une connexion VPN utilisateur manuelle utilisée comme modèle pour la connexion VPN Always On.
- Convertissez la connexion VPN manuelle en connexion VPN Always On à l’aide de PowerShell.
Les connexions VPN Always On peuvent être configurées en tant que tunnel d’appareil ou tunnel utilisateur :
Tunnel d’appareil : se connecte aux serveurs VPN spécifiés avant que les utilisateurs se connectent à l’appareil. Un tunnel d’appareil est utilisé pour les scénarios de connectivité avant la connexion et à des fins de gestion des appareils.
Tunnel utilisateur : se connecte uniquement après qu’un utilisateur se connecte à l’appareil. Un tunnel utilisateur permet aux utilisateurs d’accéder aux ressources de l’organisation via des serveurs VPN.
Pour plus d’informations sur les différences entre le tunnel d’appareil et le tunnel utilisateur, consultez Configurer des tunnels d’appareil VPN dans le client Windows.
Les connexions VPN Always On, qu’il s’agisse d’un tunnel d’appareil ou d’un tunnel utilisateur, sont configurées à l’aide du nœud ProfileXML dans le fournisseur de services de configuration VPNv2 (CSP). Les étapes décrites dans ce tutoriel vous montrent comment configurer un tunnel utilisateur sur un seul appareil client Windows. Vous pouvez utiliser ces étapes pour les petits environnements ou à des fins de test.
Pour les environnements plus volumineux, vous devez utiliser Microsoft Intune ou Microsoft Configuration Manager pour déployer le profil VPN Always On sur les appareils clients Windows. Pour plus d’informations, consultez Déployer un profil VPN Always On sur des clients Windows avec Microsoft Intune et déployer un profil VPN Always On sur des clients Windows avec Microsoft Configuration Manager.
Prérequis
Pour suivre les étapes de ce tutoriel, vous devez disposer des éléments suivants :
Pour effectuer toutes les étapes des didacticiels précédents :
Appareil client Windows à partir du tutoriel précédent avec le certificat utilisateur valide installé pour être utilisé pour tester la connexion VPN.
Créer et tester une connexion VPN utilisateur manuelle
Tout d’abord, vous devez créer une connexion de client VPN pour vérifier que le client de test VPN peut établir une connexion VPN réussie. Cette connexion vous permet également de créer les paramètres EAP (Extensible Authentication Protocol) à utiliser pour la connexion VPN Always On. Pour plus d’informations sur les paramètres EAP, consultez configuration EAP.
Connectez-vous à l’appareil client Windows joint au domaine en tant qu’utilisateur VPN que vous avez créé précédemment dans Créer un utilisateur de test Active Directory.
Dans le menu Démarrer, tapez VPN pour sélectionner Paramètres VPN. Appuyez sur Entrée.
Dans le volet d’informations, sélectionnez Ajouter une connexion VPN.
Pour le fournisseur VPN, sélectionnez Windows (intégré) .
Pour le nom de la connexion, entrez contoso VPN.
Pour le nom ou l’adresse du serveur, entrez le nom de domaine complet externe (FQDN) de votre serveur VPN (par exemple).
vpn.contoso.com
Pour le type de VPN, sélectionnez IKEv2.
Pour le type d’informations de connexion, sélectionnez Certificat.
Sélectionnez Enregistrer.
Sous Paramètres associés, sélectionnez Modifier les options de l’adaptateur.
Cliquez avec le bouton droit sur Contoso VPN, puis sélectionnez Propriétés.
Sous l’onglet Sécurité , pour le chiffrement des données, sélectionnez Chiffrement de puissance maximale.
Sélectionnez Utiliser le protocole EAP (Extensible Authentication Protocol). Ensuite, pour utiliser EAP (Extensible Authentication Protocol), sélectionnez Microsoft : Protected EAP (PEAP) (chiffrement activé).
Sélectionnez Propriétés pour ouvrir les propriétés EAP protégées, puis effectuez les étapes suivantes :
Pour vous connecter à ces serveurs, entrez le nom d’hôte de votre serveur NPS.
Pour les autorités de certification racines approuvées, sélectionnez l’autorité de certification qui a émis le certificat du serveur NPS (par exemple,
contoso-CA
).Pour les notifications avant de vous connecter, sélectionnez Ne pas demander à l’utilisateur d’autoriser de nouveaux serveurs ou des autorités de certification approuvées.
Pour sélectionner la méthode d’authentification, sélectionnez Carte à puce ou autre certificat.
Sélectionnez Configurer.
Sélectionnez Utiliser un certificat sur cet ordinateur.
Pour vous connecter à ces serveurs, entrez le nom d’hôte du serveur NPS.
Sous Autorités de certification racines de confiance, sélectionnez l’autorité de certification qui a émis le certificat du serveur NPS.
Sélectionnez Ne pas inviter l’utilisateur à autoriser de nouveaux serveurs ou autorités de certification approuvées.
Sélectionnez OK pour fermer la carte à puce ou d’autres propriétés de certificat.
Sélectionnez OK pour fermer les propriétés EAP protégées.
Sélectionnez OK pour fermer les propriétés VPN contoso.
Fermez la fenêtre Connexions réseau.
Dans Paramètres, sélectionnez VPN Contoso, puis connectez-vous. La connexion VPN doit être établie avec succès. Vous pouvez vérifier la connexion en vérifiant la fenêtre Connexions réseau . La connexion VPN Contoso doit s’afficher comme connectée. Testez que vous pouvez vous connecter à une ressource de l’autre côté du tunnel VPN, par exemple un partage de fichiers ou un serveur web.
Une fois que vous avez vérifié que la connexion VPN réussit, déconnectez-vous de la connexion VPN.
Important
Assurez-vous que le modèle de connexion VPN à votre serveur VPN est réussi. Cela garantit que les paramètres EAP sont corrects avant de les utiliser dans la section suivante. Vous devez vous connecter au moins une fois avant de continuer ; sinon, le profil ne contient pas toutes les informations nécessaires pour se connecter au VPN.
Convertir la connexion VPN manuelle en connexion VPN Always On
Ensuite, vous convertissez la connexion VPN manuelle en connexion VPN Always On à l’aide d’un script PowerShell.
En tant que même utilisateur sur l’appareil client Windows, ouvrez
Windows PowerShell ISE
en tant qu’administrateur.Copiez et collez le script PowerShell suivant dans la fenêtre de l’éditeur
Windows PowerShell ISE
, puis veillez à modifier les huit valeurs de variables de votre choix.Développez cette section pour afficher le script PowerShell.
# Set the variables for the VPN profile. $domain = 'corp' # Name of the domain. $templateName = 'Contoso VPN' # Name of the test VPN connection you created in the tutorial. $profileName = 'Contoso AlwaysOn VPN' # Name of the profile we are going to create. $servers = 'aov-vpn.contoso.com' # Public or routable IP address or DNS name for the VPN gateway. $dnsSuffix = 'corp.contoso.com' # Specifies one or more commas separated DNS suffixes. $domainName = '.corp.contoso.com' # Used to indicate the namespace to which the policy applies. Contains `.` prefix. $dnsServers = '10.10.0.6' # List of comma-separated DNS Server IP addresses to use for the namespace. $trustedNetwork = 'corp.contoso.com' # Comma-separated string to identify the trusted network. # Get the EAP settings for the current profile called $templateName $connection = Get-VpnConnection -Name $templateName if(!$connection) { $message = "Unable to get $templateName connection profile: $_" Write-Host "$message" exit } $EAPSettings= $connection.EapConfigXmlStream.InnerXml $profileNameEscaped = $profileName -replace ' ', '%20' # Define ProfileXML $profileXML = @(" <VPNProfile> <DnsSuffix>$dnsSuffix</DnsSuffix> <NativeProfile> <Servers>$servers</Servers> <NativeProtocolType>IKEv2</NativeProtocolType> <Authentication> <UserMethod>Eap</UserMethod> <Eap> <Configuration> $EAPSettings </Configuration> </Eap> </Authentication> <RoutingPolicyType>SplitTunnel</RoutingPolicyType> </NativeProfile> <AlwaysOn>true</AlwaysOn> <RememberCredentials>true</RememberCredentials> <TrustedNetworkDetection>$trustedNetwork</TrustedNetworkDetection> <DomainNameInformation> <DomainName>$domainName</DomainName> <DnsServers>$dnsServers</DnsServers> </DomainNameInformation> </VPNProfile> ") # Output the XML for possible use in Intune $profileXML | Out-File -FilePath ($env:USERPROFILE + '\desktop\VPN_Profile.xml') # Escape special characters in the profile (<,>,") $profileXML = $profileXML -replace '<', '<' $profileXML = $profileXML -replace '>', '>' $profileXML = $profileXML -replace '"', '"' # Define WMI-to-CSP Bridge properties $nodeCSPURI = "./Vendor/MSFT/VPNv2" $namespaceName = "root\cimv2\mdm\dmmap" $className = "MDM_VPNv2_01" try { # Determine user SID for VPN profile. $WmiLoggedOnUsers = (Get-WmiObject Win32_LoggedOnUser).Antecedent If($WmiLoggedOnUsers.Count -gt 1) { $WmiLoggedOnUsers = $WmiLoggedOnUsers -match "Domain=""$domain""" } $WmiUserValid = ($WmiLoggedOnUsers | Select-Object -Unique -First 1) -match 'Domain="([^"]+)",Name="([^"]+)"' If(-not $WmiUserValid){ Throw "Returned object is not a valid WMI string" } $UserName = "$($Matches[1])\$($Matches[2])" $ObjUser = New-Object System.Security.Principal.NTAccount($UserName) $Sid = $ObjUser.Translate([System.Security.Principal.SecurityIdentifier]) $SidValue = $Sid.Value $message = "User SID is $SidValue." Write-Host "$message" } catch [Exception] { $message = "Unable to get user SID. $_" Write-Host "$message" exit } try { # Define WMI session. $session = New-CimSession $options = New-Object Microsoft.Management.Infrastructure.Options.CimOperationOptions $options.SetCustomOption("PolicyPlatformContext_PrincipalContext_Type", "PolicyPlatform_UserContext", $false) $options.SetCustomOption("PolicyPlatformContext_PrincipalContext_Id", "$SidValue", $false) } catch { $message = "Unable to create new session for $profileName profile: $_" Write-Host $message exit } try { # Detect and delete previous VPN profile. $deleteInstances = $session.EnumerateInstances($namespaceName, $className, $options) foreach ($deleteInstance in $deleteInstances) { $InstanceId = $deleteInstance.InstanceID if ("$InstanceId" -eq "$profileNameEscaped") { $session.DeleteInstance($namespaceName, $deleteInstance, $options) $message = "Removed $profileName profile $InstanceId" Write-Host "$message" } else { $message = "Ignoring existing VPN profile $InstanceId" Write-Host "$message" } } } catch [Exception] { $message = "Unable to remove existing outdated instance(s) of $profileName profile: $_" Write-Host $message exit } try { # Create the VPN profile. $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, $options) $message = "Created $profileName profile." Write-Host "$message" } catch [Exception] { $message = "Unable to create $profileName profile: $_" Write-Host "$message" exit } $message = "Always On VPN connection created successfully." Write-Host "$message"
Exécutez le script.
Vérifiez que le script a réussi en exécutant la commande suivante dans la fenêtre de l’éditeur
Windows PowerShell ISE
:Get-CimInstance -Namespace root\cimv2\mdm\dmmap -ClassName MDM_VPNv2_01
La sortie doit être similaire à l’exemple suivant (la
ProfileXML
valeur est tronquée pour la lisibilité) :AlwaysOn : True ByPassForLocal : DeviceTunnel : DnsSuffix : corp.contoso.com EdpModeId : InstanceID : Contoso%20AlwaysOn%20VPN LockDown : ParentID : ./Vendor/MSFT/VPNv2 ProfileXML : <VPNProfile>...</VPNProfile> RegisterDNS : RememberCredentials : True TrustedNetworkDetection : corp.contoso.com PSComputerName :
La connexion VPN Always On doit être créée et établie avec succès. Vous pouvez vérifier la connexion en vérifiant la fenêtre Connexions réseau . La connexion VPN Always On Contoso doit s’afficher comme connectée. Testez que vous pouvez vous connecter à une ressource de l’autre côté du tunnel VPN, par exemple un partage de fichiers ou un serveur web.
Contenu connexe
Vous vous connectez maintenant au serveur VPN à l’aide de la connexion VPN Always On, voici quelques ressources supplémentaires pour vous aider à utiliser votre déploiement VPN Always On :
Configurer des tunnels d’appareil VPN dans le client Windows.
Déployer un profil VPN Always On sur des clients Windows avec Microsoft Configuration Manager.
Déployer un profil VPN Always On sur des clients Windows avec Microsoft Intune.
Configurez l’accès conditionnel pour la connectivité VPN à l’aide de l’ID Microsoft Entra.
Pour plus d’informations sur les options de configuration VPN Always On pour le fournisseur de services de configuration (CSP), consultez le fournisseur de services de configuration VPNv2.
Pour résoudre les problèmes liés au VPN Always On, consultez Résoudre les problèmes liés au VPN Always On.