Partage via


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 configuration des deux connexions présente plusieurs avantages :

  • Vous pouvez configurer un VPN site à site en tant que 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 le routage avec une connexion VPN configurée pour les « sélecteurs de trafic basés sur des stratégies », comme indiqué 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 l’IP publique de référence SKU Essentiel.
  • 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 passerelle doit avoir le préfixe /27 ou un préfixe plus court, par exemple /26 ou /25, sinon vous recevez un message d’erreur quand vous ajoutez la passerelle réseau virtuelle 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 configuration s’applique uniquement aux réseaux virtuels liés au chemin d’accès 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 représente toujours la liaison principale, et les données transitent via le chemin d’accès VPN site à site uniquement en cas de défaillance du circuit ExpressRoute. Pour éviter le routage asymétrique, configurez votre réseau local afin de privilégier le circuit ExpressRoute au VPN site à site en définissant une préférence locale plus élevée pour les routes reçues via ExpressRoute.

Remarque

  • 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 sauvegarde, configurez 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.

Diagramme montrant une connexion VPN site à site en tant que sauvegarde pour ExpressRoute.

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 un VPN site à site, tandis que d’autres se connectent via ExpressRoute.

Coexister

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’un réseau virtuel existant, ou que vous êtes amené à en créer un autre.

  • Je n’ai pas de réseau virtuel, et je dois en créer un.

    Si vous n’avez pas encore de réseau virtuel, cette procédure vous guide dans la création d’un réseau virtuel à l’aide du modèle de déploiement Resource Manager ainsi que dans la création de connexions ExpressRoute et de connexions VPN site à site.

  • Je dispose déjà d’un réseau virtuel basé sur le modèle de déploiement Resource Manager.

    Si vous disposez déjà d’un réseau virtuel avec une connexion VPN site à site ou une connexion ExpressRoute, et si le préfixe de sous-réseau de passerelle est /28 ou plus (/29, /30, etc.), vous devez supprimer la passerelle existante. Les étapes de configuration des connexions coexistantes pour une section de réseau virtuel existante vous guident dans la suppression de la passerelle, puis dans la création de connexions ExpressRoute et de connexions VPN site à site.

    La suppression et la recréation de votre passerelle entraînent un temps d’arrêt pour vos connexions intersites. Toutefois, vos machines virtuelles et vos services peuvent se connecter via Internet pendant que vous configurez votre passerelle, s’ils sont configurés pour le faire.

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 :

Option Lien
Cliquez sur Essayer dans le coin supérieur droit d’un bloc de code. Cloud Shell dans cet article
Ouvrez Cloud Shell dans votre navigateur. https://shell.azure.com/powershell
Cliquez sur le bouton Cloud Shell du menu situé dans l’angle supérieur droit de la fenêtre du portail Azure. Cloud Shell dans le portail

Cette procédure vous guide tout au long de la création d’un réseau virtuel, et de la configuration des connexions ExpressRoute et VPN site à site coexistantes. Les cmdlets utilisées dans cette configuration peuvent différer des cmdlets qui vous sont familières. Veillez donc à utiliser les cmdlets spécifiées.

  1. 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"
    
  2. Définissez des variables, et créez un groupe de ressources.

    $location = "Central US"
    $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location
    $VNetASN = 65515
    
  3. 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 plus d’informations sur la création de sous-réseaux, consultez Créer un sous-réseau.

    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
    
  4. Créez votre passerelle VPN site à site. Pour plus d’informations sur la configuration de la passerelle VPN, consultez Configurer un réseau virtuel avec une connexion de site à site. GatewaySku est pris en charge 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 (numéro AS) du réseau virtuel en ajoutant l’indicateur -Asn dans la commande suivante. Si vous ne spécifiez pas le paramètre Asn, 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"
    

    Remarque

    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.

  5. Créez une entité de passerelle VPN de site local. Cette commande ne configure pas votre passerelle VPN locale. À la place, cela vous permet de fournir les paramètres de la passerelle locale, par exemple l’IP publique et l’espace d’adressage local, pour permettre à la passerelle VPN Azure de s’y connecter.

    Si votre périphérique VPN local prend uniquement en charge le routage statique, configurez les routes statiques comme suit :

    $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 si 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
    
  6. 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.

  7. 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>"
    
  8. Si vous vous connectez à un circuit ExpressRoute existant, ignorez les étapes 8 et 9, puis passez à l’étape 10. Configurez des circuits ExpressRoute. Pour plus d’informations sur la configuration des circuits ExpressRoute, consultez Créer un circuit ExpressRoute.

  9. Configurez un peering privé Azure via le circuit ExpressRoute. Pour plus d’informations sur la configuration du Peering privé Azure sur le circuit ExpressRoute, consultez Configurer le Peering.

  10. 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
  1. Liez la passerelle ExpressRoute au circuit ExpressRoute. Une fois que vous avez effectué cette étape, 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