BGP configureren voor VPN Gateway: PowerShell
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 PowerShell. Als u niet bekend bent met dit type configuratie, is het wellicht eenvoudiger om de Versie van dit artikel van Azure Portal te gebruiken.
BGP is het standaardprotocol voor routering dat doorgaans op internet wordt gebruikt voor het uitwisselen van routerings- en bereikbaarheidsgegevens tussen twee of meer netwerken. BGP maakt het mogelijk dat VPN Gateways en uw on-premises VPN-apparaten, zogenaamde BGP-peers of neighbors, 'routes' kunnen uitwisselen die beide gateways informeren over de beschikbaarheid en bereikbaarheid voor deze prefixen zodat ze via de juiste gateways of routers communiceren. 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.
Aan de slag
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. U kunt deze secties combineren om een complexer multihop-transitnetwerk te bouwen dat aan uw behoeften voldoet.
Diagram 1
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 VPN-gateway in, zoals wordt weergegeven in diagram 2.
Diagram 2
Voordat u begint
U kunt de stappen voor deze oefening uitvoeren met behulp van Azure Cloud Shell in uw browser. Als u PowerShell rechtstreeks vanaf uw computer wilt gebruiken, installeert u de PowerShell-cmdlets van Azure Resource Manager. Zie Azure PowerShell installeren en configureren voor meer informatie over het installeren van de PowerShell-cmdlets.
VNet1 maken en configureren
1. Declareer uw variabelen
Voor deze oefening beginnen we met het declareren van variabelen. In het volgende voorbeeld worden de variabelen gede declareren met behulp van de waarden voor deze oefening. U kunt de voorbeeldvariabelen (met uitzondering van de abonnementsnaam) gebruiken als u de stappen doorloopt om vertrouwd te raken met dit type configuratie. Wijzig eventuele variabelen en kopieer en plak deze vervolgens in uw PowerShell-console. Zorg dat u de waarden door uw eigen waarden vervangt wanneer u configureert voor productie.
$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. Maak verbinding met uw abonnement en maak een nieuwe resourcegroep
Als u de Resource Manager-cmdlets wilt gebruiken, moet u overschakelen naar de PowerShell-modus. Zie Using Windows PowerShell with Resource Manager (Windows PowerShell gebruiken met Resource Manager) voor meer informatie.
Als u Azure Cloud Shell gebruikt, maakt u automatisch verbinding met uw account. Als u PowerShell vanaf uw computer gebruikt, opent u de PowerShell-console en maakt u verbinding met uw account. Gebruik het volgende voorbeeld als hulp bij het maken van de verbinding:
Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1
Maak vervolgens een nieuwe resourcegroep.
New-AzResourceGroup -Name $RG1 -Location $Location1
3. TestVNet1 maken
In het volgende voorbeeld wordt een virtueel netwerk gemaakt met de naam TestVNet1 en drie subnetten, een met de naam GatewaySubnet, een met de naam FrontEnd en een met de naam Backend. Wanneer u de waarden vervangt, is het belangrijk dat u de juiste namen voor de gatewaysubnets gebruikt, in het bijzonder GatewaySubnet. Als u een andere naam kiest, mislukt het maken van de gateway.
$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
De VPN-gateway maken waarvoor BGP is ingeschakeld
1. De IP- en subnetconfiguraties maken
Vraag om een openbaar IP-adres dat moet worden toegewezen aan de gateway die u voor uw VNet maakt. U definieert ook de vereiste subnet- en IP-configuraties.
$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. Maak de VPN-gateway met het AS-nummer
Maak de gateway van het virtuele netwerk voor TestVNet1. BGP vereist een op route gebaseerde VPN-gateway en ook een extra parameter -Asn om de ASN (AS Number) in te stellen voor TestVNet1. Zorg ervoor dat u de parameter -Asn opgeeft. Als u de parameter -Asn niet instelt, wordt standaard ASN 65515 (die niet werkt voor deze configuratie) toegewezen. Het maken van een gateway kan even duren (45 minuten of langer).
New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -Asn $VNet1ASN
Zodra de gateway is gemaakt, kunt u deze gateway gebruiken om cross-premises verbinding of VNet-naar-VNet-verbinding met BGP tot stand te brengen.
3. Haal het IP-adres van de Azure BGP-peer op
Zodra de gateway is gemaakt, moet u het IP-adres van de BGP-peer ophalen op de VPN-gateway. Dit adres is nodig om de VPN-gateway te configureren als een BGP-peer voor uw on-premises VPN-apparaten.
Als u CloudShell gebruikt, moet u mogelijk uw variabelen herstellen als er tijdens het maken van uw gateway een time-out optreedt voor de sessie.
Stel indien nodig variabelen opnieuw in:
$RG1 = "TestRG1"
$GWName1 = "VNet1GW"
Voer de volgende opdracht uit en noteer de waarde 'BgpPeeringAddress' uit de uitvoer.
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet1gw.BgpSettingsText
Voorbeelduitvoer:
$vnet1gw.BgpSettingsText
{
"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 en een verbinding om de VPN-gateway te verbinden met de lokale netwerkgateway, zoals wordt uitgelegd in site-naar-site-verbinding maken. De volgende secties bevatten de eigenschappen die vereist zijn om de BGP-configuratieparameters op te geven, die worden weergegeven in diagram 3.
Diagram 3
Controleer voordat u doorgaat of u BGP hebt ingeschakeld voor de VPN-gateway in de vorige sectie.
Stap 1: De lokale netwerkgateway maken en configureren
1. Declareer uw variabelen
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. U hebt bijvoorbeeld het IP-adres voor uw VPN-apparaat nodig. Voor deze oefening kunt u een geldig IP-adres vervangen als u op dit moment geen verbinding wilt maken met uw VPN-apparaat. U kunt het IP-adres later vervangen.
$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"
Enkele dingen die u moet weten met betrekking tot de parameters van de lokale netwerkgateway:
- De lokale netwerkgateway kan zich op dezelfde of andere locatie en resourcegroep bevinden als de VPN-gateway. In dit voorbeeld ziet u deze in verschillende resourcegroepen op verschillende locaties.
- Het 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 Azure VNet. Als deze hetzelfde zijn, moet u uw VNet ASN wijzigen als uw on-premises VPN-apparaat de ASN al gebruikt om te peeren met andere BGP-buren.
2. Maak de lokale netwerkgateway voor Site5
Maak de resourcegroep voordat u de lokale netwerkgateway maakt.
New-AzResourceGroup -Name $RG5 -Location $Location5
Maak de lokale netwerkgateway. Let op de twee extra parameters voor de lokale netwerkgateway: Asn en BgpPeerAddress.
New-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5 -Location $Location5 -GatewayIpAddress $LNGIP5 -AddressPrefix $LNGPrefix50 -Asn $LNGASN5 -BgpPeeringAddress $BGPPeerIP5
Stap 2: De VNet-gateway en de lokale netwerkgateway verbinden
1. Haal de twee gateways op
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$lng5gw = Get-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5
2. Maak de TestVNet1-verbinding met Site5
In deze stap maakt u de verbinding van TestVNet1 naar Site5. U moet '-EnableBGP $True' opgeven om BGP in te schakelen voor deze verbinding. Zoals eerder is besproken, is het mogelijk om zowel BGP- als niet-BGP-verbindingen voor dezelfde VPN-gateway te hebben. 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.
Declareer indien nodig uw variabelen opnieuw:
$Connection15 = "VNet1toSite5"
$Location1 = "East US"
Voer vervolgens de volgende opdracht uit:
New-AzVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng5gw -Location $Location1 -ConnectionType IPsec -SharedKey 'AzureA1b2C3' -EnableBGP $True
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 wordt na een paar minuten tot stand gebracht en de BGP-peeringsessie wordt gestart zodra 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 gaan verder met de vorige stappen. U moet eerst de stappen in de sectie BGP inschakelen voor de VPN-gateway uitvoeren om TestVNet1 en de VPN-gateway met BGP te maken en configureren.
Stap 1: 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 de '-EnableBgp-$True' toevoegt bij het maken van de verbindingen om BGP in te schakelen.
1. Declareer uw variabelen
Zorg ervoor dat u de waarden vervangt door de waarden die u voor uw configuratie wilt gebruiken.
$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. TestVNet2 maken in de nieuwe resourcegroep
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. Maak de VPN-gateway voor TestVNet2 met BGP-parameters
Vraag om een openbaar IP-adres dat moet worden toegewezen aan de gateway die u voor uw VNet maakt en definieer de vereiste subnet- en IP-configuraties.
Declareer uw variabelen.
$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
Maak de VPN-gateway met het AS-nummer. U moet de standaard-ASN op uw VPN-gateways overschrijven. De ASN's voor de verbonden VNets moeten verschillen om BGP- en transitroutering in te schakelen.
New-AzVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2 -Location $Location2 -IpConfigurations $gwipconf2 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -Asn $VNet2ASN
Stap 2: De TestVNet1- en TestVNet2-gateways verbinden
In dit voorbeeld bevinden beide gateways zich in hetzelfde abonnement. U kunt deze stap uitvoeren in dezelfde PowerShell-sessie.
1. Beide gateways ophalen
Stel indien nodig variabelen opnieuw in:
$GWName1 = "VNet1GW"
$GWName2 = "VNet2GW"
$RG1 = "TestRG1"
$RG2 = "TestRG2"
$Connection12 = "VNet1toVNet2"
$Connection21 = "VNet2toVNet1"
$Location1 = "East US"
$Location2 = "East US"
Haal beide gateways op.
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet2gw = Get-AzVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2
2. Beide verbindingen maken
In deze stap maakt u de verbinding van TestVNet1 naar TestVNet2 en de verbinding van TestVNet2 naar TestVNet1.
TestVNet1 naar TestVNet2-verbinding.
New-AzVirtualNetworkGatewayConnection -Name $Connection12 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet2gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True
TestVNet2 naar TestVNet1-verbinding.
New-AzVirtualNetworkGatewayConnection -Name $Connection21 -ResourceGroupName $RG2 -VirtualNetworkGateway1 $vnet2gw -VirtualNetworkGateway2 $vnet1gw -Location $Location2 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True
Belangrijk
Zorg ervoor dat u BGP inschakelt voor BEIDE verbindingen.
Nadat u deze stappen hebt voltooid, wordt de verbinding na enkele minuten tot stand gebracht. De BGP-peeringsessie is actief zodra de VNet-naar-VNet-verbinding is voltooid.
Als u alle drie de onderdelen van deze oefening hebt voltooid, hebt u de volgende netwerktopologie ingesteld:
Diagram 4
Als BGP tussen TestVNet2 en TestVNet1 zou worden uitgeschakeld voor context, zou TestVNet2 de routes voor het on-premises netwerk, Site5 niet leren en kon daarom niet communiceren met Site 5. Zodra u BGP hebt ingeschakeld, zoals wordt weergegeven in diagram 4, kunnen alle drie de netwerken communiceren via de S2S IPsec- en VNet-naar-VNet-verbindingen.
Volgende stappen
Zie Over BGP en VPN Gateway voor meer informatie over BGP.