Partager via


Créez une passerelle VPN à l’aide de PowerShell

Cet article vous aide à créer une passerelle VPN Azure à l’aide de PowerShell. Une passerelle VPN permet de créer une connexion VPN à un réseau local. Vous pouvez également utiliser une passerelle VPN pour connecter des réseaux virtuels. Pour plus d’informations sur certains des paramètres de cet article, consultez Créer une passerelle VPN – portail.

Diagramme illustrant un réseau virtuel et une passerelle VPN.

  • Le côté gauche du diagramme illustre le réseau virtuel et la passerelle VPN que vous créez en suivant la procédure décrite dans cet article.
  • Vous pouvez ajouter ultérieurement plusieurs types de connexions, comme indiqué sur le côté droit du diagramme. Vous pouvez par exemple créer des connexions de site à site et de point à site. Pour afficher les différentes architectures de conception que vous pouvez créer, consultez Conception de la passerelle VPN.

Les étapes de cet article permettent de créer un réseau virtuel, un sous-réseau, un sous-réseau de passerelle et une passerelle VPN en mode actif-actif basée sur les routes et redondante interzone (passerelle de réseau virtuel) avec la référence SKU VpnGw2AZ de génération 2. Une fois la passerelle créée, vous pouvez configurer des connexions.

Remarque

Les étapes décrites dans cet article utilisent la référence SKU de passerelle VpnGw2AZ, qui prend en charge les zones de disponibilité Azure. Si les zones de disponibilité ne sont pas prises en charge dans votre région, utilisez plutôt une référence SKU non AZ. Pour plus d’informations sur les références SKU, consultez À propos des références SKU de passerelle.

Avant de commencer

Ces étapes nécessitent un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Cet article utilise des cmdlets PowerShell. Pour exécuter les cmdlets, vous pouvez utiliser Azure Cloud Shell. Cloud Shell est un interpréteur de commandes interactif et gratuit, que vous pouvez utiliser pour suivre les étapes mentionnées dans cet article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Pour ouvrir Cloud Shell, il vous suffit de sélectionner Ouvrir Cloud Shell dans le coin supérieur droit d’un bloc de code. Vous pouvez également ouvrir Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/powershell. Sélectionnez Copier pour copier les blocs de code, collez ceux-ci dans Cloud Shell, puis sélectionnez Entrée pour les exécuter.

Vous pouvez également installer et exécuter des cmdlets Azure PowerShell en local sur votre ordinateur. Les cmdlets PowerShell sont fréquemment mises à jour. Si vous n'avez pas installé la dernière version, les valeurs spécifiées dans les instructions peuvent échouer. Pour rechercher les versions d’Azure PowerShell installées sur votre ordinateur, utilisez la cmdlet Get-Module -ListAvailable Az. Pour installer ou mettre à jour les cmdlets, consultez Installer le module Azure PowerShell.

Créer un groupe de ressources

Créez un groupe de ressources Azure avec la commande New-AzResourceGroup. Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Si vous exécutez PowerShell localement, ouvrez votre console PowerShell avec des privilèges élevés et connectez-vous à Azure à l’aide de la commande Connect-AzAccount.

New-AzResourceGroup -Name TestRG1 -Location EastUS

Créez un réseau virtuel

Si vous n'avez pas de réseau virtuel, créez-en un avec New-AzVirtualNetwork. Lorsque vous créez un réseau virtuel, vérifiez que les espaces d’adressage que vous spécifiez ne chevauchent pas les espaces d’adressage de votre réseau local. Si une plage d’adresses en double existe des deux côtés de la connexion VPN, le trafic n’est pas acheminé comme vous l’aviez peut-être prévu. De plus, si vous souhaitez connecter ce réseau à un autre réseau virtuel, l’espace d’adressage ne peut pas chevaucher celui de l’autre réseau virtuel. Veillez à planifier votre configuration réseau en conséquence.

L’exemple suivant crée un réseau virtuel nommé VNet1 à l’emplacement EastUS :

$virtualnetwork = New-AzVirtualNetwork `
  -ResourceGroupName TestRG1 `
  -Location EastUS `
  -Name VNet1 `
  -AddressPrefix 10.1.0.0/16

Créez une configuration de sous-réseau à l'aide de la cmdlet New-AzVirtualNetworkSubnetConfig. Le sous-réseau FrontEnd n’est pas utilisé dans cet exercice. Vous pouvez substituer le nom de votre propre sous-réseau.

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name FrontEnd `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualnetwork

Définissez la configuration de sous-réseau pour le réseau virtuel à l'aide de la cmdlet Set-AzVirtualNetwork.

$virtualnetwork | Set-AzVirtualNetwork

Ajouter un sous-réseau de passerelle

Les ressources de la passerelle de réseau virtuel sont déployées sur un sous-réseau spécifique nommé GatewaySubnet. Le sous-réseau de passerelle fait partie de la plage d’adresses IP du réseau virtuel que vous spécifiez quand vous configurez votre réseau virtuel.

Si vous n’avez pas de sous-réseau nommé GatewaySubnet, vous ne pourrez pas créer votre passerelle VPN. Nous vous recommandons de créer un sous-réseau de passerelle qui utilise /27 (ou supérieur). Par exemple, /27 ou /26. Pour plus d’informations, consultez Paramètres de passerelle VPN – Sous-réseau de passerelle.

Important

Les groupes de sécurité réseau (NSG) sur le sous-réseau de passerelle ne sont pas pris en charge. Associer un groupe de sécurité réseau à ce sous-réseau peut empêcher votre passerelle de réseau virtuel (passerelles VPN et ExpressRoute) de fonctionner comme prévu. Pour plus d’informations sur les groupes de sécurité réseau, consultez Présentation du groupe de sécurité réseau

Définissez une variable pour votre réseau virtuel.

$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1

Créez le sous-réseau de passerelle à l'aide de la cmdlet Add-AzVirtualNetworkSubnetConfig.

Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet

Définissez la configuration de sous-réseau pour le réseau virtuel à l'aide de la cmdlet Set-AzVirtualNetwork.

$vnet | Set-AzVirtualNetwork

Demander des adresses IP publiques

Une passerelle VPN doit avoir une adresse IP publique. Lorsque vous créez une connexion à une passerelle VPN, il s’agit de l’adresse IP que vous spécifiez. Pour les passerelles en mode actif-actif, chaque instance de passerelle a sa propre ressource d’adresse IP publique. Vous commencez par demander la ressource d’adresse IP, puis vous y faites référence lors de la création de votre passerelle de réseau virtuel. De plus, pour toute référence SKU de passerelle se terminant par AZ, vous devez également spécifier le paramètre Zone. Cet exemple spécifie une configuration redondante interzone, car celle-ci spécifie les trois zones régionales.

L’adresse IP est affectée à la ressource lors de la création de la passerelle VPN. L’adresse IP publique change uniquement lorsque la passerelle est supprimée, puis recréée. Elle n’est pas modifiée lors du redimensionnement, de la réinitialisation ou des autres opérations de maintenance/mise à niveau internes de votre passerelle VPN.

Utilisez les exemples suivants pour demander une adresse IP publique statique pour chaque instance de passerelle.

$gw1pip1 = New-AzPublicIpAddress -Name "VNet1GWpip1" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3

Pour créer une passerelle active-active (recommandé), demandez une deuxième adresse IP publique :

$gw1pip2 = New-AzPublicIpAddress -Name "VNet1GWpip2" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3

Créer la configuration de l’adresse IP de la passerelle

La configuration de la passerelle définit le sous-réseau et l’adresse IP publique à utiliser. Utilisez l’exemple suivant pour créer la configuration de votre passerelle.

$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet

$gwipconfig1 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip1.Id
$gwipconfig2 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig2 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip2.Id

Créer la passerelle VPN

La création d’une passerelle nécessite généralement au moins 45 minutes, selon la référence SKU de passerelle sélectionnée. Une fois la passerelle créée, vous pouvez établir une connexion entre votre réseau virtuel et votre emplacement local. Ou établir une connexion entre votre réseau virtuel et un autre réseau virtuel.

Créez une passerelle VPN à l'aide de la cmdlet New-AzVirtualNetworkGateway. Notez que dans les exemples, les deux adresses IP publiques sont référencées et que la passerelle est configurée comme active-active avec le commutateur EnableActiveActiveFeature. Dans l’exemple, nous ajoutons le commutateur facultatif -Debug. Si vous souhaitez créer une passerelle à l’aide d’une autre référence SKU, consultez À propos des références SKU de passerelle pour déterminer la référence SKU qui convient le mieux à vos besoins de configuration.

New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig1,$gwipconfig2 -GatewayType "Vpn" -VpnType RouteBased `
-GatewaySku VpnGw2AZ -VpnGatewayGeneration Generation2 -EnableActiveActiveFeature -Debug

Afficher la passerelle VPN

Vous pouvez consulter la passerelle VPN à l'aide de la cmdlet Get-AzVirtualNetworkGateway.

Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1

Afficher les adresses IP de la passerelle

Chaque instance de passerelle VPN reçoit une ressource d’adresse IP publique. Pour afficher l’adresse IP associée à la ressource, utilisez la cmdlet Get-AzPublicIpAddress. Répétez cette opération pour chaque instance de passerelle. Les passerelles en mode actif-actif ont une adresse IP publique différente attribuée à chaque instance.

Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1

Nettoyer les ressources

Lorsque vous n'avez plus besoin des ressources que vous avez créées, utilisez la commande Remove-AzResourceGroup pour supprimer le groupe de ressources. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés.

Remove-AzResourceGroup -Name TestRG1

Étapes suivantes

Une fois la passerelle créée, vous pouvez configurer des connexions.