Configurer des connexions coexistantes ExpressRoute et de site à site en utilisant PowerShell
Cet article vous aide à configurer la coexistence de connexions ExpressRoute et VPN de site à site. La possibilité de configurer des connexions VPN de site à site et ExpressRoute présente plusieurs avantages. Vous pouvez configurer une connexion VPN de site à site en tant que chemin de basculement sécurisé pour ExpressRoute, ou utiliser des connexions de site à site pour vous connecter à des sites qui ne sont pas connectés via ExpressRoute. Dans cet article, nous décrirons les étapes de configuration de ces deux scénarios. Cet article s'applique au modèle de déploiement Resource Manager.
La configuration de connexions VPN de site à site et ExpressRoute coexistantes possède plusieurs avantages :
- Vous pouvez configurer une connexion VPN de site à site comme un chemin d’accès de basculement sécurisé pour ExpressRoute.
- Vous pouvez également utiliser des connexions VPN de site à site pour vous connecter à des sites qui ne sont pas connectés via ExpressRoute.
Les étapes de configuration de ces deux scénarios sont décrites dans cet article. Cet article concerne le modèle de déploiement Resource Manager et utilise PowerShell. Vous pouvez également configurer ces scénarios à l’aide du portail Azure, bien que la documentation ne soit pas encore disponible. Vous pouvez commencer par configurer chaque passerelle. En règle générale, vous ne rencontrerez aucun temps d’arrêt lors de l’ajout d’une passerelle ou d’une connexion de passerelle.
Notes
Si vous souhaitez créer une connexion VPN de site à site via une connexion ExpressRoute, consultez Connexion de site à site via le peering Microsoft.
Limites et limitations
- Seule la passerelle VPN basée sur un itinéraire est prise en charge. Vous devez utiliser une passerelle VPN basée sur un itinéraire. Vous pouvez également utiliser une passerelle VPN basée sur un itinéraire avec une connexion VPN configurée pour les « sélecteurs de trafic basés sur des stratégies », comme décrit dans se connecter à plusieurs périphériques VPN basés sur des stratégies.
- Les configurations de passerelle VPN et ExpressRoute coexistantes ne sont pas prises en charge par la référence SKU De base.
- Si vous voulez utiliser le routage de transit entre ExpressRoute et le VPN, la valeur ASN de la passerelle VPN Azure doit être définie sur 65515 et le serveur de routes Azure doit être utilisé. La passerelle VPN Azure prend en charge le protocole de routage BGP. Pour qu’ExpressRoute et Azure VPN fonctionnent ensemble, vous devez conserver la valeur par défaut (65515) du numéro ASN de votre passerelle Azure VPN. Si vous avez précédemment sélectionné un ASN autre que 65515 et que vous changez le paramètre en lui affectant la valeur 65515, vous devez réinitialiser la passerelle VPN pour que le paramètre prenne effet.
- Le sous-réseau de la passerelle doit correspondre à /27 ou à un préfixe plus court, comme /26 ou /25. Sinon, vous recevrez un message d’erreur quand vous ajouterez la passerelle de réseau virtuel ExpressRoute.
Modèles de configuration
Configurer une connexion VPN de site à site comme un chemin d’accès de basculement pour ExpressRoute
Vous pouvez configurer une connexion VPN de site à site en tant que sauvegarde pour votre connexion ExpressRoute. Cette connexion s’applique uniquement aux réseaux virtuels liés au chemin de peering privé Azure. Il n’existe aucune solution de basculement basée sur des réseaux VPN pour les services accessibles via le peering Azure Microsoft. Le circuit ExpressRoute est toujours le lien principal. Si le circuit ExpressRoute échoue, les données circulent via le chemin de connexion VPN de site à site uniquement. Pour éviter un routage asymétrique, la configuration de votre réseau local doit également privilégier le circuit ExpressRoute via la connexion VPN de site à site. Vous pouvez préférer le chemin d’accès ExpressRoute en définissant une préférence locale plus élevée pour les itinéraires recevant ExpressRoute.
Notes
Si le peering Microsoft ExpressRoute est activé, vous pouvez recevoir l’adresse IP publique de votre passerelle Azure VPN sur la connexion ExpressRoute. Pour configurer votre connexion VPN site à site en tant que secours, vous devez configurer votre réseau local afin que la connexion VPN soit routée vers Internet.
Bien que le circuit ExpressRoute soit préférable à la connexion VPN de site à site lorsque les deux itinéraires sont identiques, Azure utilise la correspondance de préfixe la plus longue pour choisir l’itinéraire vers la destination du paquet.
Configurer un réseau VPN de site à site pour se connecter à des sites non connectés via ExpressRoute
Vous pouvez configurer votre réseau pour que certains sites se connectent directement à Azure via des connexions VPN de site à site et d’autres via ExpressRoute.
Sélection des étapes à suivre
Vous avez le choix entre deux ensembles de procédures. La procédure de configuration que vous sélectionnez varie selon que vous disposez déjà d’un réseau virtuel auquel vous connecter ou que vous voulez créer un réseau virtuel.
Je n’ai pas de réseau virtuel et dois en créer un
Cette procédure vous guide dans la création d’un réseau virtuel si vous n’en possédez pas déjà. Elle vous demande d’utiliser le modèle de déploiement Resource Manager et de créer de nouvelles connexions ExpressRoute et VPN de site à site.
J’ai déjà un réseau virtuel répondant au modèle de déploiement Resource Manager.
Vous disposez peut-être déjà d’un réseau virtuel avec une connexion VPN de site à site existante ou une connexion ExpressRoute. Dans ce scénario, si le préfixe de sous-réseau de la passerelle est /28 ou plus long (/29, /30, etc.), vous devez supprimer la passerelle existante. Les étapes de configuration des connexions qui coexistent pour un réseau virtuel existant vous guident tout au long de la suppression de la passerelle puis de la création de connexions ExpressRoute et VPN de site à site.
Si vous supprimez et recréez votre passerelle, vous rencontrez des temps d’arrêt pour vos connexions intersites. Toutefois, vos machines virtuelles et vos services peuvent se connecter via Internet lorsque vous configurez votre passerelle s’ils sont configurés pour cela.
Avant de commencer
Les étapes et les exemples de cet article utilisent les modules Azure PowerShell Az. Pour installer les modules Az en local sur un ordinateur, voir Installer Azure PowerShell. Pour plus d’informations sur le module Az, voir Présentation du nouveau module Azure PowerShell Az. Les cmdlets PowerShell sont fréquemment mises à jour. Si vous n’exécutez pas leur dernière version, les valeurs spécifiées dans les instructions peuvent échouer. Pour rechercher les versions de PowerShell installées sur votre système, utilisez la cmdlet Get-Module -ListAvailable Az
.
Il est possible d’utiliser Azure Cloud Shell pour exécuter la plupart des cmdlets PowerShell et des commandes CLI au lieu d’installer Azure PowerShell ou CLI en local. Azure Cloud Shell est un interpréteur de commandes interactif gratuit qui est configuré pour pouvoir être utilisé avec votre compte et dans lequel les outils Azure communs ont été préinstallés. Pour exécuter le code contenu dans cet article sur Azure Cloud Shell, ouvrez une session Cloud Shell, utilisez le bouton Copier sur un bloc de code pour copier le code, et collez-le dans la session Cloud Shell avec Ctrl+Maj+V sur Windows et Linux, ou avec Cmd+Maj+V sur macOS. Le texte collé ne s’exécute pas automatiquement ; appuyez sur Entrée pour exécuter le code.
Cloud Shell peut être lancé de plusieurs façons :
- Créer un réseau virtuel et des connexions qui coexistent
- Réseau virtuel existant avec une passerelle
Cette procédure vous guide dans la création d’un réseau virtuel et de connexions de site à site et ExpressRoute qui coexistent. Les cmdlets que vous utilisez pour cette configuration peuvent être légèrement différentes de celles que vous connaissez. Utilisez les applets de commande spécifiées dans ces instructions.
Connectez-vous et sélectionnez votre abonnement.
Si vous utilisez Azure Cloud Shell, vous vous connectez à votre compte Azure automatiquement après avoir cliqué sur « Essayer ». Pour vous connecter en local, ouvrez la console PowerShell avec des privilèges élevés et exécutez la cmdlet pour vous connecter.
Connect-AzAccount
Si vous possédez plusieurs abonnements, procurez-vous la liste de vos abonnements Azure.
Get-AzSubscription
Spécifiez l’abonnement à utiliser.
Select-AzSubscription -SubscriptionName "Name of subscription"
Définissez des variables et créez un groupe de ressources.
$location = "Central US" $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location $VNetASN = 65515
Créez un réseau virtuel avec
GatewaySubnet
inclus. Pour en savoir plus sur la création d’un réseau virtuel, consultez Créer un réseau virtuel. Pour en savoir plus sur la création de sous-réseaux virtuels, consultez Créer un sous-réseau virtuel.Important
Le GatewaySubnet doit être défini sur /27 ou un préfixe plus court, comme /26 ou /25.
Créer un réseau virtuel.
$vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
Ajoutez deux sous-réseaux nommés App et GatewaySubnet.
Add-AzVirtualNetworkSubnetConfig -Name "App" -VirtualNetwork $vnet -AddressPrefix "10.200.1.0/24" Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
Enregistrez la configuration du réseau virtuel.
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
Créez ensuite la passerelle VPN de site à site. Pour plus d’informations sur la configuration de la passerelle VPN, consultez la rubrique Configuration d’un réseau virtuel avec une connexion de site à site. La valeur GatewaySku est prise en charge uniquement pour les passerelles VPN VpnGw1, VpnGw2, VpnGw3, Standard et HighPerformance. Les configurations coexistantes de passerelle VPN et ExpressRoute ne sont pas prises en charge par la référence SKU De base. La valeur VpnType doit être RouteBased.
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet $gwIP = New-AzPublicIpAddress -Name "VPNGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "VPNGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
La passerelle VPN Azure prend en charge le protocole de routage BGP. Vous pouvez spécifier l’ASN (ou numéro AS) pour ce réseau virtuel en ajoutant l’indicateur
-Asn
dans la commande suivante. Si vous ne spécifiez pas le paramètreAsn
, la valeur par défaut du numéro AS est 65515.$azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Notes
Pour les passerelles coexistantes, vous devez utiliser la valeur par défaut de l’ASN, 65515. Pour plus d’informations, consultez Limites et limitations.
Vous trouverez l’adresse IP de peering BGP et le numéro AS qu’Azure utilise pour la passerelle VPN en exécutant
$azureVpn.BgpSettings.BgpPeeringAddress
et$azureVpn.BgpSettings.Asn
. Pour plus d’informations, consultez Configurer BGP pour la passerelle VPN Azure.Créez une entité de passerelle VPN de site local. Cette commande ne configure pas votre passerelle VPN locale. Elle vous permet d’indiquer les paramètres de la passerelle locale, par exemple l’adresse IP publique et l’espace d’adressage local afin que la passerelle VPN Azure puisse s’y connecter.
Si votre périphérique VPN local prend uniquement en charge le routage statique, vous pouvez configurer des itinéraires statiques de la façon suivante :
$MyLocalNetworkAddress = @("10.100.0.0/16","10.101.0.0/16","10.102.0.0/16") $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress *<Public IP>* -AddressPrefix $MyLocalNetworkAddress
Si votre périphérique VPN local prend en charge le protocole BGP et que vous souhaitez activer le routage dynamique, vous devez connaître l’IP de peering BGP et le numéro AS de votre périphérique VPN local.
$localVPNPublicIP = "<Public IP>" $localBGPPeeringIP = "<Private IP for the BGP session>" $localBGPASN = "<ASN>" $localAddressPrefix = $localBGPPeeringIP + "/32" $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress $localVPNPublicIP -AddressPrefix $localAddressPrefix -BgpPeeringAddress $localBGPPeeringIP -Asn $localBGPASN
Configurez votre périphérique VPN local à connecter à la nouvelle passerelle VPN Azure. Pour plus d’informations sur la configuration du périphérique VPN, consultez la rubrique Configuration de périphérique VPN.
Liez la passerelle VPN de site à site dans Azure à la passerelle locale.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName New-AzVirtualNetworkGatewayConnection -Name "VPNConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $azureVpn -LocalNetworkGateway2 $localVpn -ConnectionType IPsec -SharedKey <yourkey>
Si vous vous connectez à un circuit ExpressRoute existant, ignorez les étapes 8 et 9 et passez à l’étape 10. Configurez des circuits ExpressRoute. Pour plus d’informations sur la configuration du circuit ExpressRoute, consultez Création d’un circuit ExpressRoute.
Configurez un peering privé Azure via le circuit ExpressRoute. Pour plus d’informations sur la configuration du Peering privé Azure via le circuit ExpressRoute, consultez Configurer le Peering.
Créez une passerelle ExpressRoute. Pour plus d'informations sur la configuration de la passerelle ExpressRoute, consultez la rubrique Configuration de la passerelle ExpressRoute. La valeur de GatewaySKU doit être Standard, HighPerformance, ou UltraPerformance.
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet $gwIP = New-AzPublicIpAddress -Name "ERGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "ERGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id $gw = New-AzVirtualNetworkGateway -Name "ERGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "ExpressRoute" -GatewaySku Standard
Liez la passerelle ExpressRoute au circuit ExpressRoute. Une fois cette étape terminée, la connexion entre votre réseau local et Azure est établie via ExpressRoute. Pour plus d'informations sur l'opération de liaison, voir l'article Liaison de réseaux virtuels à ExpressRoute.
$ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup" New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
Pour ajouter une configuration point à site à la passerelle VPN
Vous pouvez suivre ces étapes pour ajouter une configuration point à site à votre passerelle VPN dans une configuration de coexistence. Pour télécharger le certificat racine du VPN, vous devez installer PowerShell localement sur votre ordinateur ou utiliser le Portail Azure.
Ajoutez le pool d’adresses des clients VPN.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
Téléchargez le certificat racine VPN dans Azure pour votre passerelle VPN. Dans cet exemple, nous supposons que le certificat racine est stocké dans l'ordinateur local où sont exécutées les applets de commande PowerShell suivantes et que vous exécutez PowerShell localement. Vous pouvez également télécharger le certificat à l’aide du Portail Azure.
$p2sCertFullName = "RootErVpnCoexP2S.cer" $p2sCertMatchName = "RootErVpnCoexP2S" $p2sCertToUpload=get-childitem Cert:\CurrentUser\My | Where-Object {$_.Subject -match $p2sCertMatchName} if ($p2sCertToUpload.count -eq 1){write-host "cert found"} else {write-host "cert not found" exit} $p2sCertData = [System.Convert]::ToBase64String($p2sCertToUpload.RawData) Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $p2sCertFullName -VirtualNetworkGatewayname $azureVpn.Name -ResourceGroupName $resgrp.ResourceGroupName -PublicCertData $p2sCertData
Pour plus d’informations sur le réseau VPN point à site, consultez la rubrique Configuration d’une connexion point à site.
Pour activer le routage de transit entre ExpressRoute et Azure VPN
Si vous souhaitez activer la connectivité entre l’un de vos réseaux locaux connecté à ExpressRoute et un autre de vos réseaux locaux connecté à une connexion VPN de site à site, vous devez configurer le serveur de routage Azure.
Étapes suivantes
Pour plus d'informations sur ExpressRoute, consultez la FAQ sur ExpressRoute.