Konfigurace protokolu BGP pro službu VPN Gateway: PowerShell
Tento článek vám pomůže povolit připojení BGP mezi místními připojeními site-to-site (S2S) VPN a připojení typu VNet-to-VNet pomocí Azure PowerShellu. Pokud tento typ konfigurace neznáte, může být jednodušší používat verzi tohoto článku na webu Azure Portal .
BGP je standardní směrovací protokol, na internetu běžně používaný k výměně informací o směrování a dostupnosti mezi dvěma nebo více sítěmi. Protokol BGP umožňuje službám VPN Gateway a místním zařízením VPN, která se nazývají partnerské uzly protokolu BGP nebo sousedé BGP, výměnu „tras“ informujících obě brány o dostupnosti a dosažitelnosti předpon, které procházejí těmito bránami nebo trasami. Protokol BGP také umožňuje směrování přenosu mezi více sítěmi pomocí šíření tras, které brána s protokolem BGP zjistí od jednoho partnerského uzlu protokolu BGP, do všech dalších partnerských uzlů protokolu BGP.
Další informace o výhodách protokolu BGP a pochopení technických požadavků a aspektů používání protokolu BGP najdete v tématu O protokolu BGP a službě Azure VPN Gateway.
Začínáme
Každá část tohoto článku vám pomůže vytvořit základní stavební blok pro povolení protokolu BGP v síťovém připojení. Pokud dokončíte všechny tři části (nakonfigurujete protokol BGP pro bránu, připojení S2S a připojení VNet-to-VNet), sestavíte topologii, jak je znázorněno v diagramu 1. Tyto části můžete zkombinovat a vytvořit složitější tranzitní síť s vícehopy, která vyhovuje vašim potřebám.
Diagram 1
Povolení protokolu BGP pro bránu VPN
Tato část se vyžaduje před provedením některého z kroků v dalších dvou oddílech konfigurace. Následující kroky konfigurace nastaví parametry protokolu BGP brány VPN, jak je znázorněno v diagramu 2.
Diagram 2
Než začnete
Kroky pro toto cvičení můžete spustit pomocí Azure Cloud Shellu v prohlížeči. Pokud místo toho chcete použít PowerShell přímo z počítače, nainstalujte rutiny PowerShellu Azure Resource Manageru. Další informace o instalaci rutin PowerShellu najdete v tématu Instalace a konfigurace Azure PowerShellu.
Vytvoření a konfigurace virtuální sítě VNet1
1. Deklarace proměnných
V tomto cvičení začneme deklarací proměnných. Následující příklad deklaruje proměnné pomocí hodnot pro toto cvičení. Pokud procházíte kroky, abyste se seznámili s tímto typem konfigurace, můžete použít ukázkové proměnné (s výjimkou názvu předplatného). Upravte všechny proměnné a pak zkopírujte a vložte do konzoly PowerShellu. Při konfiguraci pro ostrý provoz nezapomeňte nahradit hodnoty vlastními.
$Sub1 = "Replace_With_Your_Subscription_Name"
$RG1 = "TestRG1"
$Location1 = "East US"
$VNetName1 = "TestVNet1"
$FESubName1 = "FrontEnd"
$BESubName1 = "Backend"
$GWSubName1 = "GatewaySubnet"
$VNetPrefix11 = "10.11.0.0/16"
$VNetPrefix12 = "10.12.0.0/16"
$FESubPrefix1 = "10.11.0.0/24"
$BESubPrefix1 = "10.12.0.0/24"
$GWSubPrefix1 = "10.12.255.0/27"
$VNet1ASN = 65010
$DNS1 = "8.8.8.8"
$GWName1 = "VNet1GW"
$GWIPName1 = "VNet1GWIP"
$GWIPconfName1 = "gwipconf1"
$Connection12 = "VNet1toVNet2"
$Connection15 = "VNet1toSite5"
2. Připojte se k předplatnému a vytvořte novou skupinu prostředků.
Pokud chcete použít rutiny Resource Manageru, nezapomeňte přepnout do režimu PowerShellu. Další informace najdete v tématu Použití prostředí Windows PowerShell s Resource Managerem.
Pokud používáte Azure Cloud Shell, automaticky se připojíte ke svému účtu. Pokud používáte PowerShell ze svého počítače, otevřete konzolu PowerShellu a připojte se ke svému účtu. Připojení vám usnadní následující ukázka:
Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1
Dále vytvořte novou skupinu prostředků.
New-AzResourceGroup -Name $RG1 -Location $Location1
3. Vytvoření virtuální sítě TestVNet1
Následující ukázka vytvoří virtuální síť s názvem TestVNet1 a tři podsítě, jednu s názvem GatewaySubnet, jednu s názvem FrontEnd a druhou s názvem Back-end. Při nahrazování hodnot je důležité vždy přiřadit podsíti brány konkrétní název GatewaySubnet. Pokud použijete jiný název, vytvoření brány se nezdaří.
$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1
New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1
Vytvoření brány VPN s povoleným protokolem BGP
1. Vytvoření konfigurace PROTOKOLU IP a podsítě
Požádejte o přidělení veřejné IP adresy bráně, kterou vytvoříte pro svou virtuální síť. Definujete také požadované konfigurace podsítě a PROTOKOLU IP.
$gwpip1 = New-AzPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic
$vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
$gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 -Subnet $subnet1 -PublicIpAddress $gwpip1
2. Vytvoření brány VPN s číslem AS
Vytvořte bránu virtuální sítě pro virtuální síť TestVNet1. Protokol BGP vyžaduje bránu VPN založenou na směrování a také další parametr -Asn k nastavení ASN (ČÍSLO AS) pro virtuální síť TestVNet1. Nezapomeňte zadat parametr -Asn . Pokud parametr -Asn nenastavíte, přiřadí se ve výchozím nastavení ASN 65515 (který pro tuto konfiguraci nefunguje). Vytvoření brány může nějakou dobu trvat (45 minut nebo déle).
New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -Asn $VNet1ASN
Po vytvoření brány můžete pomocí této brány navázat připojení mezi místními sítěmi nebo připojení typu VNet-to-VNet s protokolem BGP.
3. Získání IP adresy partnerského uzlu Azure BGP
Po vytvoření brány je potřeba získat IP adresu partnerského uzlu protokolu BGP v bráně VPN. Tato adresa je nutná ke konfiguraci brány VPN jako partnerského vztahu protokolu BGP pro vaše místní zařízení VPN.
Pokud používáte CloudShell, možná budete muset znovu vytvořit proměnné, pokud při vytváření brány vypršel časový limit relace.
V případě potřeby znovu naslouchejte proměnné:
$RG1 = "TestRG1"
$GWName1 = "VNet1GW"
Spusťte následující příkaz a poznamenejte si hodnotu BgpPeeringAddress z výstupu.
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet1gw.BgpSettingsText
Příklad výstupu:
$vnet1gw.BgpSettingsText
{
"Asn": 65010,
"BgpPeeringAddress": "10.12.255.30",
"PeerWeight": 0
}
Pokud se ip adresa BgpPeeringAddress nezobrazuje, brána se pořád konfiguruje. Zkuste to znovu, až se brána dokončí.
Vytvoření připojení mezi místními sítěmi pomocí protokolu BGP
Pokud chcete vytvořit připojení mezi místními sítěmi, musíte vytvořit bránu místní sítě, která bude představovat vaše místní zařízení VPN, a připojení pro připojení brány VPN s bránou místní sítě, jak je vysvětleno v tématu Vytvoření připojení typu site-to-site. Následující části obsahují vlastnosti potřebné k zadání parametrů konfigurace protokolu BGP, které jsou uvedeny v diagramu 3.
Diagram 3
Než budete pokračovat, ujistěte se, že jste pro bránu VPN povolili protokol BGP v předchozí části.
Krok 1: Vytvoření a konfigurace brány místní sítě
1. Deklarace proměnných
Toto cvičení pokračuje v sestavování konfigurace zobrazené v diagramu. Nezapomeňte nahradit hodnoty těmi, které chcete použít pro svou konfiguraci. Například potřebujete IP adresu vašeho zařízení VPN. V tomto cvičení můžete nahradit platnou IP adresu, pokud v tuto chvíli neplánujete připojení k zařízení VPN. Ip adresu můžete později nahradit.
$RG5 = "TestRG5"
$Location5 = "West US"
$LNGName5 = "Site5"
$LNGPrefix50 = "10.51.255.254/32"
$LNGIP5 = "4.3.2.1"
$LNGASN5 = 65050
$BGPPeerIP5 = "10.51.255.254"
Několik věcí, které je potřeba si uvědomit o parametrech brány místní sítě:
- Brána místní sítě může být ve stejném nebo jiném umístění a skupině prostředků jako brána VPN. Tento příklad ukazuje je v různých skupinách prostředků v různých umístěních.
- Předpona, kterou musíte deklarovat pro bránu místní sítě, je hostitelská adresa IP adresy partnerského uzlu protokolu BGP na vašem zařízení VPN. V tomto případě je to předpona /32 "10.51.255.254/32".
- Pokud pro připojení k této síti používáte protokol BGP, můžete také ponechat předponu prázdnou. Azure VPN Gateway interně přidá trasu IP adresy partnerského uzlu protokolu BGP do odpovídajícího tunelu IPsec.
- Připomínáme, že mezi místními sítěmi a virtuální sítí Azure musíte používat různé asnové sítě protokolu BGP. Pokud jsou stejné, musíte změnit ASN virtuální sítě, pokud vaše místní zařízení VPN už používá ASN k partnerskému vztahu s jinými sousedy protokolu BGP.
2. Vytvoření brány místní sítě pro site5
Vytvořte skupinu prostředků před vytvořením brány místní sítě.
New-AzResourceGroup -Name $RG5 -Location $Location5
Vytvořte bránu místní sítě. Všimněte si dvou dalších parametrů brány místní sítě: Asn a BgpPeerAddress.
New-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5 -Location $Location5 -GatewayIpAddress $LNGIP5 -AddressPrefix $LNGPrefix50 -Asn $LNGASN5 -BgpPeeringAddress $BGPPeerIP5
Krok 2: Připojení brány virtuální sítě a brány místní sítě
1. Získání dvou bran
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$lng5gw = Get-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5
2. Vytvoření připojení TestVNet1 k site5
V tomto kroku vytvoříte připojení z virtuální sítě TestVNet1 k webu Site5. Chcete-li pro toto připojení povolit protokol BGP, musíte zadat "-EnableBGP $True". Jak je popsáno dříve, je možné mít připojení BGP i jiného typu než BGP pro stejnou bránu VPN. Pokud není ve vlastnosti připojení povolený protokol BGP, Azure pro toto připojení nepovolí protokol BGP, i když jsou parametry protokolu BGP už nakonfigurované na obou branách.
V případě potřeby znovu rozvětvení proměnných:
$Connection15 = "VNet1toSite5"
$Location1 = "East US"
Pak spusťte následující příkaz:
New-AzVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng5gw -Location $Location1 -ConnectionType IPsec -SharedKey 'AzureA1b2C3' -EnableBGP $True
Konfigurace místního zařízení
Následující příklad uvádí parametry, které zadáte do oddílu konfigurace protokolu BGP na místním zařízení VPN pro toto cvičení:
- 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
Připojení se naváže po několika minutách a relace partnerského vztahu protokolu BGP se spustí po navázání připojení IPsec.
Navázání připojení typu VNet-to-VNet pomocí protokolu BGP
Tato část přidá připojení typu VNet-to-VNet s protokolem BGP, jak je znázorněno v diagramu 4.
Diagram 4
Následující pokyny budou pokračovat z předchozích kroků. Nejprve musíte dokončit kroky v části Povolení protokolu BGP pro bránu VPN, abyste mohli vytvořit a nakonfigurovat virtuální síť TestVNet1 a bránu VPN s protokolem BGP.
Krok 1: Vytvoření virtuální sítě TestVNet2 a brány VPN
Je důležité zajistit, aby se adresní prostor IP nové virtuální sítě TestVNet2 nepřekrývaly s žádným z rozsahů virtuálních sítí.
V tomto příkladu patří virtuální sítě do stejného předplatného. Můžete nastavit připojení typu VNet-to-VNet mezi různými předplatnými. Další informace najdete v tématu Konfigurace připojení typu VNet-to-VNet. Při vytváření připojení pro povolení protokolu BGP nezapomeňte přidat $True -EnableBgp.
1. Deklarace proměnných
Nezapomeňte nahradit hodnoty těmi, které chcete použít pro svou konfiguraci.
$RG2 = "TestRG2"
$Location2 = "East US"
$VNetName2 = "TestVNet2"
$FESubName2 = "FrontEnd"
$BESubName2 = "Backend"
$GWSubName2 = "GatewaySubnet"
$VNetPrefix21 = "10.21.0.0/16"
$VNetPrefix22 = "10.22.0.0/16"
$FESubPrefix2 = "10.21.0.0/24"
$BESubPrefix2 = "10.22.0.0/24"
$GWSubPrefix2 = "10.22.255.0/27"
$VNet2ASN = 65020
$DNS2 = "8.8.8.8"
$GWName2 = "VNet2GW"
$GWIPName2 = "VNet2GWIP"
$GWIPconfName2 = "gwipconf2"
$Connection21 = "VNet2toVNet1"
$Connection12 = "VNet1toVNet2"
2. Vytvoření virtuální sítě TestVNet2 v nové skupině prostředků
New-AzResourceGroup -Name $RG2 -Location $Location2
$fesub2 = New-AzVirtualNetworkSubnetConfig -Name $FESubName2 -AddressPrefix $FESubPrefix2
$besub2 = New-AzVirtualNetworkSubnetConfig -Name $BESubName2 -AddressPrefix $BESubPrefix2
$gwsub2 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName2 -AddressPrefix $GWSubPrefix2
New-AzVirtualNetwork -Name $VNetName2 -ResourceGroupName $RG2 -Location $Location2 -AddressPrefix $VNetPrefix21,$VNetPrefix22 -Subnet $fesub2,$besub2,$gwsub2
3. Vytvoření brány VPN pro virtuální síť TestVNet2 s parametry protokolu BGP
Požádejte o přidělení veřejné IP adresy bráně, kterou vytvoříte pro virtuální síť, a definujte požadované konfigurace podsítě a IP adres.
Deklarujte proměnné.
$gwpip2 = New-AzPublicIpAddress -Name $GWIPName2 -ResourceGroupName $RG2 -Location $Location2 -AllocationMethod Dynamic
$vnet2 = Get-AzVirtualNetwork -Name $VNetName2 -ResourceGroupName $RG2
$subnet2 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet2
$gwipconf2 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName2 -Subnet $subnet2 -PublicIpAddress $gwpip2
Vytvořte bránu VPN s číslem AS. Výchozí asn musíte přepsat ve svých branách VPN. Sítě ASN pro připojené virtuální sítě se musí lišit, aby bylo možné povolit směrování protokolu BGP a přenosu.
New-AzVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2 -Location $Location2 -IpConfigurations $gwipconf2 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -Asn $VNet2ASN
Krok 2: Připojení bran Virtuální sítě TestVNet1 a TestVNet2
V tomto příkladu jsou obě brány ve stejném předplatném. Tento krok můžete dokončit ve stejné relaci PowerShellu.
1. Získání obou bran
V případě potřeby znovu naslouchejte proměnné:
$GWName1 = "VNet1GW"
$GWName2 = "VNet2GW"
$RG1 = "TestRG1"
$RG2 = "TestRG2"
$Connection12 = "VNet1toVNet2"
$Connection21 = "VNet2toVNet1"
$Location1 = "East US"
$Location2 = "East US"
Získejte obě brány.
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet2gw = Get-AzVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2
2. Vytvoření obou připojení
V tomto kroku vytvoříte připojení z virtuální sítě TestVNet1 k virtuální síti TestVNet2 a připojení z virtuální sítě TestVNet2 k virtuální síti TestVNet1.
Připojení TestVNet1 k virtuální síti TestVNet2
New-AzVirtualNetworkGatewayConnection -Name $Connection12 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet2gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True
Připojení TestVNet2 k virtuální síti TestVNet1
New-AzVirtualNetworkGatewayConnection -Name $Connection21 -ResourceGroupName $RG2 -VirtualNetworkGateway1 $vnet2gw -VirtualNetworkGateway2 $vnet1gw -Location $Location2 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True
Důležité
Nezapomeňte povolit protokol BGP pro obě připojení.
Po dokončení těchto kroků se připojení vytvoří po několika minutách. Relace partnerského vztahu protokolu BGP je spuštěna po dokončení připojení VNet-to-VNet.
Pokud jste dokončili všechny tři části tohoto cvičení, vytvořili jste následující topologii sítě:
Diagram 4
Pokud by mezi virtuální sítí TestVNet2 a TestVNet1 došlo k zakázání protokolu BGP v kontextu, testVNet2 nenaučil trasy pro místní síť, Site5, a proto nemohl komunikovat s webem 5. Jakmile povolíte protokol BGP, jak je znázorněno v diagramu 4, budou moci všechny tři sítě komunikovat přes připojení S2S IPsec a VNet-to-VNet.
Další kroky
Další informace o protokolu BGP naleznete v tématu O protokolu BGP a bráně VPN Gateway.