Come configurare BGP sui gateway VPN di Azure tramite PowerShellHow to configure BGP on Azure VPN Gateways using PowerShell

Questo articolo illustra i passaggi per abilitare BGP in una connessione VPN da sito a sito (S2S) cross-premise e in una connessione da rete virtuale a rete virtuale usando il modello di distribuzione Resource Manager e PowerShell.This article walks you through the steps to enable BGP on a cross-premises Site-to-Site (S2S) VPN connection and a VNet-to-VNet connection using the Resource Manager deployment model and PowerShell.

Informazioni su BGPAbout BGP

BGP è il protocollo di routing standard comunemente usato in Internet per lo scambio di informazioni di routing e raggiungibilità tra due o più reti.BGP is the standard routing protocol commonly used in the Internet to exchange routing and reachability information between two or more networks. BGP consente ai gateway VPN di Azure e ai dispositivi VPN locali, detti peer BGP o router adiacenti, lo scambio di "route" che indicano a entrambi i gateway la disponibilità e la raggiungibilità di tali prefissi per il passaggio attraverso i gateway o i router coinvolti.BGP enables the Azure VPN Gateways and your on-premises VPN devices, called BGP peers or neighbors, to exchange "routes" that will inform both gateways on the availability and reachability for those prefixes to go through the gateways or routers involved. BGP può anche abilitare il routing di transito tra più reti propagando a tutti gli altri peer BGP le route che un gateway BGP apprende da un peer BGP.BGP can also enable transit routing among multiple networks by propagating routes a BGP gateway learns from one BGP peer to all other BGP peers.

Vedere Panoramica di BGP con i gateway VPN di Azure per altre informazioni sui vantaggi di BGP e per conoscere i requisiti tecnici e le considerazioni sull'uso di BGP.See Overview of BGP with Azure VPN Gateways for more discussion on benefits of BGP and to understand the technical requirements and considerations of using BGP.

Introduzione a BGP nei gateway VPN di AzureGetting started with BGP on Azure VPN gateways

L'articolo illustra la procedura per eseguire le attività seguenti:This article walks you through the steps to do the following tasks:

Ogni parte delle istruzioni costituisce un blocco predefinito di base per abilitare BGP nella connettività di rete.Each part of the instructions forms a basic building block for enabling BGP in your network connectivity. Se si completano tutte e tre le parti, si crea la topologia illustrata nel diagramma seguente:If you complete all three parts, you build the topology as shown in the following diagram:

Topologia BGP

È possibile combinare le parti per creare una rete di transito a più hop più complessa per soddisfare le proprie esigenze.You can combine parts together to build a more complex, multi-hop, transit network that meets your needs.

Parte 1: Configurare BGP nel gateway VPN di AzurePart 1 - Configure BGP on the Azure VPN Gateway

La procedura di configurazione configura i parametri BGP nel gateway VPN di Azure come illustrato nel diagramma seguente:The configuration steps set up the BGP parameters of the Azure VPN gateway as shown in the following diagram:

Gateway BGP

Prima di iniziareBefore you begin

Passaggio 1: Creare e configurare VNet1Step 1 - Create and configure VNet1

1. Dichiarare le variabili1. Declare your variables

Per questo esercizio, si inizierà dichiarando le variabili.For this exercise, we start by declaring our variables. L'esempio seguente dichiara le variabili usando i valori per questo esercizio.The following example declares the variables using the values for this exercise. Assicurarsi di sostituire i valori con quelli reali durante la configurazione per la produzione.Be sure to replace the values with your own when configuring for production. Queste variabili possono essere usate se si esegue la procedura per acquisire familiarità con questo tipo di configurazione.You can use these variables if you are running through the steps to become familiar with this type of configuration. Modificare le variabili, quindi copiarle e incollarle nella console di PowerShell.Modify the variables, and then copy and paste into your PowerShell console.

$Sub1 = "Replace_With_Your_Subcription_Name"
$RG1 = "TestBGPRG1"
$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. Connettersi alla sottoscrizione e creare un nuovo gruppo di risorse2. Connect to your subscription and create a new resource group

Per usare i cmdlet di Resource Manager assicurarsi di passare alla modalità PowerShell.To use the Resource Manager cmdlets, Make sure you switch to PowerShell mode. Per altre informazioni, vedere Uso di Windows PowerShell con Gestione risorse.For more information, see Using Windows PowerShell with Resource Manager.

Aprire la console di PowerShell e connettersi al proprio account.Open your PowerShell console and connect to your account. Per connettersi, usare l'esempio seguente:Use the following sample to help you connect:

Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionName $Sub1
New-AzureRmResourceGroup -Name $RG1 -Location $Location1

3. Creare TestVNet13. Create TestVNet1

L'esempio seguente mostra come creare una rete virtuale denominata TestVNet1 e tre subnet, denominate rispettivamente GatewaySubnet, FrontEnd e Backend.The following sample creates a virtual network named TestVNet1 and three subnets, one called GatewaySubnet, one called FrontEnd, and one called Backend. Quando si sostituiscono i valori, è importante che la subnet gateway venga denominata sempre esattamente GatewaySubnet.When substituting values, it's important that you always name your gateway subnet specifically GatewaySubnet. Se si assegnano altri nomi, la creazione del gateway ha esito negativo.If you name it something else, your gateway creation fails.

$fesub1 = New-AzureRmVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1 $besub1 = New-AzureRmVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzureRmVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1

New-AzureRmVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1

Passaggio 2: Creare il gateway VPN per TestVNet1 con i parametri BGPStep 2 - Create the VPN Gateway for TestVNet1 with BGP parameters

1. Creare le configurazioni IP e subnet1. Create the IP and subnet configurations

Richiedere un indirizzo IP pubblico da allocare per il gateway che verrà creato per la rete virtuale.Request a public IP address to be allocated to the gateway you will create for your VNet. Verranno create anche le configurazioni necessarie per subnet e IP.You'll also define the required subnet and IP configurations.

$gwpip1 = New-AzureRmPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic

$vnet1 = Get-AzureRmVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
$subnet1 = Get-AzureRmVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
$gwipconf1 = New-AzureRmVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 -Subnet $subnet1 -PublicIpAddress $gwpip1

2. Creare il gateway VPN con il numero AS2. Create the VPN gateway with the AS number

Creare il gateway di rete virtuale per TestVNet1.Create the virtual network gateway for TestVNet1. Per impostare il parametro ASN (AS Number, numero AS) per TestVNet1BGP, sono necessari un gateway VPN basato su route e il parametro aggiuntivo, -Asn.BGP requires a Route-Based VPN gateway, and also the addition parameter, -Asn, to set the ASN (AS Number) for TestVNet1. Se non si imposta il parametro ASN, a questo viene assegnato il valore 65515.If you do not set the ASN parameter, ASN 65515 is assigned. La creazione di un gateway può richiedere un po' di tempo (30 minuti o più).Creating a gateway can take a while (30 minutes or more to complete).

New-AzureRmVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn -VpnType RouteBased -GatewaySku HighPerformance -Asn $VNet1ASN

3. Ottenere l'indirizzo IP del peer BGP di Azure3. Obtain the Azure BGP Peer IP address

Dopo la creazione del gateway, è necessario ottenere l'indirizzo IP del peer BGP per il gateway VPN di Azure.Once the gateway is created, you need to obtain the BGP Peer IP address on the Azure VPN Gateway. Questo indirizzo è necessario per configurare il gateway VPN di Azure come peer BGP per i dispositivi VPN locali.This address is needed to configure the Azure VPN Gateway as a BGP Peer for your on-premises VPN devices.

$vnet1gw = Get-AzureRmVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet1gw.BgpSettingsText

L'ultimo comando visualizza le configurazioni BGP corrispondenti nel gateway VPN di Azure, ad esempio:The last command shows the corresponding BGP configurations on the Azure VPN Gateway; for example:

$vnet1gw.BgpSettingsText
{
    "Asn": 65010,
    "BgpPeeringAddress": "10.12.255.30",
    "PeerWeight": 0
}

Una volta creato il gateway, è possibile usarlo per stabilire una connessione cross-premise o una connessione da rete virtuale a rete virtuale con BGP.Once the gateway is created, you can use this gateway to establish cross-premises connection or VNet-to-VNet connection with BGP. Le sezioni seguenti illustrano i passaggi per il completamento dell'esercizio.The following sections walk through the steps to complete the exercise.

Parte 2: Stabilire una connessione cross-premise con BGPPart 2 - Establish a cross-premises connection with BGP

Per stabilire una connessione cross-premise, è necessario creare un gateway di rete locale per rappresentare il dispositivo VPN locale e una connessione per connettere il gateway VPN al gateway di rete locale.To establish a cross-premises connection, you need to create a Local Network Gateway to represent your on-premises VPN device, and a Connection to connect the VPN gateway with the local network gateway. Anche se sono disponibili articoli che descrivono questi passaggi in dettaglio, questo articolo contiene le proprietà aggiuntive necessarie per specificare i parametri di configurazione di BGP.While there are articles that walk you through these steps, this article contains the additional properties required to specify the BGP configuration parameters.

BGP per la connessione cross-premise

Prima di procedere, verificare di avere completato la Parte 1 di questo esercizio.Before proceeding, make sure you have completed Part 1 of this exercise.

Passaggio 1: Creare e configurare il gateway di rete localeStep 1 - Create and configure the local network gateway

1. Dichiarare le variabili1. Declare your variables

Questo esercizio continua a creare la configurazione illustrata nel diagramma.This exercise continues to build the configuration shown in the diagram. Sostituire i valori con quelli desiderati per la propria configurazione.Be sure to replace the values with the ones that you want to use for your configuration.

$RG5 = "TestBGPRG5"
$Location5 = "East US 2"
$LNGName5 = "Site5"
$LNGPrefix50 = "10.52.255.254/32"
$LNGIP5 = "Your_VPN_Device_IP"
$LNGASN5 = 65050
$BGPPeerIP5 = "10.52.255.254"

È necessario tenere presenti due aspetti relativi ai parametri del gateway di rete:A couple of things to note regarding the local network gateway parameters:

  • Il gateway di rete locale può essere nella stessa località e nello stesso gruppo di risorse del gateway VPN oppure in altri.The local network gateway can be in the same or different location and resource group as the VPN gateway. In questo esempio sono in gruppi di risorse diversi in località diverse.This example shows them in different resource groups in different locations.
  • Il prefisso minimo che è necessario dichiarare per il gateway di rete locale è l'indirizzo host dell'indirizzo IP del peer BGP nel dispositivo VPN.The minimum prefix you need to declare for the local network gateway is the host address of your BGP Peer IP address on your VPN device. In questo caso, è un prefisso /32 di "10.52.255.254/32".In this case, it's a /32 prefix of "10.52.255.254/32".
  • Si ricordi che è necessario usare ASN BGP diversi nelle reti locali e nella rete virtuale di Azure.As a reminder, you must use different BGP ASNs between your on-premises networks and Azure VNet. Se sono gli stessi, è necessario modificare l'ASN della rete virtuale se il dispositivo VPN locale usa già l'ASN per il peering con altri vicini BGP.If they are the same, you need to change your VNet ASN if your on-premises VPN device already uses the ASN to peer with other BGP neighbors.

Prima di proseguire, verificare di essere ancora connessi alla sottoscrizione 1.Before you continue, make sure you are still connected to Subscription 1.

2. Creare il gateway di rete locale per Site52. Create the local network gateway for Site5

Assicurarsi di creare il gruppo di risorse se non è stato creato, prima di creare il gateway di rete locale.Be sure to create the resource group if it is not created, before you create the local network gateway. Si notino i due parametri aggiuntivi per il gateway di rete locale: Asn e BgpPeerAddress.Notice the two additional parameters for the local network gateway: Asn and BgpPeerAddress.

New-AzureRmResourceGroup -Name $RG5 -Location $Location5

New-AzureRmLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5 -Location $Location5 -GatewayIpAddress $LNGIP5 -AddressPrefix $LNGPrefix50 -Asn $LNGASN5 -BgpPeeringAddress $BGPPeerIP5

Passaggio 2: Connettere il gateway di rete virtuale e il gateway di rete localeStep 2 - Connect the VNet gateway and local network gateway

1. Ottenere i due gateway1. Get the two gateways

$vnet1gw = Get-AzureRmVirtualNetworkGateway -Name $GWName1  -ResourceGroupName $RG1
$lng5gw  = Get-AzureRmLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5

2. Creare la connessione da TestVNet1 a Site52. Create the TestVNet1 to Site5 connection

In questo passaggio viene creata la connessione da TestVNet1 a Site5.In this step, you create the connection from TestVNet1 to Site5. È necessario specificare "-EnableBgp $True" per abilitare BGP per questa connessione.You must specify "-EnableBGP $True" to enable BGP for this connection. Come illustrato in precedenza, è possibile avere connessioni sia BGP che non BGP per lo stesso gateway VPN di Azure.As discussed earlier, it is possible to have both BGP and non-BGP connections for the same Azure VPN Gateway. A meno che BGP non venga abilitato nella proprietà della connessione, Azure non abiliterà BGP per questa connessione nemmeno se i parametri BGP sono già configurati in entrambi i gateway.Unless BGP is enabled in the connection property, Azure will not enable BGP for this connection even though BGP parameters are already configured on both gateways.

New-AzureRmVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng5gw -Location $Location1 -ConnectionType IPsec -SharedKey 'AzureA1b2C3' -EnableBGP $True

L'esempio seguente elenca i parametri da immettere nella sezione della configurazione BGP nel dispositivo VPN locale per questo esercizio:The following example lists the parameters you enter into the BGP configuration section on your on-premises VPN device for this exercise:


- Site5 ASN            : 65050
- Site5 BGP IP         : 10.52.255.254
- Prefixes to announce : (for example) 10.51.0.0/16 and 10.52.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

La connessione viene stabilita in pochi minuti e la sessione di peering BGP viene avviata non appena stabilita la connessione IPsec.The connection is established after a few minutes, and the BGP peering session starts once the IPsec connection is established.

Parte 3: Stabilire una connessione da rete virtuale a rete virtuale con BGPPart 3 - Establish a VNet-to-VNet connection with BGP

Questa sezione aggiunge una connessione da rete virtuale a rete virtuale con BGP, come illustrato nel diagramma seguente:This section adds a VNet-to-VNet connection with BGP, as shown in the following diagram:

BGP per la connessione da rete virtuale a rete virtuale

Le istruzioni seguenti sono la prosecuzione dei passaggi precedenti.The following instructions continue from the previous steps. È necessario completare la Parte I per creare e configurare TestVNet1 e il gateway VPN con BGP.You must complete Part I to create and configure TestVNet1 and the VPN Gateway with BGP.

Passaggio 1: Creare TestVNet2 e il gateway VPNStep 1 - Create TestVNet2 and the VPN gateway

È importante verificare che lo spazio di indirizzi IP della nuova rete virtuale, TestVNet2, non si sovrapponga ad altri di intervalli di rete virtuale.It is important to make sure that the IP address space of the new virtual network, TestVNet2, does not overlap with any of your VNet ranges.

In questo esempio le reti virtuali appartengono alla stessa sottoscrizione.In this example, the virtual networks belong to the same subscription. È possibile configurare connessioni da rete virtuale a rete virtuale tra sottoscrizioni diverse.You can set up VNet-to-VNet connections between different subscriptions. Per altre informazioni, vedere Configurare una connessione tra reti virtuali.For more information, see Configure a VNet-to-VNet connection. Assicurarsi di aggiungere "-EnableBgp $True" quando si creano le connessioni per abilitare BGP.Make sure you add the "-EnableBgp $True" when creating the connections to enable BGP.

1. Dichiarare le variabili1. Declare your variables

Sostituire i valori con quelli desiderati per la propria configurazione.Be sure to replace the values with the ones that you want to use for your configuration.

$RG2 = "TestBGPRG2"
$Location2 = "West 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. Creare TestVNet2 nel nuovo gruppo di risorse2. Create TestVNet2 in the new resource group

New-AzureRmResourceGroup -Name $RG2 -Location $Location2

$fesub2 = New-AzureRmVirtualNetworkSubnetConfig -Name $FESubName2 -AddressPrefix $FESubPrefix2
$besub2 = New-AzureRmVirtualNetworkSubnetConfig -Name $BESubName2 -AddressPrefix $BESubPrefix2
$gwsub2 = New-AzureRmVirtualNetworkSubnetConfig -Name $GWSubName2 -AddressPrefix $GWSubPrefix2

New-AzureRmVirtualNetwork -Name $VNetName2 -ResourceGroupName $RG2 -Location $Location2 -AddressPrefix $VNetPrefix21,$VNetPrefix22 -Subnet $fesub2,$besub2,$gwsub2

3. Creare il gateway VPN per TestVNet2 con i parametri BGP3. Create the VPN gateway for TestVNet2 with BGP parameters

Richiedere un indirizzo IP pubblico da allocare al gateway che verrà creato per la rete virtuale e definire le configurazioni necessarie per subnet e IP.Request a public IP address to be allocated to the gateway you will create for your VNet and define the required subnet and IP configurations.

$gwpip2    = New-AzureRmPublicIpAddress -Name $GWIPName2 -ResourceGroupName $RG2 -Location $Location2 -AllocationMethod Dynamic

$vnet2     = Get-AzureRmVirtualNetwork -Name $VNetName2 -ResourceGroupName $RG2
$subnet2   = Get-AzureRmVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet2
$gwipconf2 = New-AzureRmVirtualNetworkGatewayIpConfig -Name $GWIPconfName2 -Subnet $subnet2 -PublicIpAddress $gwpip2

Creare il gateway VPN con il numero AS.Create the VPN gateway with the AS number. È necessario eseguire l'override dell'ASN predefinito nei gateway VPN di Azure.You must override the default ASN on your Azure VPN gateways. Gli ASN per le reti virtuali connesse devono essere diversi per abilitare BGP e il routing di transito.The ASNs for the connected VNets must be different to enable BGP and transit routing.

New-AzureRmVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2 -Location $Location2 -IpConfigurations $gwipconf2 -GatewayType Vpn -VpnType RouteBased -GatewaySku Standard -Asn $VNet2ASN

Passaggio 2: Connettere i gateway TestVNet1 e TestVNet2Step 2 - Connect the TestVNet1 and TestVNet2 gateways

In questo esempio entrambi i gateway sono nella stessa sottoscrizione.In this example, both gateways are in the same subscription. È possibile completare questo passaggio nella stessa sessione di PowerShell.You can complete this step in the same PowerShell session.

1. Ottenere entrambi i gateway1. Get both gateways

Eseguire l'accesso e connettersi alla Sottoscrizione 1.Make sure you log in and connect to Subscription 1.

$vnet1gw = Get-AzureRmVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet2gw = Get-AzureRmVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2

2. Creare entrambe le connessioni2. Create both connections

In questo passaggio vengono create le connessioni rispettivamente da TestVNet1 a TestVNet2 e da TestVNet2 a TestVNet1.In this step, you create the connection from TestVNet1 to TestVNet2, and the connection from TestVNet2 to TestVNet1.

New-AzureRmVirtualNetworkGatewayConnection -Name $Connection12 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet2gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True

New-AzureRmVirtualNetworkGatewayConnection -Name $Connection21 -ResourceGroupName $RG2 -VirtualNetworkGateway1 $vnet2gw -VirtualNetworkGateway2 $vnet1gw -Location $Location2 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True

Importante

Assicurarsi di abilitare BGP per ENTRAMBE le connessioni.Be sure to enable BGP for BOTH connections.

Dopo il completamento di questi passaggi, la connessione viene stabilita entro pochi minuti.After completing these steps, the connection is established after a few minutes. Non appena completata la connessione da rete virtuale a rete virtuale, la sessione di peering BGP è attiva.The BGP peering session is up once the VNet-to-VNet connection is completed.

Se sono state completate tutte e tre le parti di questo esercizio, è stata stabilita la topologia di rete seguente:If you completed all three parts of this exercise, you have established the following network topology:

BGP per la connessione da rete virtuale a rete virtuale

Passaggi successiviNext steps

Dopo aver completato la connessione, è possibile aggiungere macchine virtuali alle reti virtuali.Once your connection is complete, you can add virtual machines to your virtual networks. Per i passaggi, vedere Creare la prima macchina virtuale .See Create a Virtual Machine for steps.