Condividi tramite


Come configurare BGP per gateway VPN di Azure: interfaccia della riga di comando

Questo articolo illustra come abilitare BGP in connessioni VPN da sito a sito (S2S) cross-premise e connessioni da rete virtuale a rete virtuale tramite l'interfaccia della riga di comando di Azure. È anche possibile creare questa configurazione usando il portale di Azure o i passaggi di PowerShell.

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 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 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.

Per altre informazioni sui vantaggi di BGP, sui requisiti tecnici e sulle considerazioni relative all'uso di BGP, vedere Informazioni su BGP e il gateway VPN di Azure.

Ogni parte di questo articolo assistenza nella creazione di un blocco predefinito di base per abilitare BGP nella connettività di rete. Se si completano tutte e tre le parti (configurare BGP nel gateway, la connessione da sito a sito e la connessione da rete virtuale a rete virtuale) si compila la topologia, come illustrato nel diagramma 1.

Diagramma 1

Diagram showing network architecture and settings.

È possibile combinare le sezioni per creare una rete di transito a più hop più complessa per soddisfare le proprie esigenze.

Prerequisiti

Abilitare BGP per il gateway VPN

Questa sezione è obbligatoria prima dell'esecuzione dei passaggi illustrati nelle altre due sezioni di configurazione. La seguente procedura di configurazione configura i parametri BGP nel gateway VPN di Azure come illustrato nel Diagramma 2.

Diagramma 2

Diagram showing settings for virtual network gateway.

Creare e configurare TestVNet1

1. Creare un gruppo di risorse

L'esempio seguente crea un gruppo di risorse denominato TestRG1 nella posizione "eastus". Se è già disponibile un gruppo di risorse nell'area in cui si vuole creare la rete virtuale, è possibile usarlo.

az group create --name TestRG1 --location eastus

2. Creare TestVNet1

L'esempio seguente mostra come creare una rete virtuale denominata TestVNet1 e tre subnet (GatewaySubnet, FrontEnd e BackEnd). Quando si sostituiscono i valori, è importante che la subnet gateway venga denominata sempre esattamente GatewaySubnet. Se si assegnano altri nomi, la creazione del gateway ha esito negativo.

Il primo comando crea lo spazio degli indirizzi front-end e la subnet FrontEnd. Il secondo comando crea uno spazio indirizzi aggiuntivo per la subnet BackEnd. Il terzo e il quarto comando creano la subnet BackEnd e GatewaySubnet.

az network vnet create -n TestVNet1 -g TestRG1 --address-prefix 10.11.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.11.0.0/24
az network vnet update -n TestVNet1 --address-prefixes 10.11.0.0/16 10.12.0.0/16 -g TestRG1
 
az network vnet subnet create --vnet-name TestVNet1 -n BackEnd -g TestRG1 --address-prefix 10.12.0.0/24
 
az network vnet subnet create --vnet-name TestVNet1 -n GatewaySubnet -g TestRG1 --address-prefix 10.12.255.0/27

Creare il gateway VPN per TestVNet1 con i parametri BGP

1. Creare l'indirizzo IP pubblico

Richiedere un indirizzo IP pubblico. L'indirizzo IP pubblico verrà allocato al gateway VPN creato per la rete virtuale.

az network public-ip create -n GWPubIP -g TestRG1 --allocation-method Dynamic 

2. Creare il gateway VPN con il numero AS

Creare il gateway di rete virtuale per TestVNet1. BGP richiede un gateway VPN basato su route. È necessario anche il parametro aggiuntivo -Asn per la configurazione del valore ASN (Autonomous System Number, Numero sistema autonomo) per TestVNet1. La creazione di un gateway spesso richiede anche più di 45 minuti di tempo a seconda dello SKU gateway selezionato.

Se si esegue questo comando usando il parametro --no-wait, non viene visualizzato alcun output o commento. Il parametro --no-wait consente la creazione in background del gateway. Questo non significa che il gateway VPN sia creato immediatamente.

az network vnet-gateway create -n VNet1GW -l eastus --public-ip-address GWPubIP -g TestRG1 --vnet TestVNet1 --gateway-type Vpn --sku HighPerformance --vpn-type RouteBased --asn 65010 --no-wait

Dopo avere creato il gateway, è possibile usarlo per stabilire una connessione cross-premise o una connessione da rete virtuale a rete virtuale con BGP.

3. Ottenere l'indirizzo IP del peer BGP di Azure

Dopo avere creato il gateway, è necessario ottenere l'indirizzo IP del peer BGP per il gateway VPN di Azure. Questo indirizzo è necessario per configurare il gateway VPN come peer BGP per i dispositivi VPN locali.

Esegui il comando seguente:

az network vnet-gateway list -g TestRG1

Prendere nota della sezione bgpSettings nella parte superiore dell'output. Questa operazione verrà usata

"bgpSettings": { 
      "asn": 65010, 
      "bgpPeeringAddress": "10.12.255.30", 
      "peerWeight": 0 
    }

Se BgpPeeringAddress non viene visualizzato come indirizzo IP, il gateway è ancora in fase di configurazione. Riprovare al termine del gateway.

Stabilire una connessione cross-premise con BGP

Per stabilire una connessione cross-premise, è necessario creare un gateway di rete locale per rappresentare il dispositivo VPN locale. Connettere quindi il gateway VPN di Azure al gateway di rete locale. Anche se questi passaggi sono simili a quelli per la creazione di altre connessioni, includono le proprietà aggiuntive necessarie per specificare i parametri di configurazione per BGP, come mostrato nel Diagramma 3.

Diagramma 3

Diagram showing IPsec configuration.

Creare e configurare il gateway di rete locale

Questo esercizio continua a creare la configurazione illustrata nel diagramma. Sostituire i valori con quelli desiderati per la propria configurazione. Quando si usano i gateway di rete locali, occorre tenere presente quanto segue:

  • Il gateway di rete locale può essere nella stessa posizione e nello stesso gruppo di risorse del gateway VPN oppure in una posizione e in un gruppo di risorse diversi. In questo esempio i gateway sono in gruppi di risorse diversi in posizioni diverse.
  • Il prefisso minimo che è necessario dichiarare per il gateway di rete locale è l'indirizzo host dell'indirizzo IP del peer BGP nel dispositivo VPN. In questo caso, è un prefisso /32 di 10.51.255.254/32.
  • Si ricordi che è necessario usare valori ASN BGP diversi nelle reti locali e nella rete virtuale di Azure. Se sono uguali, è necessario modificare il valore ASN della rete locale se i dispositivi VPN locali usano già il valore ASN per il peering con altri vicini BGP.

Prima di procedere, assicurarsi di aver completato la sezione Abilitare BGP per il gateway VPN di questo esercizio. Si noti che in questo esempio viene creato un nuovo gruppo di risorse. Si notino anche i due parametri aggiuntivi per il gateway di rete locale: Asn e BgpPeerAddress.

az group create -n TestRG5 -l westus 
 
az network local-gateway create --gateway-ip-address 23.99.221.164 -n Site5 -g TestRG5 --local-address-prefixes 10.51.255.254/32 --asn 65050 --bgp-peering-address 10.51.255.254

Connettere il gateway di rete virtuale e il gateway di rete locale

In questo passaggio viene creata la connessione da TestVNet1 a Site5. È necessario specificare il parametro --enable-bgp per abilitare BGP per questa connessione.

In questo esempio il gateway di rete virtuale e il gateway di rete locale si trovano in gruppi di risorse diversi. Quando i gateway si trovano in gruppi di risorse diversi, è necessario specificare l'intero ID risorsa dei due gateway per stabilire una connessione tra reti virtuali.

1. Ottenere l'ID risorsa di VNet1GW

Usare l'output del comando seguente per ottenere l'ID risorsa per VNet1GW:

az network vnet-gateway show -n VNet1GW -g TestRG1

Nell'output trovare la riga "id":. Per creare la connessione nella sezione successiva è necessario racchiudere i valori tra virgolette.

Output di esempio:

{ 
  "activeActive": false, 
  "bgpSettings": { 
    "asn": 65010, 
    "bgpPeeringAddress": "10.12.255.30", 
    "peerWeight": 0 
  }, 
  "enableBgp": true, 
  "etag": "W/\"<your etag number>\"", 
  "gatewayDefaultSite": null, 
  "gatewayType": "Vpn", 
  "id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW",

Copiare questi valori successivi a "id": in un editor di testo, ad esempio il Blocco note, per poterli incollare facilmente quando si crea la connessione.

"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW"

2. Ottenere l'ID risorsa di Site5

Usare il comando seguente per ottenere l'ID risorsa di Site5 dall'output:

az network local-gateway show -n Site5 -g TestRG5

3. Creare la connessione da TestVNet1 a Site5

In questo passaggio viene creata la connessione da TestVNet1 a Site5. Come illustrato in precedenza, è possibile avere connessioni sia BGP che non BGP per lo stesso gateway VPN di Azure. 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. Sostituire gli ID delle sottoscrizioni con i propri.

az network vpn-connection create -n VNet1ToSite5 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --local-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG5/providers/Microsoft.Network/localNetworkGateways/Site5

Configurazione di un dispositivo locale

L'esempio seguente elenca i parametri da immettere nella sezione della configurazione BGP nel dispositivo VPN locale per questo esercizio:

- 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

Dopo alcuni minuti, la connessione dovrebbe stabilirsi. La sessione di peering BGP viene avviata non appena viene stabilita la connessione IPsec.

Stabilire una connessione da rete virtuale a rete virtuale con BGP

Questa sezione aggiunge una connessione da rete virtuale a rete virtuale con BGP, come illustrato nel Diagramma 4.

Diagramma 4

Diagram showing full network configuration.

Le istruzioni seguenti sono la prosecuzione dei passaggi illustrati nelle sezioni precedenti. Per creare e configurare TestVNet1 e il gateway VPN con BGP, è necessario completare la sezione Abilitare BGP per il gateway VPN.

P Creare TestVNet2 e il gateway VPN

È importante verificare che lo spazio di indirizzi IP della nuova rete virtuale, TestVNet2, non si sovrapponga ad altri di intervalli di rete virtuale.

In questo esempio le reti virtuali appartengono alla stessa sottoscrizione. È possibile configurare connessioni da rete virtuale a rete virtuale tra sottoscrizioni diverse. Per altre informazioni, vedere Configurare una connessione da rete virtuale a rete virtuale. Assicurarsi di aggiungere -EnableBgp $True quando si creano le connessioni per abilitare BGP.

1. Creare un nuovo gruppo di risorse

az group create -n TestRG2 -l eastus

2. Creare TestVNet2 nel nuovo gruppo di risorse

Il primo comando crea lo spazio degli indirizzi front-end e la subnet FrontEnd. Il secondo comando crea uno spazio indirizzi aggiuntivo per la subnet BackEnd. Il terzo e il quarto comando creano la subnet BackEnd e GatewaySubnet.

az network vnet create -n TestVNet2 -g TestRG2 --address-prefix 10.21.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.21.0.0/24
az network vnet update -n TestVNet2 --address-prefixes 10.21.0.0/16 10.22.0.0/16 -g TestRG2
 
az network vnet subnet create --vnet-name TestVNet2 -n BackEnd -g TestRG2 --address-prefix 10.22.0.0/24
 
az network vnet subnet create --vnet-name TestVNet2 -n GatewaySubnet -g TestRG2 --address-prefix 10.22.255.0/27

3. Creare l'indirizzo IP pubblico

Richiedere un indirizzo IP pubblico. L'indirizzo IP pubblico verrà allocato al gateway VPN creato per la rete virtuale.

az network public-ip create -n GWPubIP2 -g TestRG2 --allocation-method Dynamic

4. Creare il gateway VPN con il numero AS

Creare il gateway di rete virtuale per TestVNet2. È necessario eseguire l'override dell'ASN predefinito nei gateway VPN di Azure. Gli ASN per le reti virtuali connesse devono essere diversi per abilitare BGP e il routing di transito.

az network vnet-gateway create -n VNet2GW -l eastus --public-ip-address GWPubIP2 -g TestRG2 --vnet TestVNet2 --gateway-type Vpn --sku Standard --vpn-type RouteBased --asn 65020 --no-wait

Connettere i gateway TestVNet1 e TestVNet2

In questo passaggio viene creata la connessione da TestVNet1 a Site5. Per abilitare BGP per questa connessione, è necessario specificare il parametro --enable-bgp.

Nell'esempio seguente il gateway di rete virtuale e il gateway di rete locale si trovano in gruppi di risorse diversi. Quando i gateway si trovano in gruppi di risorse diversi, è necessario specificare l'intero ID risorsa dei due gateway per stabilire una connessione tra reti virtuali.

1. Ottenere l'ID risorsa di VNet1GW

Ottenere l'ID risorsa di VNet1GW dall'output del comando seguente:

az network vnet-gateway show -n VNet1GW -g TestRG1

Valore di esempio per la risorsa gateway:

"/subscriptions/<subscripion ID value>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW"

2. Ottenere l'ID risorsa di VNet2GW

Ottenere l'ID risorsa di VNet2GW dall'output del comando seguente:

az network vnet-gateway show -n VNet2GW -g TestRG2

3. Creare le connessioni

Creare la connessione da TestVNet1 a TestVNet2 e da TestVNet2 a TestVNet1. Questi comandi usano gli ID risorsa. Per questo esercizio, la maggior parte dell'ID risorsa è già presente nell'esempio. Assicurarsi di sostituire i valori id sottoscrizione con i propri. L'ID sottoscrizione viene usato in più posizioni nello stesso comando. Quando si usa questo comando per l'ambiente di produzione, si sostituirà l'intero ID risorsa per ogni oggetto a cui si fa riferimento.

az network vpn-connection create -n VNet1ToVNet2 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW
az network vpn-connection create -n VNet2ToVNet1 -g TestRG2 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW

Importante

Abilitare BGP per entrambe le connessioni.

Dopo avere completato questi passaggi, la connessione verrà stabilita entro pochi minuti. Dopo avere stabilito la connessione da rete virtuale a rete virtuale, la sessione di peering BGP sarà attiva.

Passaggi successivi

Per altre informazioni su BGP, vedere Informazioni su BGP e gateway VPN.