In questa pagina viene descritto come connettere due reti Virtual Private Cloud (VPC) in Google Cloud utilizzando due gateway VPN ad alta disponibilità. Puoi connettere due reti VPC purché gli intervalli di indirizzi IP delle subnet principali e secondarie in ogni rete non si sovrappongano.
Questa configurazione VPN ad alta disponibilità richiede che entrambi i gateway VPN ad alta disponibilità si trovino nella stessa area geografica. Il requisito della regione, tuttavia, non limita l'ambito del traffico VPN ad alta disponibilità. Il routing globale, configurato come modalità di routing dinamico delle tue reti VPC, consente al traffico VPN ad alta disponibilità di raggiungere tutte le subnet nonostante l'assegnazione alla regione.
Per saperne di più su Cloud VPN, consulta le risorse seguenti:
Per i diagrammi di questa topologia, consulta VPN ad alta disponibilità tra le reti Google Cloud.
Per automatizzare questa configurazione, consulta l'esempio di Terraform per un gateway VPN ad alta disponibilità.
Per le best practice da considerare prima di configurare Cloud VPN, consulta le best practice.
Per ulteriori informazioni su Cloud VPN, consulta la panoramica di Cloud VPN.
Per le definizioni dei termini utilizzati in questa pagina, consulta Termini chiave.
Requisiti
Linee guida generali
Per ricevere uno SLA del 99,99%, assicurati di soddisfare i seguenti requisiti durante la creazione di questa configurazione:
- Inserisci un gateway VPN ad alta disponibilità in ogni rete VPC.
- Posiziona entrambi i gateway VPN ad alta disponibilità nella stessa regione di Google Cloud.
- Configura un tunnel su ogni interfaccia di ciascun gateway.
- Abbina le interfacce gateway come segue:
- Il tunnel su
interface 0
del primo gateway deve connettersi ainterface 0
sul secondo gateway. - Il tunnel su
interface 1
del primo gateway deve connettersi ainterface 1
sul secondo gateway.
- Il tunnel su
Sebbene sia possibile connettere due reti VPC utilizzando un singolo tunnel tra gateway VPN ad alta disponibilità o utilizzando gateway VPN classici, questo tipo di configurazione non è considerato ad alta disponibilità e non soddisfa lo SLA (accordo sul livello del servizio) ad alta disponibilità del 99,99%.
Creazione di router Cloud
Quando configuri un nuovo gateway VPN ad alta disponibilità, puoi creare un nuovo router Cloud oppure utilizzare un router Cloud esistente con tunnel Cloud VPN o collegamenti VLAN esistenti. Tuttavia, il router Cloud che utilizzi non deve già gestire una sessione BGP per un collegamento VLAN associato a una connessione Partner Interconnect a causa dei requisiti ASN specifici del collegamento.
Gestisci autorizzazioni
Poiché i gateway VPN ad alta disponibilità non appartengono sempre a te o alla tua organizzazione Google Cloud, quando crei un gateway VPN ad alta disponibilità o ti connetti a uno di proprietà di un'altra persona, tieni conto dei seguenti requisiti di autorizzazione:
- Se possiedi il progetto in cui crei un gateway VPN ad alta disponibilità, configura le autorizzazioni consigliate su di esso.
- Se vuoi connetterti a un gateway VPN ad alta disponibilità che si trova in un'organizzazione o un progetto Google Cloud che non è di tua proprietà, richiedi l'autorizzazione
compute.vpnGateways.use
al proprietario.
Prima di iniziare
Esamina le informazioni su come funziona il routing dinamico in Google Cloud.
Assicurati che il gateway VPN peer supporti il protocollo BGP (Border Gateway Protocol).
Imposta i seguenti elementi in Google Cloud per semplificare la configurazione:
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Se utilizzi Google Cloud CLI, imposta l'ID progetto con il seguente comando. Le istruzioni
gcloud
in questa pagina presuppongono che tu abbia impostato il tuo ID progetto prima di inviare i comandi.gcloud config set project PROJECT_ID
-
Puoi anche visualizzare un ID progetto già impostato eseguendo questo comando:
gcloud config list --format='text(core.project)'
Creare reti e subnet VPC personalizzate
Le procedure descritte in questo documento utilizzano due diverse reti VPC. Ogni rete VPC ha almeno due subnet, che si trovano in aree geografiche diverse.
Prima di creare i gateway VPN ad alta disponibilità e i tunnel VPN ad alta disponibilità, crea due reti VPC.
Ogni rete VPC deve avere almeno una subnet nella regione in cui crei il gateway VPN ad alta disponibilità.
- Per creare una rete VPC in modalità personalizzata (opzione consigliata), consulta Creare una rete VPC in modalità personalizzata.
- Per creare una subnet, consulta Utilizzo delle subnet.
Per attivare IPv6 nei gateway VPN ad alta disponibilità, devi abilitare l'allocazione di indirizzi interni IPv6 quando crei le reti VPC. Inoltre, configura le subnet per utilizzare gli indirizzi interni IPv6.
Devi inoltre configurare IPv6 sulle VM nella subnet:
- Per creare una rete VPC in modalità personalizzata con indirizzi IPv6 interni, consulta l'articolo Creare una rete VPC in modalità personalizzata con almeno una subnet a doppio stack.
- Per creare una subnet con IPv6 abilitato, consulta l'articolo su come aggiungere una subnet a doppio stack.
Per abilitare IPv6 in una subnet esistente, consulta Convertire una subnet IPv4 in una subnet a doppio stack.
Per creare VM con IPv6 abilitato, consulta Configurazione di IPv6 per istanze e modelli di istanza.
Le subnet VPC devono essere configurate per utilizzare indirizzi IPv6 interni. Quando utilizzi l'interfaccia a riga di comando gcloud, configuri le subnet con il flag --ipv6-access-type=INTERNAL
.
Il router Cloud non pubblicizza dinamicamente le route per le subnet configurate per l'utilizzo di indirizzi IPv6 esterni (--ipv6-access-type=EXTERNAL
).
Per informazioni sull'utilizzo degli intervalli IPv6 interni nelle subnet e nelle reti VPC, consulta le specifiche IPv6 interne.
Gli esempi in questo documento utilizzano anche la modalità di routing dinamico globale VPC, che si comporta nel seguente modo:
- Tutte le istanze del router Cloud applicano le route
to on-premises
che apprendono a tutte le subnet della rete VPC. - Le route a tutte le subnet nella rete VPC sono condivise con i router on-premise.
Creare due gateway VPN ad alta disponibilità completamente configurati che si connettono tra loro
Segui le istruzioni in questa sezione per creare un gateway VPN ad alta disponibilità, una risorsa gateway VPN peer, tunnel e sessioni BGP.
Crea i gateway VPN ad alta disponibilità
Console
La configurazione guidata di una VPN include tutti i passaggi di configurazione necessari per creare un gateway VPN ad alta disponibilità, una risorsa gateway VPN peer, dei tunnel e delle sessioni BGP.
Per creare il primo gateway VPN ad alta disponibilità:
Nella console Google Cloud, vai alla pagina VPN.
Se stai creando un gateway per la prima volta, fai clic su Crea connessione VPN.
Seleziona la configurazione guidata della VPN.
Se hai già un gateway VPN ad alta disponibilità, seleziona il pulsante di opzione per quel gateway.
Fai clic su Continua.
Specifica un Nome gateway VPN.
In Rete VPC, seleziona una rete esistente o quella predefinita.
Seleziona una regione.
Seleziona un tipo di stack per il gateway, IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
Fai clic su Crea e continua.
La pagina della console viene aggiornata e mostra le informazioni del gateway. A ciascuna interfaccia del gateway vengono assegnati automaticamente due indirizzi IPv4 esterni. Per i passaggi di configurazione futuri, prendi nota dei dettagli della configurazione del gateway.
Per creare il secondo gateway VPN ad alta disponibilità, ripeti i passaggi precedenti e considera quanto segue:
- Se necessario, utilizza un browser separato per creare il secondo gateway VPN ad alta disponibilità. Se stai connettendo due VPN ad alta disponibilità, potresti dover accedere al progetto che ospita la rete a cui vuoi connetterti.
- Specifica la stessa area geografica configurata per il primo gateway VPN ad alta disponibilità.
- Assicurati di specificare lo stesso tipo di stack del primo gateway, ovvero IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
gcloud
Per creare due gateway VPN ad alta disponibilità, completa la seguente sequenza di comandi:
Crea un gateway VPN ad alta disponibilità in ogni rete in
REGION
.Quando viene creato un gateway, vengono allocati automaticamente due indirizzi IPv4 esterni, uno per ogni interfaccia del gateway. Prendi nota di questi indirizzi IP da utilizzare in seguito nei passaggi di configurazione.
Nei comandi seguenti, sostituisci quanto segue:
GW_NAME_1
eGW_NAME_2
: il nome di ogni gatewayNETWORK
: il nome della rete Google CloudREGION
: la regione di Google Cloud in cui devi creare il gateway e il tunnelIP_STACK
: (facoltativo) lo stack IP da utilizzare. SpecificaIPV4_ONLY
oIPV4_IPV6
. Il valore predefinito èIPV4_ONLY
.
Crea il primo gateway
gcloud compute vpn-gateways create GW_NAME_1 \ --network=NETWORK_1 \ --region=REGION \ --stack-type=IP_STACK
Il gateway che crei deve essere simile all'output di esempio che segue. A ogni interfaccia del gateway è stato assegnato automaticamente un indirizzo IPv4 esterno:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a]. NAME INTERFACE0 INTERFACE1 NETWORK REGION ha-vpn-gw-a 203.0.113.16 203.0.113.23 network-a us-central1
Crea il secondo gateway
gcloud compute vpn-gateways create GW_NAME_2 \ --network=NETWORK_2 \ --region=REGION \ --stack-type=IP_STACK
Se hai specificato un tipo di stack per il primo gateway, utilizza lo stesso tipo di stack per il secondo gateway.
Per REGION, specifica la stessa regione specificata al momento della creazione del primo gateway VPN ad alta disponibilità.
Il gateway che crei deve essere simile al seguente output di esempio:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b]. NAME INTERFACE0 INTERFACE1 NETWORK REGION ha-vpn-gw-b 203.0.114.18 203.0.114.25 network-b us-central1
API
Per creare la configurazione completa per un gateway VPN ad alta disponibilità, utilizza i comandi API nelle sezioni seguenti. Tutti i valori dei campi utilizzati in queste sezioni sono valori di esempio.
Crea il primo gateway VPN ad alta disponibilità effettuando una richiesta
POST
al metodovpnGateways.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways { "name": "ha-vpn-gw-a", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a", "stackType": "IPV4_IPV6" }
Il campo
stackType
è facoltativo. Gli unici valori validi sonoIPV4_IPV6
oIPV4_ONLY
. Se non specifichi unstackType
, il valore predefinito èIPV4_ONLY
.Ripeti il comando per creare il secondo gateway VPN ad alta disponibilità e specifica i valori
project
,name
,network
eregion
appropriati.Se hai specificato
stackType
per il primo gateway, utilizza lo stesso tipo di stack per il secondo gateway,IPV4_ONLY
oIPV4_IPV6
.
Specifica la risorsa gateway VPN peer
In questa configurazione, la risorsa gateway VPN peer è l'altro gateway gateway VPN ad alta disponibilità con cui stai creando un tunnel VPN.
Se stai connettendo due reti VPC, la seconda rete VPC può esistere nello stesso progetto Google Cloud o in un progetto Google Cloud separato.
Console
Per specificare la risorsa gateway VPN ad alta disponibilità peer, segui questi passaggi:
- Nella pagina Crea una VPN, in Gateway VPN peer, seleziona Google Cloud.
- In Progetto, seleziona il progetto Google Cloud che contiene il nuovo gateway.
- In Nome gateway VPN, seleziona la seconda VPN ad alta disponibilità creata in Creare gateway VPN ad alta disponibilità.
- Continua a Creare tunnel VPN.
gcloud
Hai creato la risorsa gateway VPN peer quando hai creato il secondo gateway VPN ad alta disponibilità in Creare i gateway VPN ad alta disponibilità.
Devi specificare questo gateway VPN ad alta disponibilità come risorsa gateway VPN VPN quando crei i tunnel VPN ad alta disponibilità.
API
Hai creato la risorsa gateway VPN peer quando hai creato il secondo gateway VPN ad alta disponibilità in Creare i gateway VPN ad alta disponibilità.
Devi specificare questo gateway VPN ad alta disponibilità come risorsa gateway VPN peer quando crei i tunnel VPN ad alta disponibilità.
Creazione di router Cloud
Console
In Router Cloud, se non l'hai già fatto, crea un router Cloud specificando le seguenti opzioni. Puoi utilizzare un router Cloud esistente se il router non gestisce già una sessione BGP per un collegamento VLAN associato a una connessione Partner Interconnect.
Per creare un nuovo router Cloud, specifica quanto segue:
- Un nome.
- Una descrizione facoltativa
- Un ASN Google per il nuovo router
Puoi utilizzare qualsiasi ASN privato (da
64512
a65534
, da4200000000
a4294967294
) che non usi altrove nella tua rete. L'ASN Google viene utilizzato per tutte le sessioni BGP sullo stesso router Cloud e non puoi modificarlo in un secondo momento.Per creare il nuovo router, fai clic su Crea.
gcloud
Le istruzioni seguenti presuppongono che tu non abbia già creato router Cloud da utilizzare per la gestione delle sessioni BGP da utilizzare con i tunnel VPN ad alta disponibilità. Puoi utilizzare un router Cloud esistente in ogni rete VPC, a meno che questi non gestiscano già una sessione BGP per un collegamento VLAN associato a una connessione Partner Interconnect.
Per creare due router Cloud, completa la seguente sequenza di comandi:
Crea un router Cloud in ogni rete in
REGION
.Nei comandi seguenti, sostituisci quanto segue:
PEER_ASN_1
ePEER_ASN_2
: qualsiasi ASN privato (da64512
a65534
, da4200000000
a4294967294
) che non stai già utilizzando. Questo esempio utilizza ASN65001
per entrambe le interfacce diROUTER_NAME_1
e ASN65002
per entrambe le interfacce diROUTER_NAME_2
.- Sostituisci tutte le altre opzioni con i valori che hai utilizzato in precedenza.
Crea il primo router
gcloud compute routers create ROUTER_NAME_1 \ --region=REGION \ --network=NETWORK_1 \ --asn=PEER_ASN_1
Il router che crei deve essere simile al seguente output di esempio:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a]. NAME REGION NETWORK router-a us-central1 network-a
Crea il secondo router
gcloud compute routers create ROUTER_NAME_2 \ --region=REGION \ --network=NETWORK_2 \ --asn=PEER_ASN_2
Il router che crei deve essere simile al seguente output di esempio:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b]. NAME REGION NETWORK router-b us-central1 network-b
API
Se hai già creato un router Cloud in ciascuna delle reti VPC in cui risiede ciascuno dei tuoi gateway VPN ad alta disponibilità, puoi utilizzare tali router Cloud invece di crearne di nuovi. Tuttavia, se un router Cloud gestisce una sessione BGP per un collegamento VLAN associato a una connessione Partner Interconnect, crea un nuovo router Cloud.
Per creare un router Cloud, effettua una richiesta POST
al metodo routers.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "router-a", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a" }
Crea tunnel VPN
Console
Per creare tunnel VPN, segui questi passaggi:
In Disponibilità elevata, seleziona una coppia di tunnel o un tunnel all'altro gateway VPN ad alta disponibilità:
Se selezioni Crea una coppia di tunnel VPN (consigliato), configura le due finestre di dialogo del tunnel che vengono visualizzate nella parte inferiore della pagina Crea VPN.
Se selezioni Crea un singolo tunnel VPN, lo configuri nel resto della pagina Crea VPN. Tuttavia, per ottenere uno SLA (accordo sul livello del servizio) del 99,99% all'altro gateway VPN ad alta disponibilità, devi creare un secondo tunnel. Puoi aggiungere un secondo tunnel in un secondo momento, come descritto alla fine di questa procedura.
Completa i passaggi seguenti nella stessa pagina o nella finestra di dialogo di ogni tunnel nella parte inferiore della pagina.
Se stai configurando un tunnel, in Interfaccia gateway Cloud VPN associata, seleziona la combinazione di interfaccia VPN e indirizzo IP per questo gateway per associarlo all'interfaccia gateway sull'altro gateway VPN ad alta disponibilità. Per le configurazioni a due tunnel, questa opzione e l'opzione Interfaccia gateway VPN peer associata non sono entrambe disponibili perché sono state configurate le combinazioni di interfaccia corrette.
- Specifica un nome per il tunnel.
- Specifica una Descrizione facoltativa.
- Specifica la versione IKE. Consigliamo IKEv2, l'impostazione predefinita. Per consentire il traffico IPv6, devi selezionare IKEv2.
- Specifica una chiave IKE precondivisa utilizzando la chiave precondivisa (segreta condivisa), che deve corrispondere alla chiave precondivisa per il tunnel partner che crei sul tuo gateway peer. Se non hai configurato una chiave precondivisa sul gateway VPN peer e vuoi generarne una, fai clic su Genera e copia. Assicurati di registrare la chiave precondivisa in una posizione sicura perché non potrà essere recuperata dopo aver creato i tunnel VPN.
- Fai clic su Fine.
- Nella pagina Crea VPN, ripeti i passaggi per la creazione di eventuali finestre di dialogo del tunnel rimanenti.
Dopo aver configurato tutti i tunnel, fai clic su Crea e continua.
gcloud
Per creare due tunnel VPN su ogni gateway VPN ad alta disponibilità, completa la seguente sequenza di comandi.
- Il tunnel che crei da
interface 0
diGW_NAME_1
deve connettersi all'indirizzo IP esterno associato ainterface 0
diGW_NAME_2
inNETWORK_2
. - Il tunnel da
interface 1
diGW_NAME_1
deve connettersi all'indirizzo IP esterno associato coninterface 1
diGW_NAME_2
. Quando crei tunnel VPN in
GW_NAME_1
inNETWORK_1
, specifica le informazioni perGW_NAME_2
inNETWORK_2
. Google connette automaticamente il tunnel dainterface 0
diGW_NAME_1
ainterface 0
diGW_NAME_2
einterface 1
diGW_NAME_1
ainterface 1
diGW_NAME_2
.Crea due tunnel su
GW_NAME_1
Crea due tunnel VPN, uno su ogni interfaccia, di
GW_NAME_1
inNETWORK_1
.Nei comandi seguenti, sostituisci quanto segue:
TUNNEL_NAME_GW1_IF0
eTUNNEL_NAME_GW1_IF1
: un nome per ogni tunnel che ha origine daGW_NAME_1
; l'assegnazione di un nome ai tunnel includendo il nome dell'interfaccia del gateway può essere utile per identificare i tunnel in un secondo momentoGW_NAME_2
: il valore di--peer-gcp-gateway
REGION
: la regione in cui si trovaGW_NAME_1
- Facoltativo:
--vpn-gateway-region
è l'area geografica del gateway VPN ad alta disponibilità su cui operare. Il valore deve essere uguale a--region
. Se non specificata, questa opzione viene impostata automaticamente. Questa opzione sostituisce il valore predefinito della proprietà compute/region per la chiamata a questo comando. IKE_VERS
:2
per IKEv2. Poiché entrambi i tunnel si connettono a un altro gateway VPN ad alta disponibilità, Google consiglia di utilizzare IKEv2. Per consentire il traffico IPv6, devi utilizzare IKEv2.SHARED_SECRET
: la tua chiave precondivisa (segreta condivisa), che deve essere la stessa chiave precondivisa utilizzata per il tunnel corrispondente creato daGW_NAME_2
suinterface 0
einterface 1
; per i suggerimenti, consulta Generare una chiave precondivisaINT_NUM_0
: il numero0
per la prima interfaccia suGW_NAME_1
INT_NUM_1
: il numero1
per la seconda interfaccia suGW_NAME_1
- Se
peer-gcp-gateway
si trova in un progetto diverso da quello del tunnel VPN e del gateway VPN locale, per specificare il progetto utilizza l'opzione--peer-gcp-gateway
come URI completo o come nome relativo. La seguente opzione di esempio è un nome relativo:--peer-gcp-gateway projects/other-project/regions/us-central1/vpnGateways/ha-vpn-gw-b
--peer-gcp-gateway-region
, che è l'area geografica del gateway VPN ad alta disponibilità lato peer a cui è collegato il tunnel VPN, deve trovarsi nella stessa regione del tunnel VPN. Se non viene specificata, la regione viene impostata automaticamente.
Crea il primo tunnel il giorno
GW_NAME_1
INT_NUM_0
gcloud compute vpn-tunnels create TUNNEL_NAME_GW1_IF0 \ --peer-gcp-gateway=GW_NAME_2 \ --region=REGION \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --router=ROUTER_NAME_1 \ --vpn-gateway=GW_NAME_1 \ --interface=INT_NUM_0
Crea il secondo tunnel su
GW_NAME_1
INT_NUM_1
gcloud compute vpn-tunnels create TUNNEL_NAME_GW1_IF1 \ --peer-gcp-gateway=GW_NAME_2 \ --region=REGION \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --router=ROUTER_NAME_1 \ --vpn-gateway=GW_NAME_1 \ --interface=INT_NUM_1
L'output comando dovrebbe essere simile al seguente esempio:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0]. NAME REGION VPN_GATEWAY VPN_INTERFACE PEER_ADDRESS tunnel-a-to-b-if-0 us-central1 ha-vpn-gw-a 0 ha-vpn-gw-b Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1]. NAME REGION VPN_GATEWAY VPN_INTERFACE PEER_ADDRESS tunnel-a-to-b-if-1 us-central1 ha-vpn-gw-a 1 ha-vpn-gw-b
Crea due tunnel su
GW_NAME_2
Crea due tunnel VPN, uno su ogni interfaccia, di
GW_NAME_2
inNETWORK_2
.- Il tunnel che crei da
interface 0
diGW_NAME_2
deve connettersi all'indirizzo IP esterno associato coninterface 0
diGW_NAME_1
inNETWORK_1
. - Il tunnel da
interface 1
diGW_NAME_2
deve connettersi all'indirizzo IP esterno associato coninterface 1
diGW_NAME_1
.
Nei comandi seguenti, sostituisci quanto segue:
REGION
: la regione in cui si trovaGW_NAME_2
- Facoltativo:
--vpn-gateway-region
è l'area geografica del gateway VPN su cui operare. Il valore deve essere uguale a--region
. Se non specificata, questa opzione viene impostata automaticamente. Questa opzione sostituisce il valore predefinito della proprietà Compute/Region per questa chiamata di comando. TUNNEL_NAME_GW2_IF0
eTUNNEL_NAME_GW2_IF1
: un nome per ogni tunnel che ha origine daGW_NAME_2
; l'assegnazione di un nome ai tunnel includendo il nome dell'interfaccia del gateway può essere utile per identificare i tunnel in un secondo momentoGW_NAME_1
: il valore di--peer-gcp-gateway
; il valore di--peer-gcp-gateway-region
deve trovarsi nella stessa regione del tunnel VPN. Se non specificato, il valore viene impostato automaticamente. In questo esempio la regione èREGION
.IKE_VERS
:2
per IKEv2; poiché questi tunnel si connettono ai due tunnel creati nel passaggio precedente, devono utilizzare la stessa versione IKE (Google consiglia di utilizzare IKEv2). Per consentire il traffico IPv6, devi utilizzare IKEv2.SHARED_SECRET
: la tua chiave precondivisa (condivisa segreta), che deve corrispondere alla chiave precondivisa per il tunnel partner che hai creato in ogni interfaccia diGW_NAME_1
; per i suggerimenti, consulta Generare una chiave precondivisa efficaceGW_NAME_2
: il nome del secondo gateway che hai configurato nel passaggio di configurazione del gatewayINT_NUM_0
: il numero0
per la prima interfaccia suGW_NAME_2
INT_NUM_1
: il numero1
per la seconda interfaccia suGW_NAME_2
- Se
peer-gcp-gateway
si trova in un progetto diverso da quello del tunnel VPN e del gateway VPN locale, per specificare il progetto utilizza l'opzione--peer-gcp-gateway
come URI completo o come nome relativo. La seguente opzione di esempio è un nome relativo:--peer-gcp-gateway projects/other-project/regions/us-central1/vpnGateways/ha-vpn-gw-b
--peer-gcp-gateway-region
, che è l'area geografica del gateway VPN ad alta disponibilità lato peer a cui è collegato il tunnel VPN, deve trovarsi nella stessa regione del tunnel VPN. Se non viene specificata, la regione viene impostata automaticamente.
Crea il primo tunnel il giorno
GW_NAME_2
INT_NUM_0
gcloud compute vpn-tunnels create TUNNEL_NAME_GW2_IF0 \ --peer-gcp-gateway=GW_NAME_1 \ --region=REGION \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --router=ROUTER_NAME_2 \ --vpn-gateway=GW_NAME_2 \ --interface=INT_NUM_0
Crea il secondo tunnel su
GW_NAME_2
INT_NUM_1
gcloud compute vpn-tunnels create TUNNEL_NAME_GW2_IF1 \ --peer-gcp-gateway=GW_NAME_1 \ --region=REGION \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --router=ROUTER_NAME_2 \ --vpn-gateway=GW_NAME_2 \ --interface=INT_NUM_1
L'output comando dovrebbe essere simile al seguente esempio:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0]. NAME REGION VPN_GATEWAY VPN_INTERFACE PEER_ADDRESS tunnel-b-to-a-if-0 us-central1 ha-vpn-gw-b 0 ha-vpn-gw-a Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1]. NAME REGION VPN_GATEWAY VPN_INTERFACE PEER_ADDRESS tunnel-b-to-a-if-1 us-central1 ha-vpn-gw-b 1 ha-vpn-gw-a
- Il tunnel che crei da
Dopo questo passaggio, attendi qualche minuto e controlla lo stato di ogni tunnel VPN.
Lo stato di un tunnel VPN passa a
Established
solo quando è disponibile e configurato correttamente il tunnel del partner corrispondente. Devono essere negoziate anche un'IKE e un'associazione di sicurezza secondaria (SA) valide.Ad esempio,
tunnel-a-to-b-if-0
suha-vpn-gw-a
può essere stabilito solo setunnel-b-to-a-if-0
suha-vpn-gw-b
è configurato e disponibile.
API
Per creare due tunnel VPN, uno per ogni interfaccia su un gateway VPN ad alta disponibilità, effettua una richiesta POST
al metodo
vpnTunnels.insert
.
Per creare il primo tunnel, esegui il comando seguente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels { "name": "ha-vpn-gw-a-tunnel-0", "ikeVersion": 2, "peerGcpGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-b", "router": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/router-a", "sharedSecret": "SECRET_1", "vpnGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-a", "vpnGatewayInterface": 0 }
Se prevedi di abilitare IPv6 nella sessione BGP associata a questo tunnel, devi specificare
2
perikeVersion
.Per creare il secondo tunnel, ripeti il comando precedente, ma modifica i seguenti parametri:
name
: ad esempio,ha-vpn-gw-a-tunnel-1
sharedSecret
osharedSecretHash
(se necessario)vpnGatewayInterface
: modifica il valore dell'altra interfaccia gateway VPN ad alta disponibilità; in questo esempio, modifica questo valore in1
Quindi, crea due tunnel per il secondo gateway VPN ad alta disponibilità che si connettono al tuo primo gateway VPN ad alta disponibilità.
Per creare il primo tunnel sul secondo gateway VPN ad alta disponibilità, esegui il comando seguente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels { "name": "ha-vpn-gw-b-tunnel-0", "ikeVersion": 2, "peerGcpGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-a", "router": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/router-b", "sharedSecret": SECRET_1, "vpnGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-b", "vpnGatewayInterface": 0 }
Utilizza lo stesso
sharedSecret
specificato per il primo tunnel sul primo gateway (ha-vpn-gw-a-tunnel-0
).Se prevedi di abilitare IPv6 nella sessione BGP associata a questo tunnel, devi specificare
2
perikeVersion
.Per creare il secondo tunnel sul secondo gateway VPN ad alta disponibilità, ripeti il comando precedente, ma modifica i seguenti parametri:
name
: ad esempioha-vpn-gw-b-tunnel-1
sharedSecret
osharedSecretHash
: specifica ilsharedSecret
o ilsharedSecretHash
che hai utilizzato durante la creazione del secondo tunnel sul primo gatewayvpnGatewayInterface
: modifica il valore dell'altra interfaccia gateway VPN ad alta disponibilità; in questo esempio, modifica questo valore in1
Creare sessioni BGP
Console
Per creare sessioni BGP:
- Se non vuoi configurare le sessioni BGP ora, fai clic su Configura sessioni BGP in seguito per aprire la pagina Riepilogo e promemoria.
- Se vuoi configurare le sessioni BGP ora, nel primo tunnel VPN fai clic su Configura.
- Nella pagina Crea sessione BGP, completa i seguenti passaggi:
- Specifica un nome per la sessione BGP.
- Specifica l'ASN peer configurato per il gateway VPN peer.
- (Facoltativo) Specifica la priorità del percorso pubblicizzato.
- (Facoltativo) Seleziona Abilita IPv6 per consentire lo scambio di prefissi indirizzo IPv6 sulla sessione BGP.
- In Alloca indirizzo IPv4 BGP, seleziona Automaticamente o
Manuale. Se selezioni Manualmente, puoi specificare
l'indirizzo IP BGP del router Cloud e l'indirizzo
IP peer BGP. Assicurati che gli indirizzi IPv4 soddisfino i seguenti requisiti:
- Ogni indirizzo IP BGP deve appartenere allo stesso CIDR /30 che rientra in
169.254.0.0/16
. - Ogni indirizzo IP BGP non può essere il primo (rete) o l'ultimo indirizzo (broadcast) nel CIDR /30.
- Ogni intervallo di indirizzi IP BGP per ogni sessione BGP deve essere univoco tra tutti i router Cloud in tutte le regioni di una rete VPC.
- Ogni indirizzo IP BGP deve appartenere allo stesso CIDR /30 che rientra in
- Facoltativo: se hai abilitato IPv6, puoi allocare gli indirizzi hop successivi IPv6 automaticamente o manualmente.
Per assegnare gli indirizzi manualmente:
- In Alloca l'hop successivo IPv6, seleziona Manualmente.
- Inserisci l'indirizzo IPv6 per l'hop successivo IPv6 del router Cloud.
Questo è l'indirizzo hop successivo per le route IPv6 pubblicizzate dal router Cloud.
L'indirizzo deve essere compreso nell'intervallo
2600:2d00:0:2::/64
o2600:2d00:0:3::/64
. - Inserisci l'indirizzo IPv6 per l'hop successivo IPv6 peer.
Questo indirizzo è il prossimo indirizzo hop per le route IPv6 apprese dal router Cloud dal peer BGP.
L'indirizzo deve essere compreso nell'intervallo
2600:2d00:0:2::/64
o2600:2d00:0:3::/64
.
- (Facoltativo) In MD5 Authentication (Autenticazione MD5), seleziona Enabled (Attivato). Questo consente di autenticare le sessioni BGP tra un router Cloud e i suoi peer. Per istruzioni su come configurare l'autenticazione MD5, consulta Utilizzare l'autenticazione MD5. Puoi anche scegliere di attivare l'autenticazione MD5 in un secondo momento.
- (Facoltativo) Fai clic sull'elenco Route annunciate e crea route personalizzate.
- Fai clic su Salva e continua.
- Ripeti i passaggi precedenti per il resto dei tunnel configurati sul gateway. Per ogni tunnel, utilizza un indirizzo IP BGP del router Cloud diverso e un indirizzo IP peer BGP.
- Dopo aver configurato tutte le sessioni BGP, fai clic su Salva configurazione BGP.
gcloud
In questa sezione configurerai le interfacce dei router Cloud e i peer BGP; la seguente tabella fornisce una panoramica di queste interfacce e peer. Mostra la relazione tra gli intervalli IP e gli indirizzi IP peer specificati per ogni interfaccia.
Ad esempio, la prima interfaccia di router-1
ha un indirizzo IP peer 169.254.0.2
. Deriva dall'intervallo di indirizzi IP della prima interfaccia di router-2
, ovvero 169.254.0.2/30
. Inoltre, questa tabella illustra anche un esempio di configurazione di indirizzo IPv6 successivo.
Router | Nome interfaccia BGP | Intervallo IP | Indirizzo IP peer | ASN peer | Indirizzo IPv6 Hop |
Indirizzo hop successivo IPv6 peer |
---|---|---|---|---|---|---|
Router-1 | se-tunnel-a-b-se-0 | 169.254.0.1/30 | 169,254,0.2 | 65002 | 2600:2d00:0:2::1 | 2600:2d00:0:2::2 |
Router 2 | se-tunnel-b-a-se-0 | 169.254.0.2/30 | 169,254,0.1 | 65001 | 2600:2d00:0:2::2 | 2600:2d00:0:2::1 |
Router-1 | se-tunnel-a-b-se-1 | 169.254.1.1/30 | 169.254.1.2 | 65002 | 2600:2d00:0:2::1:1 | 2600:2d00:0:2::1:2 |
Router 2 | se-tunnel-b-a-se-1 | 169.254.1.2/30 | 169.254.1.1 | 65001 | 2600:2d00:0:2::1:2 | 2600:2d00:0:2::1:1 |
Per ulteriori dettagli, consulta le istruzioni in questa sezione, che includono l'output di esempio dopo la configurazione.
Per creare interfacce router Cloud e peer BGP, completa la seguente sequenza di comandi.
Crea un'interfaccia BGP e un peer BGP su
ROUTER_NAME_1
per il tunnelTUNNEL_NAME_GW1_IF0
.Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere
TUNNEL_NAME_GW1_IF0
suinterface 0
daGW_1
ainterface 0
diGW_2
.Nei comandi seguenti, sostituisci quanto segue:
ROUTER_1_INTERFACE_NAME_0
: un nome per l'interfaccia BGP del router Cloud; l'utilizzo di un nome relativo aTUNNEL_NAME_GW1_IF0
è utileIP_ADDRESS_1
: facoltativo: un indirizzo IP BGP del blocco169.254.0.0/16
non ancora in uso; questo esempio utilizza169.254.0.1
. Se ometti questo flag e non assegni manualmente un indirizzo IP BGP, Google Cloud ne assegna automaticamente uno dal blocco169.254.0.0/16
.MASK_LENGTH
:30
; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco169.254.0.0/16
PEER_NAME_GW1_IF0
: un nome che descrive il peer BGP; l'utilizzo di un nome relativo aTUNNEL_NAME_GW1_IF0
è utilePEER_IP_ADDRESS_1
: facoltativo: un indirizzo IP BGP del blocco169.254.0.0/16
non ancora in uso; questo esempio utilizza169.254.0.2
. Se non hai assegnato in modo specifico un indirizzo IP BGP,IP_ADDRESS_1
di cui sopra, ometti anche questa opzione e Google Cloud ti assegna automaticamente un indirizzo IP peer BGP corrispondente. Se hai specificato manualmente IP_ADDRESS_1, devi anche configurare manualmente questa opzione.PEER_ASN_2
: il numero ASN utilizzato per tutte le interfacce sull'altro router CloudROUTER_NAME_2
; questo esempio utilizza il numero ASN65002
(Facoltativo) Se crei tunnel VPN che consentono il traffico IPv6, specifica
--enable-ipv6
quando esegui il comandoadd-bgp-peer
. Quando abiliti il traffico IPv6, hai la possibilità di configurare gli indirizzi dell'hop successivo IPv6 automaticamente o manualmente. Per configurare manualmente gli indirizzi hop successivi, sostituiscili entrambi con le seguenti opzioni:IPV6_NEXTHOP_ADDRESS_1
: l'indirizzo hop successivo per le route IPv6 pubblicizzate dal router Cloud; l'indirizzo deve essere compreso nell'intervallo2600:2d00:0:2::/64
o2600:2d00:0:3::/64
.PEER_IPV6_NEXTHOP_ADDRESS_1
: l'indirizzo hop successivo per le route IPv6 apprese dal router Cloud dal peer BGP; l'indirizzo deve essere nell'intervallo2600:2d00:0:2::/64
o2600:2d00:0:3::/64
.
Se non specifichi gli indirizzi IPv6 successivi, Google Cloud assegna automaticamente gli indirizzi inutilizzati nell'intervallo
2600:2d00:0:2::/64
o2600:2d00:0:3::/64
.AUTHENTICATION_KEY
la chiave segreta da utilizzare per l'autenticazione MD5 suPEER_NAME_GW1_IF0
; per ulteriori informazioni su questa funzionalità facoltativa, consulta Utilizzare l'autenticazione MD5.
Crea un'interfaccia BGP per
TUNNEL_NAME_GW1_IF0
gcloud compute routers add-interface ROUTER_NAME_1 \ --interface-name=ROUTER_1_INTERFACE_NAME_0 \ --ip-address=IP_ADDRESS_1 \ --mask-length=MASK_LENGTH \ --vpn-tunnel=TUNNEL_NAME_GW1_IF0 \ --region=REGION
Crea un peer BGP per
TUNNEL_NAME_GW1_IF0
Il comando di esempio riportato di seguito crea un peer BGP abilitato per IPv6 con indirizzi BGP IPv4 specificati manualmente e indirizzi IPv6 IPv6:
gcloud compute routers add-bgp-peer ROUTER_NAME_1 \ --peer-name=PEER_NAME_GW1_IF0 \ --interface=ROUTER_1_INTERFACE_NAME_0 \ --peer-ip-address=PEER_IP_ADDRESS_1 \ --peer-asn=PEER_ASN_2 \ --region=REGION \ --enable-ipv6 \ --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS_1 \ --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS_1
Il comando seguente crea un peer BGP senza IPv6 abilitato:
gcloud compute routers add-bgp-peer ROUTER_NAME_1 \ --peer-name=PEER_NAME_GW1_IF0 \ --interface=ROUTER_1_INTERFACE_NAME_0 \ --peer-ip-address=PEER_IP_ADDRESS_1 \ --peer-asn=PEER_ASN_2 \ --region=REGION
Se vuoi utilizzare l'autenticazione MD5, utilizza il flag
--md5-authentication-key
. Utilizza questo campo per fornire la chiave segreta:gcloud compute routers add-bgp-peer ROUTER_NAME_1 \ --peer-name=PEER_NAME_GW1_IF0 \ --interface=ROUTER_1_INTERFACE_NAME_0 \ --peer-ip-address=PEER_IP_ADDRESS_1 \ --peer-asn=PEER_ASN_2 \ --region=REGION --md5-authentication-key=AUTHENTICATION_KEY
L'output comando dovrebbe essere simile al seguente esempio:
Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
Crea un'interfaccia BGP e un peer BGP su
ROUTER_NAME_1
per il tunnelTUNNEL_NAME_GW1_IF1
.Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere
TUNNEL_NAME_GW1_IF1
suinterface 1
daGW_1
ainterface 1
diGW_2
.Nei comandi seguenti, sostituisci quanto segue:
ROUTER_1_INTERFACE_NAME_1
: un nome di interfaccia BGP per il router Cloud; l'utilizzo di un nome relativo aTUNNEL_NAME_GW1_IF1
è utileIP_ADDRESS_2
: facoltativo: un indirizzo IP BGP del blocco169.254.0.0/16
non ancora in uso; questo esempio utilizza169.254.1.1
. Se ometti questo flag e non assegni manualmente un indirizzo IP BGP, Google Cloud ne assegna automaticamente uno dal blocco169.254.0.0/16
.MASK_LENGTH
:30
; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco169.254.0.0/16
PEER_NAME_GW1_IF1
: un nome che descrive il peer BGP; l'utilizzo di un nome relativo aTUNNEL_NAME_GW1_IF1
è utilePEER_IP_ADDRESS_2
: un indirizzo IP BGP del blocco169.254.0.0/16
non già in uso; questo esempio utilizza169.254.1.2
. Se non hai assegnato un indirizzo IP BGP specifico,IP_ADDRESS_2
ometti questa opzione e Google Cloud ti assegna automaticamente un indirizzo IP peer BGP corrispondente. Se hai specificato manualmenteIP_ADDRESS_2
, devi anche configurare manualmente questa opzione.PEER_ASN_2
: il numero ASN utilizzato per tutte le interfacce sull'altro router CloudROUTER_NAME_2
; in questo esempio viene utilizzato il numero ASN65002
(Facoltativo) Se crei tunnel VPN che consentono il traffico IPv6, specifica
--enable-ipv6
nel comandoadd-bgp-peer
. Quando abiliti il traffico IPv6, puoi scegliere di configurare manualmente gli indirizzi hop successivi IPv6. Per configurare gli indirizzi dell'hop successivo, sostituisci entrambi i seguenti elementi:IPV6_NEXTHOP_ADDRESS_2
: il prossimo indirizzo hop per le route IPv6 pubblicizzate dal router Cloud; l'indirizzo deve essere compreso nell'intervallo2600:2d00:0:2::/64
o2600:2d00:0:3::/64
PEER_IPV6_NEXTHOP_ADDRESS_2
: il prossimo indirizzo hop per le route IPv6 apprese dal router Cloud dal peer BGP; l'indirizzo deve essere nell'intervallo2600:2d00:0:2::/64
o2600:2d00:0:3::/64
Se non specifichi gli indirizzi IPv6 successivi, Google Cloud assegna automaticamente gli indirizzi inutilizzati nell'intervallo
2600:2d00:0:2::/64
o2600:2d00:0:3::/64
.AUTHENTICATION_KEY_2
la chiave segreta da utilizzare per l'autenticazione MD5 suPEER_NAME_GW1_IF1
; per ulteriori informazioni su questa funzionalità facoltativa, consulta Utilizzare l'autenticazione MD5
Crea un'interfaccia BGP per
TUNNEL_NAME_GW1_IF1
gcloud compute routers add-interface ROUTER_NAME_1 \ --interface-name=ROUTER_1_INTERFACE_NAME_1 \ --ip-address=IP_ADDRESS_2 \ --mask-length=MASK_LENGTH \ --vpn-tunnel=TUNNEL_NAME_GW1_IF1 \ --region=REGION
Crea un peer BGP per
TUNNEL_NAME_GW1_IF1
Il comando di esempio riportato di seguito crea un peer BGP abilitato per IPv6 con indirizzi BGP IPv4 specificati manualmente e indirizzi IPv6 successivi:
gcloud compute routers add-bgp-peer ROUTER_NAME_1 \ --peer-name=PEER_NAME_GW1_IF1 \ --interface=ROUTER_1_INTERFACE_NAME_1 \ --peer-ip-address=PEER_IP_ADDRESS_2 \ --peer-asn=PEER_ASN_2 \ --region=REGION \ --enable-ipv6 \ --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS_1 \ --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS_1
Il seguente comando crea un peer BGP che non ha abilitato IPv6:
gcloud compute routers add-bgp-peer ROUTER_NAME_1 \ --peer-name=PEER_NAME_GW1_IF1 \ --interface=ROUTER_1_INTERFACE_NAME_1 \ --peer-ip-address=PEER_IP_ADDRESS_2 \ --peer-asn=PEER_ASN_2 \ --region=REGION
Se vuoi utilizzare l'autenticazione MD5, utilizza il flag "--md5-authentication- key" per fornire la tua chiave segreta:gcloud compute routers add-bgp-peer ROUTER_NAME_1 \ --peer-name=PEER_NAME_GW1_IF1 \ --interface=ROUTER_1_INTERFACE_NAME_1 \ --peer-ip-address=PEER_IP_ADDRESS_2 \ --peer-asn=PEER_ASN_2 \ --region=REGION --md5-authentication-key=AUTHENTICATION_KEY_2
L'output comando dovrebbe essere simile al seguente esempio:Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
Verifica le impostazioni di
ROUTER_NAME_1
:gcloud compute routers describe ROUTER_NAME_1 \ --region=REGION
L'output comando dovrebbe essere simile al seguente esempio:
bgp: advertisemode: DEFAULT asn: 65001 keepaliveInterval: 20 bgpPeers: — bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 mode: DISABLED multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' enableIpv6: true interfaceName: if-tunnel-a-to-b-if-0 ipAddress: 169.254.0.1 ipv6NexthopAddress: 2600:2d00:0:2:0:0:0:1 name: bgp-peer-tunnel-a-to-b-if-0 peerAsn: 65002 peerIpAddress: 169.254.0.2 peerIpv6NexthopAddress: 2600:2d00:0:2:0:0:0:2 — bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 mode: DISABLED multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' enableIpv6: true interfaceName: if-tunnel-a-to-b-if-1 ipAddress: 169.254.1.1 ipv6NexthopAddress: 2600:2d00:0:2:0:0:1:1 name: bgp-peer-tunnel-a-to-b-if-1 peerAsn: 65002 peerIpAddress: 169.254.1.2 peerIpv6NexthopAddress: 2600:2d00:0:2:0:0:1:2 creationTimestamp: '2021-10-19T14:31:52.639-07:00' id: '4047683710114914215' interfaces: — ipRange: 169.254.0.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0 name: if-tunnel-a-to-b-if-0 — ipRange: 169.254.1.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1 name: if-tunnel-a-to-b-if-1 kind: compute#router name: router-a network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
Crea un'interfaccia BGP e un peer BGP su
ROUTER_NAME_2
per il tunnelTUNNEL_NAME_GW2_IF0
.Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere
TUNNEL_NAME_GW2_IF0
suinterface 0
daGW_2
ainterface 0
diGW_1
.Nei comandi seguenti, sostituisci quanto segue:
ROUTER_2_INTERFACE_NAME_0
: un nome di interfaccia BGP per il router Cloud; l'utilizzo di un nome relativo aTUNNEL_NAME_GW2_IF0
è utileIP_ADDRESS_3
: l'indirizzo IP BGP utilizzato in precedenza per il gateway e per l'interfaccia. Se hai assegnato automaticamente l'indirizzo IP peer BGP quando hai creato l'interfaccia BGP e il peer perTUNNEL_NAME_GW1_IF0
suROUTER_NAME_1
, devi specificare l'indirizzo allocato comeIP_ADDRESS_3
. Per scoprire quali indirizzi sono stati allocati da Google Cloud, eseguigcloud compute routers describe ROUTER_NAME_1
. Nell'output per il peer BGP, utilizza il valore visualizzato nel campopeerIpAddress
. In questo esempio viene utilizzato169.254.0.2
.MASK_LENGTH
:30
; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco169.254.0.0/16
PEER_NAME_GW2_IF0
: un nome che descrive il peer BGP; l'utilizzo di un nome relativo aTUNNEL_NAME_GW2_IF0
è utilePEER_IP_ADDRESS_3
: l'indirizzo IP BGP utilizzato in precedenza quando hai configurato il primo gateway e la prima interfaccia. Eseguigcloud compute routers describe ROUTER_NAME_1
e utilizza il valore visualizzato nel campoipAddress
per il peer BGP che hai creato perTUNNEL_NAME_GW1_IF0
. In questo esempio viene utilizzato169.254.0.1
.PEER_ASN_1
: il numero ASN utilizzato per tutte le interfacce suROUTER_NAME_1
e impostato in precedenza. In questo esempio viene utilizzato il numero ASN65001
- (Facoltativo) Se crei tunnel VPN che consentono il traffico IPv6, specifica
--enable-ipv6
nel comandoadd-bgp-peer
. Devi configurare gli indirizzi hop successivi IPv6 in modo che corrispondano all'interfaccia e al peer BGP abilitato per IPv6, configurato per il primo gateway. Per configurare gli indirizzi hop successivi, sostituiscili entrambi con quanto segue:IPV6_NEXTHOP_ADDRESS_3
: l'indirizzo hop successivo per le route IPv6 che hai specificato in precedenza inPEER_IPV6_NEXTHOP_ADDRESS_1
. Se hai assegnato automaticamente gli indirizzi dell'hop successivo IPv6 quando hai creato l'interfaccia BGP e il peer perTUNNEL_NAME_GW1_IF0
il giornoROUTER_NAME_1
, devi scoprire quale indirizzo è stato assegnato da Google Cloud. Eseguigcloud compute routers describe ROUTER_NAME_1
e controlla l'output del peer BPG configurato perTUNNEL_NAME_GW1_IF0
. Utilizza il valore visualizzato nel campopeerIpv6NextHopAddress
. In questo esempio viene utilizzato2600:2d00:0:2:0:0:0:2
.PEER_IPV6_NEXTHOP_ADDRESS_3
: il prossimo indirizzo hop per le route IPv6 apprese dal router Cloud dal peer BGP. Utilizza il valore specificato in precedenza inIPV6_NEXTHOP_ADDRESS_1
. Se hai assegnato automaticamente indirizzi IPv6 hop, eseguigcloud compute routers describe ROUTER_NAME_1
e controlla l'output del peer BPG che hai configurato perTUNNEL_NAME_GW1_IF0
. Utilizza il valore visualizzato nel campoIpv6NextHopAddress
. In questo esempio viene utilizzato2600:2d00:0:2:0:0:0:1
.
AUTHENTICATION_KEY
la chiave segreta da utilizzare per l'autenticazione MD5 suPEER_NAME_GW2_IF0
Crea un'interfaccia BGP per
TUNNEL_NAME_GW2_IF0
gcloud compute routers add-interface ROUTER_NAME_2 \ --interface-name=ROUTER_2_INTERFACE_NAME_0 \ --ip-address=IP_ADDRESS_3 \ --mask-length=MASK_LENGTH \ --vpn-tunnel=TUNNEL_NAME_GW2_IF0 \ --region=REGION
Crea un peer BGP per
TUNNEL_NAME_GW2_IF0
Il comando di esempio riportato di seguito crea un peer BGP abilitato per IPv6:
gcloud compute routers add-bgp-peer ROUTER_NAME_2 \ --peer-name=PEER_NAME_GW2_IF0 \ --interface=ROUTER_2_INTERFACE_NAME_0 \ --peer-ip-address=PEER_IP_ADDRESS_3 \ --peer-asn=PEER_ASN_1 \ --region=REGION \ --enable-ipv6 \ --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \ --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
Il comando seguente crea un peer BGP senza IPv6 abilitato:
gcloud compute routers add-bgp-peer ROUTER_NAME_2 \ --peer-name=PEER_NAME_GW2_IF0 \ --interface=ROUTER_2_INTERFACE_NAME_0 \ --peer-ip-address=PEER_IP_ADDRESS_3 \ --peer-asn=PEER_ASN_1 \ --region=REGION
In alternativa, se hai configurato
ROUTER_NAME_1
per l'utilizzo dell'autenticazione MD5 perPEER_NAME_GW1_IF0
, configuraROUTER_NAME_2
per l'utilizzo dell'autenticazione MD5:gcloud compute routers add-bgp-peer ROUTER_NAME_2 \ --peer-name=PEER_NAME_GW2_IF0 \ --interface=ROUTER_2_INTERFACE_NAME_0 \ --peer-ip-address=PEER_IP_ADDRESS_3 \ --peer-asn=PEER_ASN_1 \ --region=REGION --md5-authentication-key=AUTHENTICATION_KEY
L'output comando dovrebbe essere simile al seguente esempio:Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b].
Crea un'interfaccia BGP e un peer BGP su
ROUTER_NAME_2
per il tunnelTUNNEL_NAME_GW2_IF1
.Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere
TUNNEL_NAME_GW2_IF1
suinterface 1
daGW_2
ainterface 1
diGW_1
.Nei comandi seguenti, sostituisci quanto segue:
ROUTER_2_INTERFACE_NAME_1
: un nome di interfaccia BGP per il router Cloud; l'utilizzo di un nome relativo aTUNNEL_NAME_GW2_IF1
è utileIP_ADDRESS_4
: l'indirizzo IP BGP utilizzato in precedenza per il gateway e per l'interfaccia. Se hai assegnato automaticamente l'indirizzo IP peer BGP quando hai creato l'interfaccia BGP e il peer perTUNNEL_NAME_GW1_IF1
suROUTER_NAME_1
, devi specificare l'indirizzo allocato comeIP_ADDRESS_4
. Per scoprire quali indirizzi sono stati allocati da Google Cloud, eseguigcloud compute routers describe ROUTER_NAME_1
. Nell'output per il peer BGP, utilizza il valore visualizzato nel campopeerIpAddress
. In questo esempio viene utilizzato169.254.1.2
.MASK_LENGTH
:30
; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco169.254.0.0/16
PEER_NAME_GW2_IF1
: un nome che descrive il peer BGP; l'utilizzo di un nome relativo aTUNNEL_NAME_GW2_IF1
è utilePEER_IP_ADDRESS_4
: l'indirizzo IP specificato comeIP_ADDRESS_2
quando hai configurato il primo gateway e la prima interfaccia. Eseguigcloud compute routers describe ROUTER_NAME_1
e utilizza il valore visualizzato nel campoipAddress
per il peer BGP che hai creato perTUNNEL_NAME_GW2_IF1
. In questo esempio viene utilizzato169.254.1.1
.PEER_ASN_1
: il numero ASN utilizzato per tutte le interfacce suROUTER_NAME_1
e impostato in precedenza; questo esempio utilizza il numero ASN65001
- (Facoltativo) Se hai configurato il peer e le interfacce BGP sul primo gateway per consentire il traffico IPv6, specifica
--enable-ipv6
. Per configurare gli indirizzi hop successivi, sostituiscili entrambi con quanto segue:IPV6_NEXTHOP_ADDRESS_4
: l'indirizzo hop successivo per le route IPv6 che hai specificato in precedenza in PEER_IPV6_NEXTHOP_ADDRESS_2. Se hai assegnato automaticamente gli indirizzi dell'hop successivo IPv6 quando hai creato l'interfaccia BGP e il peer perTUNNEL_NAME_GW1_IF1
il giornoROUTER_NAME_1
, devi scoprire quale indirizzo è stato assegnato da Google Cloud. Eseguigcloud compute routers describe ROUTER_NAME_1
e controlla l'output del peer BPG configurato perTUNNEL_NAME_GW1_IF1
. Utilizza il valore visualizzato nel campopeerIpv6NextHopAddress
.PEER_IPV6_NEXTHOP_ADDRESS_3
: il prossimo indirizzo hop per le route IPv6 apprese dal router Cloud dal peer BGP. Utilizza il valore specificato in precedenza inIPV6_NEXTHOP_ADDRESS_2
. Se hai assegnato automaticamente indirizzi IPv6 hop, eseguigcloud compute routers describe ROUTER_NAME_1
e controlla l'output del peer BPG che hai configurato perTUNNEL_NAME_GW1_IF1
. Utilizza il valore visualizzato nel campoIpv6NextHopAddress
. In questo esempio viene utilizzato2600:2d00:0:2:0:0:1:1
.
AUTHENTICATION_KEY_2
la chiave segreta da utilizzare per l'autenticazione MD5 suPEER_NAME_GW2_IF1
Crea un'interfaccia BGP per
TUNNEL_NAME_GW2_IF1
gcloud compute routers add-interface ROUTER_NAME_2 \ --interface-name=ROUTER_2_INTERFACE_NAME_1 \ --ip-address=IP_ADDRESS_4 \ --mask-length=MASK_LENGTH \ --vpn-tunnel=TUNNEL_NAME_GW2_IF1 \ --region=REGION
L'output comando dovrebbe essere simile al seguente esempio:
Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b].
Crea un peer BGP per
TUNNEL_NAME_GW2_IF1
Il comando di esempio riportato di seguito crea un peer BGP abilitato per IPv6:
gcloud compute routers add-bgp-peer ROUTER_NAME_2 \ --peer-name=PEER_NAME_GW2_IF1 \ --interface=ROUTER_2_INTERFACE_NAME_1 \ --peer-ip-address=PEER_IP_ADDRESS_4 \ --peer-asn=PEER_ASN_1 \ --region=REGION \ --enable-ipv6 \ --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \ --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
Il comando seguente crea un peer BGP senza IPv6 abilitato:
gcloud compute routers add-bgp-peer ROUTER_NAME_2 \ --peer-name=PEER_NAME_GW2_IF1 \ --interface=ROUTER_2_INTERFACE_NAME_1 \ --peer-ip-address=PEER_IP_ADDRESS_4 \ --peer-asn=PEER_ASN_1 \ --region=REGION
In alternativa, se hai configurato
ROUTER_NAME_1
per l'utilizzo dell'autenticazione MD5 perPEER_NAME_GW1_IF1
, configuraROUTER_NAME_2
per l'utilizzo dell'autenticazione MD5, come segue:gcloud compute routers add-bgp-peer ROUTER_NAME_2 \ --peer-name=PEER_NAME_GW2_IF1 \ --interface=ROUTER_2_INTERFACE_NAME_1 \ --peer-ip-address=PEER_IP_ADDRESS_4 \ --peer-asn=PEER_ASN_1 \ --region=REGION --md5-authentication-key=AUTHENTICATION_KEY_2
L'output comando dovrebbe essere simile al seguente esempio:Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b].
Verifica le impostazioni di
ROUTER_NAME_2
:gcloud compute routers describe ROUTER_NAME_2 \ --region=REGION
L'output comando dovrebbe essere simile al seguente esempio:
bgp: advertiseMode: DEFAULT asn: 65002 bgpPeers: — bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 mode: DISABLED multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' enableIpv6: true interfaceName: if-tunnel-b-to-a-if-0 ipAddress: 169.254.0.2 ipv6NexthopAddress: 2600:2d00:0:2:0:0:0:2 name: bgp-peer-tunnel-b-to-a-if-0 peerAsn: 65001 peerIpAddress: 169.254.0.1 peerIpv6NexthopAddress: 2600:2d00:0:2:0:0:0:1 bgpPeers: — bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 mode: DISABLED multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' enableIpv6: true interfaceName: if-tunnel-b-to-a-if-1 ipAddress: 169.254.1.2 ipv6NexthopAddress: 2600:2d00:0:2:0:0:1:2 name: bgp-peer-tunnel-b-to-a-if-1 peerAsn: 65001 peerIpAddress: 169.254.1.1 peerIpv6NexthopAddress: 2600:2d00:0:2:0:0:1:1 creationTimestamp: '2021-10-19T14:31:52.639-07:00' id: '4047683710114914215' interfaces: — ipRange: 169.254.0.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0 name: if-tunnel-b-to-a-if-0 — ipRange: 169.254.1.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1 name: if-tunnel-b-to-a-if-1 kind: compute#router name: router-b network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-b region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
API
Per creare un'interfaccia BGP del router Cloud, effettua una richiesta
PATCH
oUPDATE
al metodorouters.patch
o al metodorouters.update
.PATCH
aggiorna solo i parametri che includi.UPDATE
aggiorna tutti i parametri per il router Cloud. Crea un'interfaccia BGP per ogni tunnel VPN sul gateway VPN ad alta disponibilità.Gli intervalli di indirizzi IP BGP specificati devono essere univoci tra tutti i router Cloud in tutte le regioni di una rete VPC.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/{resourceId} { "interfaces": [ { "name": "if-tunnel-a-to-on-prem-if-0", "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0", "ipRange": "169.254.0.1/30" } ] }
Per aggiungere un peer BGP a un router Cloud per ogni tunnel VPN, effettua una richiesta
POST
al metodorouters.insert
. Ripeti questo comando per l'altro tunnel VPN, modificando tutte le opzioni trannename
epeerAsn
.Per creare una configurazione di sessione BGP completa per un gateway VPN ad alta disponibilità, utilizza il seguente comando API:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "router-a", "network": "network-a", "bgpPeers": [ { "name": "bgp-peer-tunnel-a-to-on-prem-if-0", "interfaceName": "if-tunnel-a-to-on-prem-if-0", "ipAddress": "169.254.0.1", "peerIpAddress": "169.254.0.2", "peerAsn": "65002", "advertiseMode": "DEFAULT" } ] }
Per creare la configurazione della sessione BGP completa per un gateway VPN ad alta disponibilità con IPv6 abilitato, utilizza il seguente comando API:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "router-a", "network": "network-a", "bgpPeers": [ { "name": "bgp-peer-tunnel-a-to-on-prem-if-0", "interfaceName": "if-tunnel-a-to-on-prem-if-0", "ipAddress": "169.254.0.1", "peerIpAddress": "169.254.0.2", "peerAsn": "65002", "advertiseMode": "DEFAULT" "enableIpv6": "true" "ipv6NexthopAddress: "2600:2d00:0:2:0:0:0:1" "peerIpv6NexthopAddress: "2600:2d00:0:2:0:0:0:2" } ] }
Se vuoi configurare la sessione per l'utilizzo dell'autenticazione MD5, la tua richiesta deve includere una chiave di autenticazione, il che significa che deve fornire sia la chiave sia un nome per la chiave. Deve inoltre fare riferimento alla chiave in base al nome durante la creazione della sessione di peering BGP. Ad esempio:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "bgppeer-1-key", "key": "secret_key_value" } ], } { "bgpPeers": [ { "interfaceName": "if-tunnel-a-to-on-prem-if-0", "ipAddress": "169.254.0.1", "name": "bgp-peer-tunnel-a-to-on-prem-if-0", "peerAsn": "65002", "peerIpAddress": "169.254.0.2", "advertiseMode": "DEFAULT", "md5AuthenticationKeyName": "bgppeer-1-key" } ], }
Verificare la configurazione
Console
Per verificare la configurazione, vai alla pagina Riepilogo e promemoria:
- La sezione Riepilogo di questa pagina elenca le informazioni relative al gateway VPN ad alta disponibilità e al profilo gateway VPN peer. Per ogni tunnel VPN puoi visualizzare lo stato del tunnel VPN, il nome della sessione BGP, lo stato della sessione BGP e il valore MED (priorità route pubblicizzata).
- La sezione Promemoria di questa pagina elenca i passaggi che devi completare per ottenere una connessione VPN completamente operativa tra Cloud VPN e la tua VPN peer. Dopo aver esaminato le informazioni su questa pagina, fai clic su OK.
gcloud
Per verificare le configurazioni del router Cloud, consulta i passaggi di verifica nella scheda gcloud
in Crea sessioni BGP.
API
Per verificare la configurazione del router Cloud, effettua una richiesta GET
utilizzando il metodo routers.getRouterStatus
e utilizzando un corpo della richiesta vuoto:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
Crea un tunnel aggiuntivo su un gateway a tunnel singolo
Console
Per ricevere uno SLA con uptime del 99,99%, configura un tunnel su ogni interfaccia VPN ad alta disponibilità su ciascun lato della configurazione di un gateway VPN da alta disponibilità a VPN ad alta disponibilità.
Se hai configurato un tunnel su un gateway VPN ad alta disponibilità connesso a un altro gateway VPN ad alta disponibilità, ma vuoi ricevere uno SLA con uptime del 99,99%, devi configurare un secondo tunnel.
Per configurare un secondo tunnel, segui i passaggi descritti in Aggiungere un tunnel da un gateway VPN ad alta disponibilità a un altro gateway VPN ad alta disponibilità.
(Facoltativo) Impostare la priorità del percorso annunciato di base
Le sessioni BGP create consentono a ogni router Cloud di indirizzare le route alle reti peer. Gli annunci pubblicitari utilizzano le priorità di base non modificate.
Utilizza la configurazione descritta in Creare due gateway VPN ad alta disponibilità completamente configurati che si connettono tra loro per configurazioni di routing attive/attive in cui le priorità di route annunciate dei due tunnel corrispondono su entrambi i lati. Se ometti la priorità delle route annunciate (--advertised-route-priority
), le priorità della route pubblicizzata vengono entrambe uguali a entrambi i peer BGP.
Per le configurazioni di routing attive/passive, puoi controllare la priorità di route annunciata delle route to Google Cloud
che il router Cloud condivide con il gateway VPN peer impostando la priorità di route pubblicizzata (--advertised-route-priority
) quando aggiungi o aggiorni un peer BGP. Per creare una configurazione attiva/passiva, imposta una priorità di route pubblicizzata più elevata per una sessione BGP e il tunnel VPN corrispondente rispetto all'altra sessione BGP e al tunnel VPN.
Per ulteriori informazioni sulla priorità di base del percorso pubblicizzato, consulta Prefissi e priorità pubblicizzati.
Puoi anche perfezionare i percorsi pubblicizzati utilizzando annunci personalizzati:
- Aggiungi il flag
--advertisement-mode=CUSTOM
(gcloud
) o il flagadvertiseMode: custom
(API). - Specifica gli intervalli di indirizzi IP con il flag
--set-advertisement-ranges
(gcloud
) o il flagadvertisedIpRanges
(API).
Completare la configurazione
Prima di poter utilizzare un nuovo gateway Cloud VPN e i relativi tunnel VPN associati, completa i seguenti passaggi:
- Configura le regole firewall in Google Cloud per le tue reti VPC.
- Controlla lo stato dei tunnel VPN. Questo passaggio include il controllo della configurazione ad alta disponibilità del gateway VPN ad alta disponibilità.
Passaggi successivi
- Per controllare quali indirizzi IP sono consentiti per i gateway VPN peer, consulta Limitare gli indirizzi IP per i gateway VPN peer.
- Per utilizzare scenari ad alta disponibilità e ad alta velocità effettiva o più scenari di subnet, consulta Configurazioni avanzate.
- Per risolvere i problemi comuni che potresti riscontrare quando utilizzi Cloud VPN, consulta la sezione Risoluzione dei problemi.