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.

Diagramme montrant une connexion VPN de 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 des connexions VPN de site à site et d’autres 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é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 :

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 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.

  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 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
    
  4. 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è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"
    

    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.

  5. 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
    
  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 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.

  9. 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.

  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
    
  11. 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.

  1. 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"
    
  2. 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.