BGP configureren voor Azure VPN Gateway: CLI
Dit artikel helpt u bij het inschakelen van BGP op cross-premises site-naar-site-VPN-verbindingen (S2S) en VNet-naar-VNet-verbindingen met behulp van Azure CLI. U kunt deze configuratie ook maken met behulp van de Stappen van 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. Met BGP kunnen de Azure VPN-gateways en uw on-premises VPN-apparaten, BGP-peers of -buren genoemd, 'routes' uitwisselen die beide gateways informeren over de beschikbaarheid en bereikbaarheid van die 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 inzicht in de technische vereisten en overwegingen voor het gebruik van BGP.
Elk deel van dit artikel helpt u bij het vormen van een basisbouwsteen voor het inschakelen van BGP in uw netwerkconnectiviteit. Als u alle drie de onderdelen voltooit (BGP configureren op de gateway, de S2S-verbinding en de VNet-naar-VNet-verbinding) bouwt u de topologie zoals wordt 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 stelt u de BGP-parameters van de Azure VPN-gateway in, zoals wordt 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 waar u uw 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 gemaakt met de naam TestVNet1 en drie subnetten: GatewaySubnet, FrontEnd en BackEnd. Wanneer u waarden vervangt, is het belangrijk dat u uw gatewaysubnet altijd een naam geeft met name GatewaySubnet. 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 BackEnd-subnet. De derde en vierde opdrachten maken het BackEnd-subnet en 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
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. Voor BGP is een op route gebaseerde VPN-gateway vereist. U hebt ook de aanvullende parameter -Asn
nodig om het autonome systeemnummer (ASN) in te stellen voor TestVNet1. 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 --no-wait
de 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 tot stand te brengen of een VNet-naar-VNet-verbinding met BGP.
3. Haal het IP-adres van de Azure BGP-peer op
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 boven aan 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 maken met BGP
Als u een cross-premises verbinding tot stand wilt brengen, moet u een lokale netwerkgateway maken om uw on-premises VPN-apparaat weer te geven. 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 blijft de configuratie bouwen die wordt weergegeven in het diagram. Zorg ervoor dat u de waarden vervangt door de waarden die u voor uw configuratie wilt gebruiken. Houd rekening met het volgende wanneer u met lokale netwerkgateways werkt:
- De lokale netwerkgateway kan zich in dezelfde locatie en resourcegroep bevinden als de VPN-gateway, of zich op een andere locatie en resourcegroep bevinden. In dit voorbeeld ziet u de gateways in verschillende resourcegroepen op verschillende locaties.
- Het minimale voorvoegsel dat u moet declareren voor de lokale netwerkgateway is het hostadres van uw BGP-peer-IP-adres op uw VPN-apparaat. In dit geval is het een /32-voorvoegsel van 10.51.255.254/32.
- U kunt het voorvoegsel ook leeg laten als u BGP gebruikt om verbinding te maken met dit netwerk. Azure VPN-gateway voegt intern een route van uw BGP-peer-IP-adres toe aan de bijbehorende IPsec-tunnel.
- 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 uw VNet ASN 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. De resource-id van VNet1GW ophalen
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 "id":
regel in de 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 bij het maken van de verbinding.
"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. De TestVNet1-naar-Site5-verbinding maken
In deze stap maakt u de verbinding van TestVNet1 naar Site5. Zoals eerder is 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
In het volgende voorbeeld ziet u de parameters die u invoert in de sectie BGP-configuratie op uw on-premises VPN-apparaat voor deze oefening:
- 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 maken 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 volgen 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 BackEnd-subnet. De derde en vierde opdrachten maken het BackEnd-subnet en 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. 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 in te schakelen.
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 TestVNet1- en TestVNet2-gateways verbinden
In deze stap maakt u de verbinding van TestVNet1 naar Site5. Als u BGP voor deze verbinding wilt inschakelen, 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. De resource-id van VNet1GW ophalen
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/<subscription 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. Maak de verbindingen
Maak de verbinding van TestVNet1 naar TestVNet2 en de verbinding van TestVNet2 naar TestVNet1. Deze opdrachten gebruiken de resource-id's. Voor deze oefening bevindt de meeste resource-id zich 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 voor productie gebruikt, 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 actief nadat de VNet-naar-VNet-verbinding is voltooid.
Volgende stappen
Zie Over BGP en VPN Gateway voor meer informatie over BGP.