Comment configurer le protocole BGP pour une passerelle VPN Azure : CLI

Cet article vous aide à activer BGP sur les connexions VPN de site à site (S2S) intersite et les connexions de réseau virtuel à réseau virtuel à l’aide d’Azure CLI. Vous pouvez également créer cette configuration à l’aide du portail Azure ou de PowerShell.

BGP est le protocole de routage standard couramment utilisé sur Internet pour échanger des informations de routage et d’accessibilité entre plusieurs réseaux. Il permet aux passerelles VPN Azure et à vos périphériques VPN locaux (appelés voisins ou homologues BGP) d’échanger des « itinéraires » informant les deux passerelles sur la disponibilité et l’accessibilité de ces préfixes à travers les passerelles ou routeurs impliqués. Le protocole BGP assure également le routage de transit entre plusieurs réseaux en propageant les itinéraires qu’une passerelle BGP obtient d’un homologue BGP à tous les autres homologues BGP.

Pour plus d’informations sur les avantages du protocole BGP et pour comprendre les exigences techniques et considérations d’utilisation du protocole BGP, consultez À propos du protocole BGP et des passerelles VPN Azure.

Chaque partie de cet article vous aide à constituer un bloc de construction pour activer le protocole BGP dans votre connectivité réseau. Si vous effectuez les trois parties (configurer le protocole BGP sur la passerelle, la connexion de site à site et la connexion de réseau virtuel à réseau virtuel), vous obtenez la topologie indiquée dans le diagramme 1.

Schéma 1

Schéma montrant l’architecture et les paramètres réseau.

Vous pouvez les combiner pour créer un réseau de transit plus complexe, à plusieurs tronçons, qui répond à vos besoins.

Prérequis

Activer BGP pour la passerelle VPN

Cette partie est obligatoire avant d’effectuer des étapes des autres sections de configuration. Les étapes suivantes configurent les paramètres BGP de la passerelle VPN Azure comme indiqué dans le diagramme 2.

Schéma 2 :

Schéma montrant les paramètres de la passerelle de réseau virtuel.

Créer et configurer TestVNet1

1. Créer un groupe de ressources

L’exemple suivant crée un groupe de ressources nommé TestRG1 à l’emplacement « eastus ». Si vous disposez déjà d’un groupe de ressources dans la région où vous souhaitez créer votre réseau virtuel, vous pouvez l’utiliser à la place de l’exemple donné.

az group create --name TestRG1 --location eastus

2. Créer TestVNet1

L’exemple suivant crée un réseau virtuel nommé TestVNet1 et trois sous-réseaux : GatewaySubnet, FrontEnd et BackEnd. Lorsque vous remplacez les valeurs, pensez à toujours nommer votre sous-réseau de passerelle GatewaySubnet. Si vous le nommez autrement, la création de votre passerelle échoue.

La première commande crée l’espace d’adressage de serveur frontal et le sous-réseau frontal. La deuxième commande crée un espace d’adressage supplémentaire pour le sous-réseau principal. Les troisième et quatrième commandes créent le sous-réseau principal et GatewaySubnet.

az network vnet create -n TestVNet1 -g TestRG1 --address-prefix 10.11.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.11.0.0/24
az network vnet update -n TestVNet1 --address-prefixes 10.11.0.0/16 10.12.0.0/16 -g TestRG1
 
az network vnet subnet create --vnet-name TestVNet1 -n BackEnd -g TestRG1 --address-prefix 10.12.0.0/24
 
az network vnet subnet create --vnet-name TestVNet1 -n GatewaySubnet -g TestRG1 --address-prefix 10.12.255.0/27

créer la passerelle VPN de TestVNet1 avec les paramètres BGP

1. Créer une adresse IP publique

Demandez une adresse IP publique L’adresse IP publique sera affectée à la passerelle VPN que vous créez pour votre réseau virtuel.

az network public-ip create -n GWPubIP -g TestRG1 --allocation-method Dynamic 

2. Créer la passerelle VPN avec le numéro AS

Créez la passerelle de réseau virtuel pour TestVNet1. BGP requiert l’utilisation d’une passerelle VPN basée sur un itinéraire. Vous avez également besoin du paramètre supplémentaire -Asn pour définir le numéro de système autonome (NSA) de TestVNet1. 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.

Si vous exécutez cette commande à l’aide du paramètre --no-wait, vous ne voyez aucun commentaire ni sortie. Le paramètre --no-wait permet à la passerelle d’être créée à l’arrière-plan. Cela ne signifie pas que la passerelle VPN est immédiatement créée.

az network vnet-gateway create -n VNet1GW -l eastus --public-ip-address GWPubIP -g TestRG1 --vnet TestVNet1 --gateway-type Vpn --sku HighPerformance --vpn-type RouteBased --asn 65010 --no-wait

Une fois la passerelle créée, vous pouvez l’utiliser pour établir une connexion intersite ou de réseau virtuel à réseau virtuel avec BGP.

3. Obtenir l’adresse IP de l’homologue BGP Azure

Une fois la passerelle créée, vous devez obtenir l’adresse IP de l’homologue BGP sur la passerelle VPN Azure. Cette adresse est nécessaire pour configurer la passerelle VPN comme un homologue BGP pour vos périphériques VPN locaux.

Exécutez la commande suivante.

az network vnet-gateway list -g TestRG1

Notez la section bgpSettings en haut de la sortie. Vous l’utiliserez plus tard.

"bgpSettings": { 
      "asn": 65010, 
      "bgpPeeringAddress": "10.12.255.30", 
      "peerWeight": 0 
    }

Si vous ne voyez pas la BgpPeeringAddress affichée en tant qu’adresse IP, votre passerelle est toujours en cours de configuration. Réessayez une fois la passerelle terminée.

Établir une connexion intersite avec BGP

Pour établir une connexion intersite, vous devez créer une passerelle de réseau local pour représenter votre périphérique VPN local. Ensuite, vous connectez la passerelle VPN Azure à la passerelle de réseau local. Alors que ces étapes sont semblables à la création d’autres connexions, ils incluent les propriétés supplémentaires nécessaires pour spécifier les paramètres de configuration BGP, comme montré dans le diagramme 3.

Schéma 3

Diagramme montrant la configuration IPsec.

créer et configurer la passerelle de réseau local

Cet exercice continue à générer la configuration représentée dans le diagramme. Veillez à remplacer les valeurs par celles que vous souhaitez utiliser pour votre configuration. Lorsque vous travaillez avec des passerelles de réseau local, gardez à l’esprit ce qui suit :

  • La passerelle de réseau local peut se trouver dans les mêmes emplacement et groupe de ressources que la passerelle VPN, ou son emplacement et son groupe de ressources peuvent être différents. Cet exemple montre les passerelles dans différents groupes de ressources situés dans différents emplacements.
  • Le préfixe minimum à déclarer pour la passerelle de réseau local est l’adresse IP hôte de votre homologue BGP sur votre périphérique VPN. Dans ce cas, c’est un préfixe /32 de 10.51.255.254/32.
  • À titre de rappel, vous devez utiliser différents numéros de système autonome BGP entre vos réseaux locaux et le réseau virtuel Azure. S’ils sont identiques, vous devez modifier l’ASN de votre réseau si votre périphérique VPN local utilise déjà cet ASN pour se connecter à d’autres voisins BGP.

Avant de continuer, assurez-vous d’avoir terminé la section Activer BGP pour la passerelle VPN de cet exercice. Notez que dans cet exemple, vous créez un nouveau groupe de ressources. Remarquez également les deux paramètres supplémentaires pour la passerelle de réseau local : Asn et BgpPeerAddress.

az group create -n TestRG5 -l westus 
 
az network local-gateway create --gateway-ip-address 23.99.221.164 -n Site5 -g TestRG5 --local-address-prefixes 10.51.255.254/32 --asn 65050 --bgp-peering-address 10.51.255.254

connecter la passerelle de réseau virtuel et la passerelle de réseau local

Dans cette étape, vous allez créer la connexion entre TestVNet1 et Site5. Vous devez spécifier le paramètre --enable-bgp pour activer BGP sur cette connexion.

Dans cet exemple, la passerelle de réseau virtuel et la passerelle de réseau local se trouvent dans des groupes de ressources différents. Lorsque les passerelles se trouvent dans différents groupes de ressources, vous devez spécifier l’ID de ressource complet des deux passerelles pour configurer une connexion entre les réseaux virtuels.

1. Obtenir l’ID de ressource de VNet1GW

Obtenez l’ID de ressource de VNet1GW à partir de la sortie de la commande suivante :

az network vnet-gateway show -n VNet1GW -g TestRG1

Dans la sortie, recherchez la ligne "id":. Vous avez besoin des valeurs entre guillemets pour créer la connexion dans la section suivante.

Exemple de sortie :

{ 
  "activeActive": false, 
  "bgpSettings": { 
    "asn": 65010, 
    "bgpPeeringAddress": "10.12.255.30", 
    "peerWeight": 0 
  }, 
  "enableBgp": true, 
  "etag": "W/\"<your etag number>\"", 
  "gatewayDefaultSite": null, 
  "gatewayType": "Vpn", 
  "id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW",

Copiez ces valeurs après "id": dans un éditeur de texte, tel que Bloc-notes, pour pouvoir les coller facilement lors de la création de la connexion.

"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW"

2. Obtenir l’ID de ressource de Site5

Obtenez l’ID de ressource de Site5 à partir de la sortie de la commande suivante :

az network local-gateway show -n Site5 -g TestRG5

3. Créer la connexion entre TestVNet1 et Site5

Dans cette étape, vous allez créer la connexion entre TestVNet1 et Site5. Comme nous l’avons vu, il est possible d’avoir des connexions BGP et non BGP sur la même passerelle VPN Azure. À moins que BGP ne soit activé dans la propriété de connexion, Azure n’active pas BGP sur cette connexion même si les paramètres BGP sont déjà configurés sur les deux passerelles. Remplacez les ID d’abonnement par les vôtres.

az network vpn-connection create -n VNet1ToSite5 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --local-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG5/providers/Microsoft.Network/localNetworkGateways/Site5

Configuration d’appareil local

L’exemple ci-dessous répertorie les paramètres que vous devez saisir dans la section de configuration de BGP de votre périphérique VPN local pour cet exercice :

- Site5 ASN            : 65050
- Site5 BGP IP         : 10.51.255.254
- Prefixes to announce : (for example) 10.51.0.0/16
- Azure VNet ASN       : 65010
- Azure VNet BGP IP    : 10.12.255.30
- Static route         : Add a route for 10.12.255.30/32, with nexthop being the VPN tunnel interface on your device
- eBGP Multihop        : Ensure the "multihop" option for eBGP is enabled on your device if needed

Après quelques minutes, la connexion doit être établie. La session de peering BGP démarre une fois la connexion IPsec établie.

Établir une connexion de réseau virtuel à réseau virtuel avec BGP

Cette section ajoute une connexion de réseau virtuel à réseau virtuel avec le protocole BGP, comme illustré dans le diagramme 4.

Schéma 4

Diagramme montrant la configuration réseau complète.

Les instructions suivantes sont la suite des étapes des précédentes sections. Pour créer et configurer TestVNet1 et la passerelle VPN avec le protocole BGP, vous devez terminer la section Activer BGP pour la passerelle VPN.

créer TestVNet2 et la passerelle VPN

Il est important de s’assurer que l’espace d’adressage IP du nouveau réseau virtuel, TestVNet2, n’empiète sur aucune de vos plages de réseau virtuel.

Dans cet exemple, les réseaux virtuels appartiennent au même abonnement. Vous pouvez configurer les connexions de réseau virtuel à réseau virtuel entre différents abonnements. Pour en savoir plus, consultez Configurer une connexion de réseau virtuel à réseau virtuel. Assurez-vous d’ajouter -EnableBgp $True lors de la création des connexions pour activer BGP.

1. Création d’un groupe de ressources

az group create -n TestRG2 -l eastus

2. Créer TestVNet2 dans le nouveau groupe de ressources

La première commande crée l’espace d’adressage de serveur frontal et le sous-réseau frontal. La deuxième commande crée un espace d’adressage supplémentaire pour le sous-réseau principal. Les troisième et quatrième commandes créent le sous-réseau principal et GatewaySubnet.

az network vnet create -n TestVNet2 -g TestRG2 --address-prefix 10.21.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.21.0.0/24
az network vnet update -n TestVNet2 --address-prefixes 10.21.0.0/16 10.22.0.0/16 -g TestRG2
 
az network vnet subnet create --vnet-name TestVNet2 -n BackEnd -g TestRG2 --address-prefix 10.22.0.0/24
 
az network vnet subnet create --vnet-name TestVNet2 -n GatewaySubnet -g TestRG2 --address-prefix 10.22.255.0/27

3. Créer une adresse IP publique

Demandez une adresse IP publique L’adresse IP publique sera affectée à la passerelle VPN que vous créez pour votre réseau virtuel.

az network public-ip create -n GWPubIP2 -g TestRG2 --allocation-method Dynamic

4. Créer la passerelle VPN avec le numéro AS

Créez la passerelle de réseau virtuel pour TestVNet2. Vous devez substituer la valeur par défaut de l’ASN sur vos passerelles VPN Azure. Les numéros de système autonome des réseaux virtuels connectés doivent être différents pour activer BGP et le routage de transit.

az network vnet-gateway create -n VNet2GW -l eastus --public-ip-address GWPubIP2 -g TestRG2 --vnet TestVNet2 --gateway-type Vpn --sku Standard --vpn-type RouteBased --asn 65020 --no-wait

connecter les passerelles TestVNet1 et TestVNet2

Dans cette étape, vous allez créer la connexion entre TestVNet1 et Site5. Pour activer BGP sur cette connexion, vous devez spécifier le paramètre --enable-bgp.

Dans l’exemple suivant, la passerelle de réseau virtuel et la passerelle de réseau local se trouvent dans des groupes de ressources différents. Lorsque les passerelles se trouvent dans différents groupes de ressources, vous devez spécifier l’ID de ressource complet des deux passerelles pour configurer une connexion entre les réseaux virtuels.

1. Obtenir l’ID de ressource de VNet1GW

Obtenez l’ID de ressource de VNet1GW à partir de la sortie de la commande suivante :

az network vnet-gateway show -n VNet1GW -g TestRG1

Exemple de valeur pour la ressource de passerelle :

"/subscriptions/<subscripion ID value>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW"

2. Obtenir l’ID de ressource de VNet2GW

Obtenez l’ID de ressource de VNet2GW à partir de la sortie de la commande suivante :

az network vnet-gateway show -n VNet2GW -g TestRG2

3. Créer les connexions

Créez la connexion TestVNet1 à TestVNet2 et de TestVNet2 à TestVNet1. Ces commandes utilisent les ID de ressource. Pour cet exercice, la plupart des ID de ressource figurent déjà dans l’exemple. Veillez à remplacer les valeurs d’ID d’abonnement par les vôtres. L’ID d’abonnement est utilisé à plusieurs emplacements dans la même commande. Lorsque vous utilisez cette commande en production, vous remplacez l’ID de ressource entier pour chaque objet que vous référencez.

az network vpn-connection create -n VNet1ToVNet2 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW
az network vpn-connection create -n VNet2ToVNet1 -g TestRG2 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW

Important

Activez BGP pour les deux connexions.

Une fois ces étapes effectuées, la connexion est établie au bout de quelques minutes. La session de peering BGP démarre une fois la connexion de réseau virtuel à réseau virtuel établie.

Étapes suivantes

Pour plus d’informations sur le protocole BGP, consultez À propos du protocole BGP et de la passerelle VPN.