Postup konfigurace protokolu BGP pro VPN Gateway: PowerShell
Tento článek vám pomůže povolit protokol BGP pro připojení site-to-site (S2S) a připojení typu VNet-to-VNet pomocí Azure PowerShell. Pokud nejste obeznámeni s tímto typem konfigurace, může být jednodušší použít Azure Portal verzi tohoto článku.
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 branám VPN a místním zařízením VPN, kterým se říká partnerské uzly protokolu BGP nebo sousedé, vyměňovat si "trasy", které budou obě brány informovat o dostupnosti a dostupnosti těchto předpon, aby mohly procházet příslušné brány nebo směrovače. 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 vysvětlení technických požadavků a aspektů používání protokolu BGP najdete v tématu Informace o protokolu BGP a 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), vytvoříte topologii, jak je znázorněno v diagramu 1. Kombinací těchto částí můžete vytvořit složitější tranzitní síť s více hopy, která bude vyhovovat vašim potřebám.
Diagram 1
Povolení protokolu BGP pro bránu VPN
Tato část je vyžadována před provedením některého z kroků v dalších dvou částech 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 Shell v prohlížeči. Pokud místo toho chcete používat PowerShell přímo z počítače, nainstalujte rutiny Azure Resource Manager PowerShellu. Další informace o instalaci rutin PowerShellu najdete v tématu Instalace a konfigurace Azure PowerShellu.
Vytvoření a konfigurace sítě VNet1
1. Deklarace proměnných
V tomto cvičení začneme deklarováním 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 je 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žívat rutiny Resource Manager, 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 z 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 jednu s názvem Backend. 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 IP adresy a podsítě
Požádejte o přidělení veřejné IP adresy bráně, kterou pro virtuální síť vytvoříte. Definujete také požadované konfigurace podsítě a IP adres.
$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řte bránu VPN s číslem AS.
Vytvořte bránu virtuální sítě pro virtuální síť TestVNet1. Protokol BGP vyžaduje Route-Based bránu VPN a také další parametr -Asn k nastavení ASN (číslo AS) pro virtuální síť TestVNet1. Nezapomeňte zadat parametr -Asn . Pokud nenastavíte parametr -Asn, přiřadí se ve výchozím nastavení ASN 65515 (což 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 tuto bránu použít k navázání připojení mezi místy nebo připojení typu VNet-to-VNet s protokolem BGP.
3. Získání IP adresy partnerského partnera Azure BGP
Po vytvoření brány musíte získat IP adresu partnerského uzlu protokolu BGP na bráně VPN. Tato adresa je potřebná 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 obnovte proměnné:
$RG1 = "TestRG1"
$GWName1 = "VNet1GW"
Spusťte následující příkaz a poznamenejte si z výstupu hodnotu BgpPeeringAddress.
$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 BgpPeeringAddress nezobrazuje jako IP adresa, brána se pořád konfiguruje. Po dokončení brány to zkuste znovu.
Navázání připojení mezi různými místy pomocí protokolu BGP
Pokud chcete navázat připojení mezi různými místy, 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 k bráně 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 znázorněny v diagramu 3.
Diagram 3
Než budete pokračovat, ujistěte se, že jste v předchozí části povolili protokol BGP pro bránu VPN.
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 pro vaše 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. Později můžete IP adresu 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"
Pár věcí, které je potřeba si uvědomit ohledně parametrů 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 Gateway. Tento příklad je ukazuje 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 /32 předpona "10.51.255.254/32".
- Připomínáme, že mezi místními sítěmi a virtuální sítí Azure musíte použít různé sítě ASN 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 BGP.
2. Vytvoření brány místní sítě pro Site5
Před vytvořením brány místní sítě vytvořte skupinu prostředků.
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ískejte dvě brány.
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$lng5gw = Get-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5
2. Vytvoření připojení TestVNet1 k Síti Site5
V tomto kroku vytvoříte připojení z virtuální sítě TestVNet1 k síti Site5. Pokud chcete povolit protokol BGP pro toto připojení, musíte zadat "-EnableBGP $True". Jak jsme si probrali dříve, pro stejnou bránu VPN je možné mít připojení BGP i jiná připojení než BGP. 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 nastavte proměnné:
$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 v části konfigurace protokolu BGP na místním zařízení VPN pro účely tohoto 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 od předchozích kroků. Pokud chcete vytvořit a nakonfigurovat virtuální síť TestVNet1 a bránu VPN s protokolem BGP, musíte nejprve provést kroky v části Povolení protokolu BGP pro bránu VPN.
Krok 1: Vytvoření virtuální sítě TestVNet2 a brány VPN
Je důležité zajistit, aby se adresní prostor IP adres nové virtuální sítě TestVNet2 nepřekrývaly s žádným z vašich 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. Nezapomeňte při vytváření připojení přidat "-EnableBgp $True" pro povolení protokolu BGP.
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řte virtuální síť 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 pro virtuální síť vytvoříte, a definujte požadovanou konfiguraci podsítě a PROTOKOLU IP.
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í název ASN na branách VPN musíte přepsat. Aby bylo možné povolit směrování protokolu BGP a přenosu, musí se hodnoty ASN připojených virtuálních sítí lišit.
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ích sítí TestVNet1 a TestVNet2
V tomto příkladu jsou obě brány ve stejném předplatném. Tento krok můžete provést ve stejné relaci PowerShellu.
1. Získejte obě brány.
V případě potřeby znovu nasadíte 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řte obě připojení.
V tomto kroku vytvoříte připojení z virtuální sítě TestVNet1 do virtuální sítě TestVNet2 a připojení z virtuální sítě TestVNet2 do virtuální sítě TestVNet1.
Připojení virtuální sítě 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í virtuální sítě 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. Po dokončení připojení typu VNet-to-VNet je relace peeringu protokolu BGP spuštěná.
Pokud jste dokončili všechny tři části tohoto cvičení, vytvořili jste následující topologii sítě:
Diagram 4
Pro kontext v diagramu 4 platí, že pokud by se mezi virtuálními sítěmi TestVNet2 a TestVNet1 zakázal protokol BGP, virtuální síť TestVNet2 nenaučí trasy pro místní síť Site5, a proto by nemohla komunikovat s lokalitou 5. Jakmile povolíte protokol BGP, jak je znázorněno v diagramu 4, budou všechny tři sítě moct komunikovat přes protokol S2S IPsec a připojení typu VNet-to-VNet.
Další kroky
Další informace o protokolu BGP najdete v tématu Informace o protokolu BGP a VPN Gateway.