Exercice - Créer une passerelle VPN Azure
Vous souhaitez vous assurer de pouvoir connecter des clients ou des sites au sein de votre environnement dans Azure à l’aide de tunnels chiffrés via l’Internet public. Dans cette unité, vous allez créer une passerelle VPN de point à site, puis vous allez vous connecter à cette passerelle à partir de votre ordinateur client. Vous allez utiliser des connexions d’authentification par certificat Azure natif pour la sécurité.
Vous allez effectuer le processus suivant :
Créez une passerelle VPN RouteBased.
Téléchargez la clé publique d’un certificat racine à des fins d’authentification.
Générez un certificat client à partir du certificat racine, puis installez le certificat client sur chaque ordinateur client qui se connectera au réseau virtuel à des fins d’authentification.
Créez les fichiers config du client VPN, qui contiennent les informations nécessaires au client pour se connecter au réseau virtuel.
Installation
Pour effectuer ce module, utilisez Azure PowerShell à partir de votre ordinateur Windows 10 local.
Ouvrez une nouvelle session PowerShell sur votre ordinateur Windows 10 local où vous avez installé le module Azure PowerShell.
Connectez-vous à Azure en exécutant l’applet de commande PowerShell
Connect-AzAccount
.Configurez les variables à utiliser pour créer un réseau virtuel. Copiez et collez les variables suivantes dans PowerShell.
$VNetName = "VNetData"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "192.168.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "192.168.1.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "192.168.200.0/26"
$VPNClientAddressPool = "172.16.201.0/24"
$ResourceGroup = "VpnGatewayDemo"
$Location = "East US"
$GWName = "VNetDataGW"
$GWIPName = "VNetDataGWPIP"
$GWIPconfName = "gwipconf"
Configurer un réseau virtuel
Exécutez la commande suivante pour créer un groupe de ressources.
New-AzResourceGroup -Name $ResourceGroup -Location $Location
Exécutez la commande suivante pour créer des configurations de sous-réseau pour le réseau virtuel. Ces configurations s’appellent FrontEnd, BackEnd et GatewaySubnet. Tous ces sous-réseaux existent dans le préfixe de réseau virtuel.
$fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
Ensuite, exécutez la commande suivante pour créer le réseau virtuel en utilisant les valeurs de sous-réseau et un serveur DNS statique.
New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
À présent, spécifiez les variables du réseau que vous venez de créer.
$vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
Exécutez la commande suivante pour demander une adresse IP publique attribuée dynamiquement.
$pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Dynamic $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
Créer la passerelle VPN
Lorsque vous créez cette passerelle VPN :
- GatewayType doit avoir la valeur Vpn
- VpnType doit avoir la valeur RouteBased
Cette partie de l’exercice peut prendre jusqu’à 45 minutes.
Pour créer la passerelle VPN, exécutez la commande suivante et appuyez sur Entrée.
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup ` -Location $Location -IpConfigurations $ipconf -GatewayType Vpn ` -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
Attendez que la sortie de commande apparaisse.
Ajouter le pool d’adresses du client VPN
Exécutez la commande suivante pour ajouter le pool d’adresses du client VPN.
$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
Attendez que la sortie de commande apparaisse.
Générer un certificat client
L’infrastructure réseau étant créée sur Azure, nous devons créer un certificat client auto-signé sur notre machine locale. Cette opération de création peut être effectuée de la même façon sur la plupart des systèmes d’exploitation, mais nous allons voir comment générer votre certificat client sur Windows 10 en utilisant PowerShell avec le module Azure PowerShell et l’utilitaire Windows Gestionnaire de certificats.
La première étape consiste à créer le certificat racine auto-signé. Exécutez la commande ci-dessous.
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature ` -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
Ensuite, générez un certificat client signé par votre nouveau certificat racine.
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature ` -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" ` -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
Exporter la clé publique de certificat
Nos certificats étant générés, nous devons exporter la clé publique de notre certificat racine.
Exécutez
certmgr
à partir de PowerShell pour ouvrir le Gestionnaire de certificats.Accédez à Personnel>Certificats.
Cliquez avec le bouton droit sur le certificat P2SRootCert dans la liste et sélectionnez Toutes les tâches>Exporter.
Dans l’Assistant Exportation du certificat, sélectionnez Suivant.
Assurez-vous que l’option Non, ne pas exporter la clé privée est sélectionnée, puis choisissez Suivant.
Dans la page Format de fichier d’exportation, vérifiez que l’option X.509 encodé en base 64 (.CER) est sélectionnée, puis choisissez Suivant.
Dans la page Fichier à exporter, sous Nom de fichier, accédez à un emplacement dont vous vous souviendrez et enregistrez le fichier sous P2SRootCert.cer, puis sélectionnez Suivant.
Dans la page Fin de l’Assistant Exportation du certificat, sélectionnez Terminer.
Dans la boîte de message Assistant Exportation du certificat, sélectionnez OK.
Charger les informations de clé publique du certificat racine
Dans la fenêtre PowerShell, exécutez la commande suivante afin de déclarer une variable pour le nom de certificat.
$P2SRootCertName = "P2SRootCert.cer"
Remplacez l’espace réservé
<cert-path>
par l’emplacement d’exportation de votre certificat racine et exécutez la commande suivante.$filePathForCert = "<cert-path>\P2SRootCert.cer" $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert) $CertBase64 = [system.convert]::ToBase64String($cert.RawData) $p2srootcert = New-AzVpnClientRootCertificate -Name $P2SRootCertName -PublicCertData $CertBase64
Le nom du groupe étant défini, chargez le certificat dans Azure à l’aide de la commande suivante.
Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname $GWName -ResourceGroupName $ResourceGroup -PublicCertData $CertBase64
Azure reconnaîtra désormais ce certificat comme certificat racine approuvé pour notre réseau virtuel.
Configurer le client VPN natif
Exécutez la commande suivante pour créer les fichiers de configuration de client VPN au format .ZIP.
$profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls" $profile.VPNProfileSASUrl
Copiez l’URL retournée dans la sortie de cette commande et collez-la dans votre navigateur. Votre navigateur doit commencer le téléchargement d’un fichier .ZIP. Extrayez le contenu de l’archive et placez-le à un emplacement approprié.
Certains navigateurs tenteront initialement de bloquer le téléchargement de ce fichier ZIP sous prétexte qu’il s’agit d’un téléchargement dangereux. Vous devrez ignorer cet avertissement dans votre navigateur afin de pouvoir extraire le contenu de l’archive.
Dans le dossier extrait, accédez au dossier WindowsAmd64 (pour les ordinateurs Windows 64 bits) ou au dossier WindowsX86 (pour les ordinateurs 32 bits).
Si vous souhaitez configurer un VPN sur un ordinateur non Windows, vous pouvez utiliser le certificat et les fichiers de paramètres du dossier Generic.
Double-cliquez sur le fichier VpnClientSetup{architecture}.exe,
{architecture}
reflétant votre architecture.Dans l’écran Windows a protégé votre PC, sélectionnez Plus d’informations, puis Exécuter quand même.
Dans la boîte de dialogue Contrôle de compte d’utilisateur, sélectionnez Oui.
Dans la boîte de dialogue VNetData, sélectionnez Oui.
Se connecter à Azure
Appuyez sur la touche Windows, entrez Paramètres et appuyez sur Entrée.
Dans la fenêtre Paramètres, sélectionnez Réseau et Internet.
Dans le volet à gauche, sélectionnez VPN.
Dans le volet à droite, sélectionnez VNetData, puis Se connecter.
Dans la fenêtre VNetData, sélectionnez Se connecter.
Dans la fenêtre VNetData suivante, sélectionnez Continuer.
Dans la boîte de message Contrôle de compte d’utilisateur, sélectionnez Oui.
Si ces étapes ne fonctionnent pas, vous devrez peut-être redémarrer votre ordinateur.
Vérifier votre connexion
À une nouvelle invite de commandes Windows, exécutez
IPCONFIG /ALL
.Copiez l’adresse IP sous l’adaptateur PPP VNetData, ou notez-la.
Vérifiez que l’adresse IP est dans le plage VPNClientAddressPool de 172.16.201.0/24.
Vous avez réussi à établir une connexion à la passerelle VPN Azure.
Vous venez de configurer une passerelle VPN, ce qui vous permet d’établir une connexion cliente chiffrée à un réseau virtuel dans Azure. Cette approche convient parfaitement aux ordinateurs clients et aux connexions de site à site plus petites.