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
U kunt deze secties combineren om een complexer multihop-transitnetwerk te bouwen dat aan uw behoeften voldoet.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht AZ login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
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
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
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
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.