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

Diagram znázorňující architekturu a nastavení sítě

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

Diagram znázorňující nastavení brány virtuální sítě

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

Diagram znázorňující konfiguraci protokolu IPsec

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

Diagram znázorňující úplnou konfiguraci sítě

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

Diagram znázorňující celou síť

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.