BGP configureren voor Azure VPN Gateway: CLI

Dit artikel helpt u bij het inschakelen van BGP op cross-premises site-naar-site (S2S) VPN-verbindingen en VNet-naar-VNet-verbindingen met behulp van Azure CLI. U kunt deze configuratie ook maken met behulp van de stappen Azure Portal of PowerShell.

BGP is het standaardprotocol voor routering dat doorgaans op internet wordt gebruikt voor het uitwisselen van routerings- en bereikbaarheidsgegevens tussen twee of meer netwerken. BGP stelt de Azure VPN-gateways en uw on-premises VPN-apparaten, BGP-peers of neighbors genoemd, in staat om 'routes' uit te wisselen die beide gateways informeren over de beschikbaarheid en bereikbaarheid voor deze voorvoegsels om de betrokken gateways of routers te doorlopen. Met BGP kan ook transitroutering tussen meerdere netwerken worden ingeschakeld door routes die een BGP-gateway leert van één BGP te propageren naar alle andere BGP-peers.

Zie Over BGP en Azure VPN Gateway voor meer informatie over de voordelen van BGP en voor meer informatie over de technische vereisten en overwegingen voor het gebruik van BGP.

Elk deel van dit artikel helpt u een basisbouwsteen te vormen voor het inschakelen van BGP in uw netwerkverbinding. Als u alle drie de onderdelen hebt voltooid (BGP configureren op de gateway, S2S-verbinding en VNet-naar-VNet-verbinding), bouwt u de topologie op zoals weergegeven in diagram 1.

Diagram 1

Diagram met netwerkarchitectuur en -instellingen.

U kunt deze secties combineren om een complexer multihop-transitnetwerk te bouwen dat aan uw behoeften voldoet.

Vereisten

BGP inschakelen voor de VPN-gateway

Deze sectie is vereist voordat u een van de stappen in de andere twee configuratiesecties uitvoert. Met de volgende configuratiestappen worden de BGP-parameters van de Azure VPN-gateway ingesteld, zoals weergegeven in diagram 2.

Diagram 2

Diagram met instellingen voor virtuele netwerkgateway.

TestVNet1 maken en configureren

1. Een resourcegroep maken

In het volgende voorbeeld wordt een resourcegroep met de naam TestRG1 gemaakt op de locatie eastus. Als u al een resourcegroep hebt in de regio waarin u het virtuele netwerk wilt maken, kunt u die in plaats daarvan gebruiken.

az group create --name TestRG1 --location eastus

2. TestVNet1 maken

In het volgende voorbeeld wordt een virtueel netwerk met de naam TestVNet1 en drie subnetten gemaakt: GatewaySubnet, FrontEnd en BackEnd. Wanneer u waarden vervangt, is het belangrijk dat u uw gatewaysubnet altijd de naam GatewaySubnet geeft. Als u een andere naam kiest, mislukt het maken van de gateway.

Met de eerste opdracht maakt u de front-endadresruimte en het FrontEnd-subnet. Met de tweede opdracht maakt u een extra adresruimte voor het subnet BackEnd. Met de derde en vierde opdracht worden het subnet BackEnd en GatewaySubnet gemaakt.

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

De VPN-gateway voor TestVNet1 maken met BGP-parameters

1. Het openbare IP-adres maken

Vraag een openbaar IP-adres aan. Het openbare IP-adres wordt toegewezen aan de VPN-gateway die u voor uw virtuele netwerk maakt.

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

2. Maak de VPN-gateway met het AS-nummer

Maak de gateway van het virtuele netwerk voor TestVNet1. BGP vereist een Route-Based VPN-gateway. U hebt ook de extra parameter -Asn nodig om het autonome systeemnummer (ASN) voor TestVNet1 in te stellen. Het maken van een gateway duurt vaak 45 minuten of langer, afhankelijk van de geselecteerde gateway-SKU.

Als u deze opdracht uitvoert met behulp van de --no-wait parameter, ziet u geen feedback of uitvoer. Met de --no-wait parameter kan de gateway op de achtergrond worden gemaakt. Dit betekent niet dat de VPN-gateway onmiddellijk wordt gemaakt.

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

Nadat de gateway is gemaakt, kunt u deze gateway gebruiken om een cross-premises verbinding of een VNet-naar-VNet-verbinding met BGP tot stand te brengen.

3. Het IP-adres van de Azure BGP-peer ophalen

Nadat de gateway is gemaakt, moet u het IP-adres van de BGP-peer verkrijgen op de Azure VPN-gateway. Dit adres is nodig om de VPN-gateway te configureren als een BGP-peer voor uw on-premises VPN-apparaten.

Voer de volgende opdracht uit.

az network vnet-gateway list -g TestRG1

Noteer de bgpSettings sectie bovenaan de uitvoer. U gebruikt dit

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

Als het BgpPeeringAddress niet wordt weergegeven als een IP-adres, wordt uw gateway nog steeds geconfigureerd. Probeer het opnieuw wanneer de gateway is voltooid.

Een cross-premises verbinding tot stand brengen met BGP

Als u een cross-premises verbinding tot stand wilt brengen, moet u een lokale netwerkgateway maken die uw on-premises VPN-apparaat vertegenwoordigt. Vervolgens verbindt u de Azure VPN-gateway met de lokale netwerkgateway. Hoewel deze stappen vergelijkbaar zijn met het maken van andere verbindingen, bevatten ze de aanvullende eigenschappen die nodig zijn om de BGP-configuratieparameter op te geven, zoals wordt weergegeven in diagram 3.

Diagram 3

Diagram met IPsec-configuratie.

De lokale netwerkgateway maken en configureren

Deze oefening gaat door met het bouwen van de configuratie die wordt weergegeven in het diagram. Zorg ervoor dat u de waarden vervangt door de waarden die u voor uw configuratie wilt gebruiken. Wanneer u met lokale netwerkgateways werkt, moet u rekening houden met het volgende:

  • De lokale netwerkgateway kan zich in dezelfde locatie en resourcegroep bevinden als de VPN-gateway, of in een andere locatie en resourcegroep. In dit voorbeeld ziet u de gateways in verschillende resourcegroepen op verschillende locaties.
  • Het minimale voorvoegsel dat u voor de lokale netwerkgateway moet declareren, is het hostadres van het IP-adres van uw BGP-peer op uw VPN-apparaat. In dit geval is het een /32-voorvoegsel van 10.51.255.254/32.
  • Ter herinnering: u moet verschillende BGP ASN's gebruiken tussen uw on-premises netwerken en het virtuele Azure-netwerk. Als ze hetzelfde zijn, moet u de ASN van uw VNet wijzigen als uw on-premises VPN-apparaten de ASN al gebruiken om te peeren met andere BGP-buren.

Voordat u verdergaat, moet u ervoor zorgen dat u de sectie BGP inschakelen voor uw VPN-gateway van deze oefening hebt voltooid. U ziet dat u in dit voorbeeld een nieuwe resourcegroep maakt. Let ook op de twee extra parameters voor de lokale netwerkgateway: Asn en 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

De VNet-gateway en de lokale netwerkgateway verbinden

In deze stap maakt u de verbinding van TestVNet1 naar Site5. U moet de --enable-bgp parameter opgeven om BGP in te schakelen voor deze verbinding.

In dit voorbeeld bevinden de gateway van het virtuele netwerk en de lokale netwerkgateway zich in verschillende resourcegroepen. Wanneer de gateways zich in verschillende resourcegroepen bevinden, moet u de volledige resource-id van de twee gateways opgeven om een verbinding tussen de virtuele netwerken in te stellen.

1. Haal de resource-id van VNet1GW op

Gebruik de uitvoer van de volgende opdracht om de resource-id voor VNet1GW op te halen:

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

Zoek de regel in de "id": uitvoer. U hebt de waarden tussen de aanhalingstekens nodig om de verbinding in de volgende sectie te maken.

Voorbeelduitvoer:

{ 
  "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",

Kopieer de waarden erna "id": naar een teksteditor, zoals Kladblok, zodat u ze eenvoudig kunt plakken wanneer u de verbinding maakt.

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

2. Haal de resource-id van Site5 op

Gebruik de volgende opdracht om de resource-id van Site5 op te halen uit de uitvoer:

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

3. Maak de TestVNet1-naar-Site5-verbinding

In deze stap maakt u de verbinding van TestVNet1 naar Site5. Zoals eerder besproken, is het mogelijk om zowel BGP- als niet-BGP-verbindingen te hebben voor dezelfde Azure VPN-gateway. Tenzij BGP is ingeschakeld in de verbindingseigenschap, schakelt Azure BGP niet in voor deze verbinding, ook al zijn BGP-parameters al geconfigureerd op beide gateways. Vervang de abonnements-id's door uw eigen id's.

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

Configuratie van on-premises apparaten

Het volgende voorbeeld bevat de parameters die u voor deze oefening invoert in de sectie BGP-configuratie op uw on-premises VPN-apparaat:

- 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

De verbinding moet na enkele minuten tot stand zijn gebracht. De BGP-peeringsessie wordt gestart nadat de IPsec-verbinding tot stand is gebracht.

Een VNet-naar-VNet-verbinding tot stand brengen met BGP

In deze sectie wordt een VNet-naar-VNet-verbinding met BGP toegevoegd, zoals wordt weergegeven in diagram 4.

Diagram 4

Diagram met de volledige netwerkconfiguratie.

De volgende instructies gaan verder met de stappen in de voorgaande secties. Als u TestVNet1 en de VPN-gateway met BGP wilt maken en configureren, moet u de sectie BGP inschakelen voor uw VPN-gateway voltooien.

TestVNet2 en de VPN-gateway maken

Het is belangrijk om ervoor te zorgen dat de IP-adresruimte van het nieuwe virtuele netwerk, TestVNet2, niet overlapt met een van uw VNet-bereiken.

In dit voorbeeld behoren de virtuele netwerken tot hetzelfde abonnement. U kunt VNet-naar-VNet-verbindingen tussen verschillende abonnementen instellen. Zie Een VNet-naar-VNet-verbinding configureren voor meer informatie. Zorg ervoor dat u toevoegt -EnableBgp $True bij het maken van de verbindingen om BGP in te schakelen.

1. Een nieuwe resourcegroep maken

az group create -n TestRG2 -l eastus

2. TestVNet2 maken in de nieuwe resourcegroep

Met de eerste opdracht maakt u de front-endadresruimte en het FrontEnd-subnet. Met de tweede opdracht maakt u een extra adresruimte voor het subnet BackEnd. Met de derde en vierde opdracht worden het subnet BackEnd en GatewaySubnet gemaakt.

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. Het openbare IP-adres maken

Vraag een openbaar IP-adres aan. Het openbare IP-adres wordt toegewezen aan de VPN-gateway die u voor uw virtuele netwerk maakt.

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

4. Maak de VPN-gateway met het AS-nummer

Maak de virtuele netwerkgateway voor TestVNet2. U moet de standaard-ASN op uw Azure VPN-gateways overschrijven. De ASN's voor de verbonden virtuele netwerken moeten verschillen om BGP- en transitroutering mogelijk te maken.

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

De gateways TestVNet1 en TestVNet2 verbinden

In deze stap maakt u de verbinding van TestVNet1 naar Site5. Als u BGP wilt inschakelen voor deze verbinding, moet u de --enable-bgp parameter opgeven.

In het volgende voorbeeld bevinden de gateway van het virtuele netwerk en de lokale netwerkgateway zich in verschillende resourcegroepen. Wanneer de gateways zich in verschillende resourcegroepen bevinden, moet u de volledige resource-id van de twee gateways opgeven om een verbinding tussen de virtuele netwerken in te stellen.

1. Haal de resource-id van VNet1GW op

Haal de resource-id van VNet1GW op uit de uitvoer van de volgende opdracht:

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

Voorbeeldwaarde voor de gatewayresource:

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

2. Haal de resource-id van VNet2GW op

Haal de resource-id van VNet2GW op uit de uitvoer van de volgende opdracht:

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

3. De verbindingen maken

Maak de verbinding van TestVNet1 naar TestVNet2 en de verbinding van TestVNet2 naar TestVNet1. Deze opdrachten maken gebruik van de resource-id's. Voor deze oefening staat het grootste deel van de resource-id al in het voorbeeld. Zorg ervoor dat u de abonnements-id-waarden vervangt door uw eigen waarden. De abonnements-id wordt op meerdere plaatsen in dezelfde opdracht gebruikt. Wanneer u deze opdracht gebruikt voor productie, vervangt u de volledige resource-id voor elk object waarnaar u verwijst.

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

Belangrijk

Schakel BGP in voor beide verbindingen.

Nadat u deze stappen hebt voltooid, wordt de verbinding binnen enkele minuten tot stand gebracht. De BGP-peeringsessie is gestart nadat de VNet-naar-VNet-verbinding is voltooid.

Volgende stappen

Zie Over BGP en VPN Gateway voor meer informatie over BGP.