Så här konfigurerar du BGP för Azure VPN Gateway: CLI
Den här artikeln hjälper dig att aktivera BGP på vpn-anslutningar mellan platser (S2S) och VNet-till-VNet-anslutningar med Azure CLI. Du kan också skapa den här konfigurationen med hjälp av Azure-portalen eller PowerShell-stegen .
BGP är ett standardroutningsprotokoll som vanligen används på Internet för att utbyta information om routning och åtkomst mellan två eller flera nätverk. BGP gör det möjligt för Azure VPN-gatewayer och dina lokala VPN-enheter, som kallas BGP-peer-datorer eller grannar, att utbyta "vägar" som informerar båda gatewayerna om tillgängligheten och nåbarheten för dessa prefix att gå igenom de gatewayer eller routrar som är inblandade. BGP kan också möjliggöra överföringsroutning mellan flera nätverk genom att sprida vägar som BGP-gatewayen får information om från en BGP-peer till alla andra BGP-peers.
Mer information om fördelarna med BGP och för att förstå de tekniska kraven och övervägandena med att använda BGP finns i Om BGP och Azure VPN Gateway.
Varje del av den här artikeln hjälper dig att skapa en grundläggande byggsten för att aktivera BGP i nätverksanslutningen. Om du slutför alla tre delarna (konfigurera BGP på gatewayen, S2S-anslutningen och VNet-till-VNet-anslutningen) skapar du topologin enligt diagram 1.
Diagram 1
Du kan kombinera de här avsnitten för att skapa ett mer komplext överföringsnätverk för flera kluster som uppfyller dina behov.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Aktivera BGP för VPN-gatewayen
Det här avsnittet krävs innan du utför något av stegen i de andra två konfigurationsavsnitten. Följande konfigurationssteg konfigurerar BGP-parametrarna för Azure VPN-gatewayen enligt diagram 2.
Diagram 2
Skapa och konfigurera TestVNet1
1. Skapa en resursgrupp
I följande exempel skapas en resursgrupp med namnet TestRG1 på platsen "eastus". Om du redan har en resursgrupp i den region där du vill skapa ditt virtuella nätverk kan du använda den i stället.
az group create --name TestRG1 --location eastus
2. Skapa TestVNet1
I följande exempel skapas ett virtuellt nätverk med namnet TestVNet1 och tre undernät: GatewaySubnet, FrontEnd och BackEnd. När du ersätter värden är det viktigt att du alltid namnger gatewayundernätet specifikt GatewaySubnet. Om du ger det något annat namn går det inte att skapa gatewayen.
Det första kommandot skapar klientdelsadressutrymmet och frontend-undernätet. Det andra kommandot skapar ytterligare ett adressutrymme för backend-undernätet. De tredje och fjärde kommandona skapar BackEnd-undernätet och 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
Skapa VPN-gatewayen för TestVNet1 med BGP-parametrar
1. Skapa den offentliga IP-adressen
Begär en offentlig IP-adress. Den offentliga IP-adressen allokeras till den VPN-gateway som du skapar för ditt virtuella nätverk.
az network public-ip create -n GWPubIP -g TestRG1 --allocation-method Dynamic
2. Skapa VPN-gatewayen med AS-numret
Skapa den virtuella nätverksgatewayen för TestVNet1. BGP kräver en routningsbaserad VPN-gateway. Du behöver också den ytterligare parametern -Asn
för att ange det autonoma systemnumret (ASN) för TestVNet1. Att skapa en gateway kan ofta ta 45 minuter eller mer, beroende på vald gateway-SKU.
Om du kör det här kommandot med hjälp av parametern --no-wait
ser du ingen feedback eller några utdata. Parametern --no-wait
gör att gatewayen kan skapas i bakgrunden. Det betyder inte att VPN-gatewayen skapas omedelbart.
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
När gatewayen har skapats kan du använda den här gatewayen för att upprätta en anslutning mellan platser eller en VNet-till-VNet-anslutning med BGP.
3. Hämta Ip-adressen för Azure BGP-peer
När gatewayen har skapats måste du hämta BGP-peer-IP-adressen på Azure VPN-gatewayen. Den här adressen behövs för att konfigurera VPN-gatewayen som en BGP-peer för dina lokala VPN-enheter.
Kör följande kommando.
az network vnet-gateway list -g TestRG1
Anteckna avsnittet bgpSettings
överst i utdata. Du använder den här
"bgpSettings": {
"asn": 65010,
"bgpPeeringAddress": "10.12.255.30",
"peerWeight": 0
}
Om du inte ser BgpPeeringAddress visas som en IP-adress konfigureras din gateway fortfarande. Försök igen när gatewayen är klar.
Upprätta en anslutning mellan platser med BGP
För att upprätta en anslutning mellan platser måste du skapa en lokal nätverksgateway som representerar din lokala VPN-enhet. Sedan ansluter du Azure VPN-gatewayen till den lokala nätverksgatewayen. Även om de här stegen liknar att skapa andra anslutningar inkluderar de ytterligare egenskaper som krävs för att ange BGP-konfigurationsparametern, som visas i diagram 3.
Diagram 3
Skapa och konfigurera den lokala nätverksgatewayen
Den här övningen fortsätter att skapa konfigurationen som visas i diagrammet. Ersätt värdena med de som du vill använda för din konfiguration. Tänk på följande när du arbetar med lokala nätverksgatewayer:
- Den lokala nätverksgatewayen kan finnas på samma plats och resursgrupp som VPN-gatewayen, eller så kan den finnas på en annan plats och resursgrupp. Det här exemplet visar gatewayerna i olika resursgrupper på olika platser.
- Det minsta prefix som du behöver deklarera för den lokala nätverksgatewayen är värdadressen för din BGP-peer-IP-adress på VPN-enheten. I det här fallet är det ett /32-prefix på 10.51.255.254/32.
- Du kan också lämna prefixet tomt om du använder BGP för att ansluta till det här nätverket. Azure VPN-gateway lägger internt till en väg för din BGP-peer-IP-adress till motsvarande IPsec-tunnel.
- Som en påminnelse måste du använda olika BGP-ASN:er mellan dina lokala nätverk och det virtuella Azure-nätverket. Om de är likadana måste du ändra ditt VNet ASN om dina lokala VPN-enheter redan använder ASN för att peerkoppla med andra BGP-grannar.
Innan du fortsätter kontrollerar du att du har slutfört avsnittet Aktivera BGP för vpn-gatewayen i den här övningen. Observera att du i det här exemplet skapar en ny resursgrupp. Observera även de två ytterligare parametrarna för den lokala nätverksgatewayen: Asn
och 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
Ansluta VNet-gatewayen och den lokala nätverksgatewayen
I det här steget skapar du anslutningen från TestVNet1 till Site5. Du måste ange parametern --enable-bgp
för att aktivera BGP för den här anslutningen.
I det här exemplet finns den virtuella nätverksgatewayen och den lokala nätverksgatewayen i olika resursgrupper. När gatewayerna finns i olika resursgrupper måste du ange hela resurs-ID:t för de två gatewayerna för att konfigurera en anslutning mellan de virtuella nätverken.
1. Hämta resurs-ID för VNet1GW
Använd utdata från följande kommando för att hämta resurs-ID:t för VNet1GW:
az network vnet-gateway show -n VNet1GW -g TestRG1
Leta reda på raden i "id":
utdata. Du behöver värdena inom citattecknen för att skapa anslutningen i nästa avsnitt.
Exempel på utdata>
{
"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",
Kopiera värdena efter "id":
till en textredigerare, till exempel Anteckningar, så att du enkelt kan klistra in dem när du skapar anslutningen.
"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW"
2. Hämta resurs-ID för Site5
Använd följande kommando för att hämta resurs-ID för Site5 från utdata:
az network local-gateway show -n Site5 -g TestRG5
3. Skapa TestVNet1-to-Site5-anslutningen
I det här steget skapar du anslutningen från TestVNet1 till Site5. Som vi nämnde tidigare är det möjligt att ha både BGP- och icke-BGP-anslutningar för samma Azure VPN-gateway. Om inte BGP är aktiverat i anslutningsegenskapen aktiverar Azure inte BGP för den här anslutningen, även om BGP-parametrar redan har konfigurerats på båda gatewayerna. Ersätt prenumerations-ID:t med dina egna.
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
Lokal enhetskonfiguration
I följande exempel visas de parametrar som du anger i avsnittet BGP-konfiguration på din lokala VPN-enhet för den här övningen:
- 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
Anslutningen bör vara upprättad efter några minuter. BGP-peeringsessionen startar när IPsec-anslutningen har upprättats.
Upprätta en VNet-till-VNet-anslutning med BGP
Det här avsnittet lägger till en VNet-till-VNet-anslutning med BGP, enligt diagram 4.
Diagram 4
Följande instruktioner fortsätter från stegen i föregående avsnitt. Om du vill skapa och konfigurera TestVNet1 och VPN-gatewayen med BGP måste du slutföra avsnittet Aktivera BGP för vpn-gatewayen .
Skapa TestVNet2 och VPN-gatewayen
Det är viktigt att se till att IP-adressutrymmet för det nya virtuella nätverket TestVNet2 inte överlappar något av dina VNet-intervall.
I det här exemplet tillhör de virtuella nätverken samma prenumeration. Du kan konfigurera VNet-till-VNet-anslutningar mellan olika prenumerationer. Mer information finns i Konfigurera en VNet-till-VNet-anslutning. Se till att du lägger till -EnableBgp $True
när du skapar anslutningarna för att aktivera BGP.
1. Skapa en ny resursgrupp
az group create -n TestRG2 -l eastus
2. Skapa TestVNet2 i den nya resursgruppen
Det första kommandot skapar klientdelsadressutrymmet och frontend-undernätet. Det andra kommandot skapar ytterligare ett adressutrymme för backend-undernätet. De tredje och fjärde kommandona skapar BackEnd-undernätet och 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. Skapa den offentliga IP-adressen
Begär en offentlig IP-adress. Den offentliga IP-adressen allokeras till den VPN-gateway som du skapar för ditt virtuella nätverk.
az network public-ip create -n GWPubIP2 -g TestRG2 --allocation-method Dynamic
4. Skapa VPN-gatewayen med AS-numret
Skapa den virtuella nätverksgatewayen för TestVNet2. Du måste åsidosätta standard-ASN på dina Azure VPN-gatewayer. ASN:erna för de anslutna virtuella nätverken måste vara olika för att aktivera BGP och överföringsroutning.
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
Ansluta TestVNet1- och TestVNet2-gatewayerna
I det här steget skapar du anslutningen från TestVNet1 till Site5. Om du vill aktivera BGP för den här anslutningen måste du ange parametern --enable-bgp
.
I följande exempel finns den virtuella nätverksgatewayen och den lokala nätverksgatewayen i olika resursgrupper. När gatewayerna finns i olika resursgrupper måste du ange hela resurs-ID:t för de två gatewayerna för att konfigurera en anslutning mellan de virtuella nätverken.
1. Hämta resurs-ID för VNet1GW
Hämta resurs-ID för VNet1GW från utdata från följande kommando:
az network vnet-gateway show -n VNet1GW -g TestRG1
Exempelvärde för gatewayresursen:
"/subscriptions/<subscripion ID value>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW"
2. Hämta resurs-ID för VNet2GW
Hämta resurs-ID för VNet2GW från utdata från följande kommando:
az network vnet-gateway show -n VNet2GW -g TestRG2
3. Skapa anslutningarna
Skapa anslutningen från TestVNet1 till TestVNet2 och anslutningen från TestVNet2 till TestVNet1. Dessa kommandon använder resurs-ID:t. För den här övningen finns det mesta av resurs-ID:t redan i exemplet. Se till att ersätta prenumerations-ID-värdena med dina egna. Prenumerations-ID:t används på flera platser i samma kommando. När du använder det här kommandot för produktion ersätter du hela resurs-ID:t för varje objekt som du refererar till.
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
Viktigt!
Aktivera BGP för båda anslutningarna.
När du har slutfört de här stegen upprättas anslutningen om några minuter. BGP-peeringsessionen kommer att vara igång när VNet-till-VNet-anslutningen har slutförts.
Nästa steg
Mer information om BGP finns i Om BGP och VPN Gateway.