Crea gateway VPN ad alta disponibilità per connettere reti VPC

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:

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 a interface 0 sul secondo gateway.
    • Il tunnel su interface 1 del primo gateway deve connettersi a interface 1 sul secondo gateway.

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:

  1. 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.
  2. Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.

  4. Installa Google Cloud CLI.
  5. Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:

    gcloud init
  6. Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  7. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.

  8. Installa Google Cloud CLI.
  9. Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:

    gcloud init
  1. 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
        
  1. 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 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:

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à:

  1. Nella console Google Cloud, vai alla pagina VPN.

    Vai alla VPN

  2. Se stai creando un gateway per la prima volta, fai clic su Crea connessione VPN.

  3. Seleziona la configurazione guidata della VPN.

  4. Se hai già un gateway VPN ad alta disponibilità, seleziona il pulsante di opzione per quel gateway.

  5. Fai clic su Continua.

  6. Specifica un Nome gateway VPN.

  7. In Rete VPC, seleziona una rete esistente o quella predefinita.

  8. Seleziona una regione.

  9. Seleziona un tipo di stack per il gateway, IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).

  10. Fai clic su Crea e continua.

  11. 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 e GW_NAME_2: il nome di ogni gateway
    • NETWORK: il nome della rete Google Cloud
    • REGION: la regione di Google Cloud in cui devi creare il gateway e il tunnel
    • IP_STACK: (facoltativo) lo stack IP da utilizzare. Specifica IPV4_ONLY o IPV4_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.

  1. Crea il primo gateway VPN ad alta disponibilità effettuando una richiesta POST al metodo vpnGateways.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 sono IPV4_IPV6 o IPV4_ONLY. Se non specifichi un stackType, il valore predefinito è IPV4_ONLY.

  2. Ripeti il comando per creare il secondo gateway VPN ad alta disponibilità e specifica i valori project, name, network e region appropriati.

    Se hai specificato stackType per il primo gateway, utilizza lo stesso tipo di stack per il secondo gateway, IPV4_ONLY o IPV4_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:

  1. Nella pagina Crea una VPN, in Gateway VPN peer, seleziona Google Cloud.
  2. In Progetto, seleziona il progetto Google Cloud che contiene il nuovo gateway.
  3. In Nome gateway VPN, seleziona la seconda VPN ad alta disponibilità creata in Creare gateway VPN ad alta disponibilità.
  4. 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.

  1. 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 a 65534, da 4200000000 a 4294967294) 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.

  2. 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 e PEER_ASN_2: qualsiasi ASN privato (da 64512 a 65534, da 4200000000 a 4294967294) che non stai già utilizzando. Questo esempio utilizza ASN 65001 per entrambe le interfacce di ROUTER_NAME_1 e ASN 65002 per entrambe le interfacce di ROUTER_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:

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

  2. Completa i passaggi seguenti nella stessa pagina o nella finestra di dialogo di ogni tunnel nella parte inferiore della pagina.

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

    1. Specifica un nome per il tunnel.
    2. Specifica una Descrizione facoltativa.
    3. Specifica la versione IKE. Consigliamo IKEv2, l'impostazione predefinita. Per consentire il traffico IPv6, devi selezionare IKEv2.
    4. 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.
    5. Fai clic su Fine.
    6. Nella pagina Crea VPN, ripeti i passaggi per la creazione di eventuali finestre di dialogo del tunnel rimanenti.
  4. 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 di GW_NAME_1 deve connettersi all'indirizzo IP esterno associato a interface 0 di GW_NAME_2 in NETWORK_2.
  • Il tunnel da interface 1 di GW_NAME_1 deve connettersi all'indirizzo IP esterno associato con interface 1 di GW_NAME_2.
  • Quando crei tunnel VPN in GW_NAME_1 in NETWORK_1, specifica le informazioni per GW_NAME_2 in NETWORK_2. Google connette automaticamente il tunnel da interface 0 di GW_NAME_1 a interface 0 di GW_NAME_2 e interface 1 di GW_NAME_1 a interface 1 di GW_NAME_2.

    Crea due tunnel su GW_NAME_1

    • Crea due tunnel VPN, uno su ogni interfaccia, di GW_NAME_1 in NETWORK_1.

      Nei comandi seguenti, sostituisci quanto segue:

      • TUNNEL_NAME_GW1_IF0 e TUNNEL_NAME_GW1_IF1: un nome per ogni tunnel che ha origine da GW_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 momento
      • GW_NAME_2: il valore di --peer-gcp-gateway
      • REGION: la regione in cui si trova GW_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 da GW_NAME_2 su interface 0 e interface 1; per i suggerimenti, consulta Generare una chiave precondivisa
      • INT_NUM_0: il numero 0 per la prima interfaccia su GW_NAME_1
      • INT_NUM_1: il numero 1 per la seconda interfaccia su GW_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 in NETWORK_2.

      • Il tunnel che crei da interface 0 di GW_NAME_2 deve connettersi all'indirizzo IP esterno associato con interface 0 di GW_NAME_1 in NETWORK_1.
      • Il tunnel da interface 1 di GW_NAME_2 deve connettersi all'indirizzo IP esterno associato con interface 1 di GW_NAME_1.

      Nei comandi seguenti, sostituisci quanto segue:

      • REGION: la regione in cui si trova GW_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 e TUNNEL_NAME_GW2_IF1: un nome per ogni tunnel che ha origine da GW_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 momento
      • GW_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 di GW_NAME_1; per i suggerimenti, consulta Generare una chiave precondivisa efficace
      • GW_NAME_2: il nome del secondo gateway che hai configurato nel passaggio di configurazione del gateway
      • INT_NUM_0: il numero 0 per la prima interfaccia su GW_NAME_2
      • INT_NUM_1: il numero 1 per la seconda interfaccia su GW_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
      

    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 su ha-vpn-gw-a può essere stabilito solo se tunnel-b-to-a-if-0 su ha-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.

  1. 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 per ikeVersion.

  2. Per creare il secondo tunnel, ripeti il comando precedente, ma modifica i seguenti parametri:

    • name: ad esempio, ha-vpn-gw-a-tunnel-1
    • sharedSecret o sharedSecretHash (se necessario)
    • vpnGatewayInterface: modifica il valore dell'altra interfaccia gateway VPN ad alta disponibilità; in questo esempio, modifica questo valore in 1

Quindi, crea due tunnel per il secondo gateway VPN ad alta disponibilità che si connettono al tuo primo gateway VPN ad alta disponibilità.

  1. 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 per ikeVersion.

  2. Per creare il secondo tunnel sul secondo gateway VPN ad alta disponibilità, ripeti il comando precedente, ma modifica i seguenti parametri:

    • name: ad esempio ha-vpn-gw-b-tunnel-1
    • sharedSecret o sharedSecretHash: specifica il sharedSecret o il sharedSecretHash che hai utilizzato durante la creazione del secondo tunnel sul primo gateway
    • vpnGatewayInterface: modifica il valore dell'altra interfaccia gateway VPN ad alta disponibilità; in questo esempio, modifica questo valore in 1

Creare sessioni BGP

Console

Per creare sessioni BGP:

  1. Se non vuoi configurare le sessioni BGP ora, fai clic su Configura sessioni BGP in seguito per aprire la pagina Riepilogo e promemoria.
  2. Se vuoi configurare le sessioni BGP ora, nel primo tunnel VPN fai clic su Configura.
  3. Nella pagina Crea sessione BGP, completa i seguenti passaggi:
    1. Specifica un nome per la sessione BGP.
    2. Specifica l'ASN peer configurato per il gateway VPN peer.
    3. (Facoltativo) Specifica la priorità del percorso pubblicizzato.
    4. (Facoltativo) Seleziona Abilita IPv6 per consentire lo scambio di prefissi indirizzo IPv6 sulla sessione BGP.
    5. 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.
    6. Facoltativo: se hai abilitato IPv6, puoi allocare gli indirizzi hop successivi IPv6 automaticamente o manualmente. Per assegnare gli indirizzi manualmente:
      1. In Alloca l'hop successivo IPv6, seleziona Manualmente.
      2. 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 o 2600:2d00:0:3::/64.
      3. 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 o 2600:2d00:0:3::/64.
    7. (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.
    8. (Facoltativo) Fai clic sull'elenco Route annunciate e crea route personalizzate.
    9. Fai clic su Salva e continua.
  4. 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.
  5. 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.

  1. Crea un'interfaccia BGP e un peer BGP su ROUTER_NAME_1 per il tunnel TUNNEL_NAME_GW1_IF0.

    Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere TUNNEL_NAME_GW1_IF0 su interface 0 da GW_1 a interface 0 di GW_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 a TUNNEL_NAME_GW1_IF0 è utile
    • IP_ADDRESS_1: facoltativo: un indirizzo IP BGP del blocco 169.254.0.0/16 non ancora in uso; questo esempio utilizza 169.254.0.1. Se ometti questo flag e non assegni manualmente un indirizzo IP BGP, Google Cloud ne assegna automaticamente uno dal blocco 169.254.0.0/16.
    • MASK_LENGTH: 30; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco 169.254.0.0/16
    • PEER_NAME_GW1_IF0: un nome che descrive il peer BGP; l'utilizzo di un nome relativo a TUNNEL_NAME_GW1_IF0 è utile
    • PEER_IP_ADDRESS_1: facoltativo: un indirizzo IP BGP del blocco 169.254.0.0/16 non ancora in uso; questo esempio utilizza 169.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 Cloud ROUTER_NAME_2; questo esempio utilizza il numero ASN 65002
    • (Facoltativo) Se crei tunnel VPN che consentono il traffico IPv6, specifica --enable-ipv6 quando esegui il comando add-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'intervallo 2600:2d00:0:2::/64 o 2600: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'intervallo 2600:2d00:0:2::/64 o 2600: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 o 2600:2d00:0:3::/64.

    • AUTHENTICATION_KEY la chiave segreta da utilizzare per l'autenticazione MD5 su PEER_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].
    
  2. Crea un'interfaccia BGP e un peer BGP su ROUTER_NAME_1 per il tunnel TUNNEL_NAME_GW1_IF1.

    Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere TUNNEL_NAME_GW1_IF1 su interface 1 da GW_1 a interface 1 di GW_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 a TUNNEL_NAME_GW1_IF1 è utile
    • IP_ADDRESS_2: facoltativo: un indirizzo IP BGP del blocco 169.254.0.0/16 non ancora in uso; questo esempio utilizza 169.254.1.1. Se ometti questo flag e non assegni manualmente un indirizzo IP BGP, Google Cloud ne assegna automaticamente uno dal blocco 169.254.0.0/16.
    • MASK_LENGTH: 30; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco 169.254.0.0/16
    • PEER_NAME_GW1_IF1: un nome che descrive il peer BGP; l'utilizzo di un nome relativo a TUNNEL_NAME_GW1_IF1 è utile
    • PEER_IP_ADDRESS_2: un indirizzo IP BGP del blocco 169.254.0.0/16 non già in uso; questo esempio utilizza 169.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 manualmente IP_ADDRESS_2, devi anche configurare manualmente questa opzione.
    • PEER_ASN_2: il numero ASN utilizzato per tutte le interfacce sull'altro router Cloud ROUTER_NAME_2; in questo esempio viene utilizzato il numero ASN 65002
    • (Facoltativo) Se crei tunnel VPN che consentono il traffico IPv6, specifica --enable-ipv6 nel comando add-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'intervallo 2600:2d00:0:2::/64 o 2600: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'intervallo 2600:2d00:0:2::/64 o 2600: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 o 2600:2d00:0:3::/64.

    • AUTHENTICATION_KEY_2 la chiave segreta da utilizzare per l'autenticazione MD5 su PEER_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].
    
  3. 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
    
  4. Crea un'interfaccia BGP e un peer BGP su ROUTER_NAME_2 per il tunnel TUNNEL_NAME_GW2_IF0.

    Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere TUNNEL_NAME_GW2_IF0 su interface 0 da GW_2 a interface 0 di GW_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 a TUNNEL_NAME_GW2_IF0 è utile
    • IP_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 per TUNNEL_NAME_GW1_IF0 su ROUTER_NAME_1, devi specificare l'indirizzo allocato come IP_ADDRESS_3. Per scoprire quali indirizzi sono stati allocati da Google Cloud, esegui gcloud compute routers describe ROUTER_NAME_1. Nell'output per il peer BGP, utilizza il valore visualizzato nel campo peerIpAddress. In questo esempio viene utilizzato 169.254.0.2.
    • MASK_LENGTH: 30; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco 169.254.0.0/16
    • PEER_NAME_GW2_IF0: un nome che descrive il peer BGP; l'utilizzo di un nome relativo a TUNNEL_NAME_GW2_IF0 è utile
    • PEER_IP_ADDRESS_3: l'indirizzo IP BGP utilizzato in precedenza quando hai configurato il primo gateway e la prima interfaccia. Esegui gcloud compute routers describe ROUTER_NAME_1 e utilizza il valore visualizzato nel campo ipAddress per il peer BGP che hai creato per TUNNEL_NAME_GW1_IF0. In questo esempio viene utilizzato 169.254.0.1.
    • PEER_ASN_1: il numero ASN utilizzato per tutte le interfacce su ROUTER_NAME_1 e impostato in precedenza. In questo esempio viene utilizzato il numero ASN 65001
    • (Facoltativo) Se crei tunnel VPN che consentono il traffico IPv6, specifica --enable-ipv6 nel comando add-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 in PEER_IPV6_NEXTHOP_ADDRESS_1. Se hai assegnato automaticamente gli indirizzi dell'hop successivo IPv6 quando hai creato l'interfaccia BGP e il peer per TUNNEL_NAME_GW1_IF0 il giorno ROUTER_NAME_1, devi scoprire quale indirizzo è stato assegnato da Google Cloud. Esegui gcloud compute routers describe ROUTER_NAME_1 e controlla l'output del peer BPG configurato per TUNNEL_NAME_GW1_IF0. Utilizza il valore visualizzato nel campo peerIpv6NextHopAddress. In questo esempio viene utilizzato 2600: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 in IPV6_NEXTHOP_ADDRESS_1. Se hai assegnato automaticamente indirizzi IPv6 hop, esegui gcloud compute routers describe ROUTER_NAME_1 e controlla l'output del peer BPG che hai configurato per TUNNEL_NAME_GW1_IF0. Utilizza il valore visualizzato nel campo Ipv6NextHopAddress. In questo esempio viene utilizzato 2600:2d00:0:2:0:0:0:1.
    • AUTHENTICATION_KEY la chiave segreta da utilizzare per l'autenticazione MD5 su PEER_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 per PEER_NAME_GW1_IF0, configura ROUTER_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].
    
  5. Crea un'interfaccia BGP e un peer BGP su ROUTER_NAME_2 per il tunnel TUNNEL_NAME_GW2_IF1.

    Questa interfaccia BGP utilizza due indirizzi IP BGP per connettere TUNNEL_NAME_GW2_IF1 su interface 1 da GW_2 a interface 1 di GW_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 a TUNNEL_NAME_GW2_IF1 è utile
    • IP_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 per TUNNEL_NAME_GW1_IF1 su ROUTER_NAME_1, devi specificare l'indirizzo allocato come IP_ADDRESS_4. Per scoprire quali indirizzi sono stati allocati da Google Cloud, esegui gcloud compute routers describe ROUTER_NAME_1. Nell'output per il peer BGP, utilizza il valore visualizzato nel campo peerIpAddress. In questo esempio viene utilizzato 169.254.1.2.
    • MASK_LENGTH: 30; ogni sessione BGP sullo stesso router Cloud deve utilizzare un CIDR /30 univoco dal blocco 169.254.0.0/16
    • PEER_NAME_GW2_IF1: un nome che descrive il peer BGP; l'utilizzo di un nome relativo a TUNNEL_NAME_GW2_IF1 è utile
    • PEER_IP_ADDRESS_4: l'indirizzo IP specificato come IP_ADDRESS_2 quando hai configurato il primo gateway e la prima interfaccia. Esegui gcloud compute routers describe ROUTER_NAME_1 e utilizza il valore visualizzato nel campo ipAddress per il peer BGP che hai creato per TUNNEL_NAME_GW2_IF1. In questo esempio viene utilizzato 169.254.1.1.
    • PEER_ASN_1: il numero ASN utilizzato per tutte le interfacce su ROUTER_NAME_1 e impostato in precedenza; questo esempio utilizza il numero ASN 65001
    • (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 per TUNNEL_NAME_GW1_IF1 il giorno ROUTER_NAME_1, devi scoprire quale indirizzo è stato assegnato da Google Cloud. Esegui gcloud compute routers describe ROUTER_NAME_1 e controlla l'output del peer BPG configurato per TUNNEL_NAME_GW1_IF1. Utilizza il valore visualizzato nel campo peerIpv6NextHopAddress.
      • 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 in IPV6_NEXTHOP_ADDRESS_2. Se hai assegnato automaticamente indirizzi IPv6 hop, esegui gcloud compute routers describe ROUTER_NAME_1 e controlla l'output del peer BPG che hai configurato per TUNNEL_NAME_GW1_IF1. Utilizza il valore visualizzato nel campo Ipv6NextHopAddress. In questo esempio viene utilizzato 2600:2d00:0:2:0:0:1:1.
    • AUTHENTICATION_KEY_2 la chiave segreta da utilizzare per l'autenticazione MD5 su PEER_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 per PEER_NAME_GW1_IF1, configura ROUTER_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].
    
  6. 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

  1. Per creare un'interfaccia BGP del router Cloud, effettua una richiesta PATCH o UPDATE al metodo routers.patch o al metodo routers.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"
       }
     ]
    }
    
  2. Per aggiungere un peer BGP a un router Cloud per ogni tunnel VPN, effettua una richiesta POST al metodo routers.insert. Ripeti questo comando per l'altro tunnel VPN, modificando tutte le opzioni tranne name e peerAsn.

    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:

  1. 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).
  2. 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 flag advertiseMode: custom (API).
  • Specifica gli intervalli di indirizzi IP con il flag --set-advertisement-ranges (gcloud) o il flag advertisedIpRanges (API).

Completare la configurazione

Prima di poter utilizzare un nuovo gateway Cloud VPN e i relativi tunnel VPN associati, completa i seguenti passaggi:

  1. Configura le regole firewall in Google Cloud per le tue reti VPC.
  2. Controlla lo stato dei tunnel VPN. Questo passaggio include il controllo della configurazione ad alta disponibilità del gateway VPN ad alta disponibilità.

Passaggi successivi