Creare un gateway VPN classica utilizzando il routing dinamico

In questa pagina viene descritto come utilizzare il routing dinamico per creare un gateway VPN classica e un tunnel che utilizzi il protocollo BGP (Border Gateway Protocol).

Con il routing dinamico non specifichi selettori del traffico locale o remoto; utilizzi invece un router Cloud. Le informazioni sul percorso vengono scambiate in modo dinamico.

Per saperne di più su Cloud VPN, consulta le seguenti risorse:

  • 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 la sezione Termini chiave.

Requisiti

Linee guida generali

Installare software VPN di terze parti su una VM di Compute Engine

Quando crei un tunnel VPN classica con routing dinamico, l'indirizzo IP specificato per l'interfaccia del gateway VPN peer deve essere assegnato a una VM di Compute Engine.

Di conseguenza, prima di poter creare tunnel VPN classica, devi installare il software VPN di terze parti su una VM di Compute Engine. Quando configuri i tunnel VPN classica, specifichi l'indirizzo IP esterno della VM di Compute Engine come interfaccia del gateway VPN peer.

Inoltre, l'indirizzo IP dell'interfaccia del gateway VPN peer deve essere allocato dal pool di indirizzi IPv4 esterni a livello di regione di proprietà di Google. L'indirizzo IP non può appartenere a un intervallo Bring your own IP address (BYOIP).

Creazione di router Cloud

Per creare un tunnel che utilizza il routing dinamico con la VPN classica, devi utilizzare il router Cloud. Puoi creare un nuovo router Cloud o utilizzarne uno esistente con i tunnel Cloud VPN o i collegamenti VLAN esistenti. Tuttavia, il router Cloud che utilizzi non deve gestire già una sessione BGP per un collegamento VLAN associato a una connessione Partner Interconnect a causa dei requisiti ASN specifici del collegamento.

Prima di iniziare

Configura i seguenti elementi in Google Cloud per semplificare la configurazione di Cloud VPN:

  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 pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Installa Google Cloud CLI.
  5. Per initialize gcloud CLI, esegui questo comando:

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

    Vai al selettore progetti

  7. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  8. Installa Google Cloud CLI.
  9. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  1. Se utilizzi Google Cloud CLI, imposta l'ID progetto con il comando seguente. Le istruzioni gcloud in questa pagina presuppongono che l'ID progetto sia stato impostato 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)'
        

Crea una rete VPC e una subnet personalizzate

Prima di creare un gateway e un tunnel VPN classica, crea una rete Virtual Private Cloud (VPC) e almeno una subnet nella regione in cui si trova il gateway VPN classica:

Crea un gateway e un tunnel

Console

Configura il gateway

  1. Vai alla pagina VPN nella console Google Cloud.
    Vai alla pagina VPN
    1. Se è la prima volta che crei un gateway, seleziona il pulsante Crea connessione VPN.
    2. Seleziona la Configurazione guidata VPN.
  2. Seleziona il pulsante di opzione per VPN classica.
  3. Fai clic su Continua.
  4. Nella pagina Crea una connessione VPN, specifica le seguenti impostazioni del gateway:
    • Nome: il nome del gateway VPN. Il nome non può essere modificato in un secondo momento.
    • Descrizione: se vuoi, aggiungi una descrizione.
    • Rete: specifica una rete VPC esistente in cui creare il gateway e il tunnel VPN.
    • Regione: i gateway e i tunnel Cloud VPN sono oggetti a livello di regione. Scegli una regione Google Cloud in cui si troverà il gateway. Le istanze e altre risorse in regioni diverse possono utilizzare il tunnel per il traffico in uscita in base all'ordine delle route. Per ottenere le migliori prestazioni, individua il gateway e il tunnel nella stessa regione delle risorse Google Cloud pertinenti.
    • Indirizzo IP: crea o scegli un indirizzo IP esterno a livello di regione esistente.

Configura i tunnel

  1. Specifica quanto segue nella sezione Tunnel per il nuovo elemento del tunnel:

    • Nome: il nome del tunnel VPN. Il nome non può essere modificato in un secondo momento.
    • Descrizione: se vuoi, digita una descrizione.
    • Indirizzo IP peer remoto: specifica l'indirizzo IP esterno del gateway VPN peer.
    • Versione IKE: scegli la versione IKE appropriata supportata dal gateway VPN peer. È preferibile IKEv2 se supportato dal dispositivo peer.

    • Secret condiviso: fornisce una chiave precondivisa utilizzata per l'autenticazione. Il secret condiviso per il tunnel Cloud VPN deve corrispondere a quello utilizzato durante la configurazione del tunnel di controparte sul gateway VPN peer. Puoi seguire queste istruzioni per generare un secret condiviso con efficacia crittografica.

    • Opzioni di routing: seleziona Dinamico (BGP). Puoi utilizzare il routing dinamico solo per connetterti a software gateway VPN di terze parti in esecuzione all'interno di un'istanza VM Google Cloud.

    • Router Cloud: se non l'hai ancora fatto, crea un nuovo router Cloud specificando le opzioni come indicato di seguito. In alternativa, puoi utilizzare un router Cloud esistente, se non gestisce già una sessione BGP per un collegamento di interconnessione associato a Partner Interconnect. Se scegli un router Cloud esistente, creerai comunque una nuova sessione BGP, ma l'ASN Google è lo stesso. Per creare un nuovo router Cloud, specifica i seguenti dettagli:

      • Nome: il nome del router Cloud. Il nome non può essere modificato in un secondo momento.
      • Descrizione: se vuoi, digita una descrizione.
      • ASN Google: scegli un ASN privato (da 64512 a 65534, da 4200000000 a 4294967294). Questo ASN Google viene utilizzato per tutte le sessioni BGP gestite dal router Cloud. L'ASN non può essere modificato in un secondo momento.
      • Fai clic su Salva e continua.
    • Sessione BGP: fai clic sull'icona a forma di matita e specifica i seguenti dettagli. Al termine, fai clic su Salva e continua:

      • Nome: il nome della sessione BGP. Non può essere modificato in un secondo momento.
      • ASN peer: un ASN pubblico o privato (da 64512 a 65534, da 4200000000 a 4294967294) utilizzato dal gateway VPN peer.
      • Priorità route annunciata: (facoltativo) il router Cloud con priorità di base utilizzata per pubblicizzare le route "a Google Cloud". Per ulteriori informazioni, consulta la sezione Prefissi e priorità annunciati. Il gateway VPN peer li importa come valori MED.
      • IP BGP del router Cloud e IP del peer BGP: i due indirizzi IP dell'interfaccia BGP devono essere indirizzi IP locali rispetto al collegamento appartenenti a un CIDR /30 comune del blocco 169.254.0.0/16. Ogni IP BGP definisce il rispettivo IP locale rispetto al collegamento utilizzato per scambiare le informazioni sulle route. Ad esempio, 169.254.1.1 e 169.254.1.2 appartengono a un blocco /30 comune.
  2. Se devi creare più tunnel sullo stesso gateway, fai clic su Aggiungi tunnel e ripeti il passaggio precedente. Puoi aggiungere altri tunnel in seguito.

  3. Fai clic su Crea.

gcloud

Nei seguenti comandi, sostituisci:

  • PROJECT_ID con l'ID del progetto.
  • NETWORK con il nome della tua rete Google Cloud.
  • REGION con l'area geografica Google Cloud in cui devi creare il gateway e il tunnel.
  • (Facoltativo) --target-vpn-gateway-region è la regione del gateway VPN classica su cui operare. Il suo valore dovrebbe essere uguale a --region. Se non specificata, questa opzione viene impostata automaticamente. Questa opzione sostituisce il valore predefinito della proprietà di calcolo/regione per la chiamata di questo comando.
  • GW_NAME con il nome del gateway.
  • GW_IP_NAME con un nome per l'IP esterno utilizzato dal gateway.

Completa questa sequenza di comandi per creare un gateway Google Cloud:

  1. Crea le risorse per il gateway Cloud VPN:

    1. Crea l'oggetto gateway VPN di destinazione.

      gcloud compute target-vpn-gateways create GW_NAME \
          --network NETWORK \
          --region REGION \
          --project PROJECT_ID
      
    2. Prenota un indirizzo IP (statico) esterno a livello di regione:

      gcloud compute addresses create GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID
      
    3. Prendi nota dell'indirizzo IP (per poterlo utilizzare durante la configurazione del gateway VPN peer):

      gcloud compute addresses describe GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID \
          --format='flattened(address)'
      
    4. Crea tre regole di inoltro. Queste regole indicano a Google Cloud di inviare traffico ESP (IPsec), UDP 500 e UDP 4500 al gateway.

       gcloud compute forwarding-rules create fr-GW_NAME-esp \
           --load-balancing-scheme=EXTERNAL \
           --ip-protocol ESP \
           --address GW_IP_NAME \
           --target-vpn-gateway GW_NAME \
           --region REGION \
           --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp500 \
          --load-balancing-scheme=EXTERNAL \
          --ip-protocol UDP \
          --ports 500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \
          --load-balancing-scheme=EXTERNAL \
          --ip-protocol UDP \
          --ports 4500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  2. Se non lo hai già fatto, completa il comando seguente per creare un router Cloud. Sostituisci le opzioni come indicato di seguito. In alternativa, puoi utilizzare un router Cloud esistente, a condizione che non gestisca già una sessione BGP per un collegamento di interconnessione associato a Partner Interconnect.

    • Sostituisci ROUTER_NAME con un nome per il router Cloud.
    • Sostituisci GOOGLE_ASN con un ASN privato (da 64512 a 65534, da 4200000000 a 4294967294). L'ASN Google viene utilizzato per tutte le sessioni BGP sullo stesso router Cloud e non può essere modificato in un secondo momento.
      gcloud compute routers create ROUTER_NAME \
      --asn GOOGLE_ASN \
      --network NETWORK \
      --region REGION \
      --project PROJECT_ID
    
  3. Crea il tunnel Cloud VPN con i seguenti dettagli:

    • Sostituisci TUNNEL_NAME con un nome per il tunnel.
    • Sostituisci ON_PREM_IP con l'indirizzo IP esterno del gateway VPN peer.
    • Sostituisci IKE_VERS con 1 per IKEv1 o 2 per IKEv2.
    • Sostituisci SHARED_SECRET con il tuo secret condiviso. Il secret condiviso per il tunnel Cloud VPN deve corrispondere a quello utilizzato durante la configurazione del tunnel di controparte sul gateway VPN peer. Puoi seguire queste istruzioni per generare un secret condiviso con una crittografia efficace.
    • Sostituisci ROUTER_NAME con il nome del router Cloud che vuoi utilizzare per gestire le route per il tunnel Cloud VPN. Il router Cloud deve esistere prima della creazione del tunnel.

      gcloud compute vpn-tunnels create TUNNEL_NAME \
          --peer-address ON_PREM_IP \
          --ike-version IKE_VERS \
          --shared-secret SHARED_SECRET \
          --router ROUTER_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  4. Configura una sessione BGP per il router Cloud creando un'interfaccia e un peer BGP. Scegli uno dei seguenti metodi:

    • Per consentire a Google Cloud di scegliere automaticamente gli indirizzi IP BGP locali rispetto al collegamento:

      1. Aggiungi una nuova interfaccia al router Cloud. Fornisci un nome per l'interfaccia sostituendo INTERFACE_NAME.

        gcloud compute routers add-interface ROUTER_NAME \
            --interface-name INTERFACE_NAME \
            --vpn-tunnel TUNNEL_NAME \
            --region REGION \
            --project PROJECT_ID
        
      2. Aggiungi un peer BGP all'interfaccia. Sostituisci PEER_NAME con un nome per il peer e PEER_ASN con l'ASN configurato per il gateway VPN peer.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name PEER_NAME \
            --peer-asn PEER_ASN \
            --interface INTERFACE_NAME \
            --region REGION \
            --project PROJECT_ID
        

        Se vuoi definire route apprese personalizzate per il peer, aggiungi il flag --set-custom-learned-route-ranges. Se vuoi, puoi anche utilizzare il flag --custom-learned-route-priority per impostare un valore di priorità compreso tra 0 e 65535 (inclusi) per le route. Ogni sessione BGP può avere un valore di priorità che si applica a tutte le route apprese personalizzate che hai configurato per la sessione. Per ulteriori informazioni su questa funzionalità, consulta Route apprese personalizzate.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name=PEER_NAME_0 \
            --peer-asn=PEER_ASN \
            --interface=ROUTER_INTERFACE_NAME_0 \
            --region=REGION \
            --set-custom-learned-route-ranges=IP_ADDRESS_RANGES \
            --custom-learned-route-priority=PRIORITY
        
      3. Elenca gli indirizzi IP BGP scelti dal router Cloud. Se hai aggiunto una nuova interfaccia a un router Cloud esistente, gli indirizzi IP BGP per la nuova interfaccia devono essere elencati con il numero di indice più alto. L'indirizzo IP peer è l'IP BGP da utilizzare per configurare il gateway VPN peer.

        gcloud compute routers get-status ROUTER_NAME \
             --region REGION \
             --project PROJECT_ID \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        L'output previsto per un router Cloud che gestisce un singolo tunnel Cloud VPN (indice 0) è simile al seguente, dove GOOGLE_BGP_IP rappresenta l'IP BGP dell'interfaccia del router Cloud e ON_PREM_BGP_IP rappresenta l'IP BGP del relativo peer.

        result.bgpPeerStatus[0].ipAddress:     GOOGLE_BGP_IP
        result.bgpPeerStatus[0].peerIpAddress: ON_PREM_BGP_IP
        
    • Per assegnare manualmente gli indirizzi IP BGP associati al peer e all'interfaccia BGP di Google Cloud:

      1. Decidi una coppia di indirizzi IP BGP locali rispetto al collegamento in un blocco /30 dall'intervallo 169.254.0.0/16. Assegna uno di questi indirizzi IP BGP al router Cloud nel comando successivo sostituendo GOOGLE_BGP_IP. L'altro indirizzo IP BGP viene utilizzato per il gateway VPN peer. Devi configurare il dispositivo in modo che utilizzi quell'indirizzo e sostituire ON_PREM_BGP_IP nell'ultimo comando, di seguito.

      2. Aggiungi una nuova interfaccia al router Cloud. Specifica un nome per l'interfaccia sostituendo INTERFACE_NAME.

        gcloud compute routers add-interface ROUTER_NAME \
            --interface-name INTERFACE_NAME \
            --vpn-tunnel TUNNEL_NAME \
            --ip-address GOOGLE_BGP_IP \
            --mask-length 30 \
            --region REGION \
            --project PROJECT_ID
        
      3. Aggiungi un peer BGP all'interfaccia. Sostituisci PEER_NAME con un nome per il peer e PEER_ASN con l'ASN configurato per il gateway VPN peer.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name PEER_NAME \
            --peer-asn PEER_ASN \
            --interface INTERFACE_NAME \
            --peer-ip-address ON_PREM_BGP_IP \
            --region REGION \
            --project PROJECT_ID
        

        Se vuoi definire route apprese personalizzate per il peer, aggiungi il flag --set-custom-learned-route-ranges. Se vuoi, puoi anche usare il flag --custom-learned-route-priority per impostare un valore di priorità compreso tra 0 e 65535 (inclusi) per le route. Ogni sessione BGP può avere un valore di priorità che si applica a tutte le route apprese personalizzate che hai configurato per la sessione. Per ulteriori informazioni su questa funzionalità, consulta Route apprese personalizzate.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name=PEER_NAME_0 \
            --peer-asn=PEER_ASN \
            --interface=ROUTER_INTERFACE_NAME_0 \
            --region=REGION \
            --set-custom-learned-route-ranges=IP_ADDRESS_RANGES \
            --custom-learned-route-priority=PRIORITY
        

Completare la configurazione

Prima di poter utilizzare un nuovo gateway Cloud VPN e il relativo tunnel VPN, completa questi passaggi:

  1. Completa la configurazione del gateway VPN peer con il software VPN di terze parti sulla tua istanza VM Google Cloud. Configura lì il tunnel corrispondente. Puoi utilizzare il routing dinamico con la VPN classica solo per connetterti a software VPN di terze parti in esecuzione all'interno di Google Cloud.
  2. Configura le regole firewall in Google Cloud e nella rete peer in base alle esigenze.
  3. Controlla lo stato del tunnel VPN e delle regole di forwarding.

Passaggi successivi