Crea un gateway VPN classica mediante routing dinamico

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

Con il routing dinamico, non specifichi selettori del traffico locale o remoto; viene utilizzato un modello Router Cloud. Le informazioni sulle route vengono scambiate in modo dinamico.

Per ulteriori informazioni su Cloud VPN, consulta le seguenti risorse:

  • Per le best practice da prendere in considerazione prima di configurare Cloud VPN, consulta Best practice.

  • Per ulteriori informazioni su Cloud VPN, consulta Panoramica di Cloud VPN.

  • Per le definizioni dei termini utilizzati in questa pagina, consulta Termini chiave.

Requisiti

Linee guida generali

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

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

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

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

Creazione di router Cloud

Per creare un tunnel che utilizza il routing dinamico con la VPN classica, devi utilizzare Cloud Router. Puoi creare un nuovo router Cloud o utilizzare un router Cloud esistente con tunnel VPN Cloud 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.

Prima di iniziare

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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  1. Se utilizzi Google Cloud CLI, imposta l'ID progetto con . Le istruzioni per gcloud in questa pagina presuppongono di avere impostato l'ID progetto prima di inviare comandi.

        gcloud config set project PROJECT_ID
        
  1. Puoi anche visualizzare un ID progetto già impostato eseguendo il seguente comando:

        gcloud config list --format='text(core.project)'
        

Crea una rete e una subnet VPC personalizzate

Prima di creare un gateway e un tunnel VPN classica, creano una rete Virtual Private Cloud (VPC) e almeno una subnet regione in cui si trova il gateway della 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 stai creando un gateway per la prima volta, seleziona il pulsante Crea connessione VPN.
    2. Seleziona la configurazione guidata della VPN.
  2. Seleziona il pulsante di opzione VPN classica.
  3. Fai clic su Continua.
  4. Nella pagina Crea una connessione VPN, specifica il seguente gateway impostazioni:
    • Nome: il nome del gateway VPN. Il nome non può essere modificato in un secondo momento.
    • Descrizione: puoi aggiungere 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 regionali. Scegli una regione Google Cloud in cui verrà collocato il gateway. È possibile utilizzare istanze e altre risorse in regioni diverse il tunnel per il traffico in uscita soggetto all'ordine dei route. Per le prestazioni migliori, individua il gateway e il tunnel nella stessa regione alle risorse di Google Cloud pertinenti.
    • Indirizzo IP: crea o scegli un indirizzo IP esterno regionale esistente.

Configurare i tunnel

  1. Specifica quanto segue nella sezione Tunnel per il nuovo elemento 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. IKEv2 è preferito se supportate dal dispositivo peer.

    • Segreto condiviso: fornisci una chiave precondivisa utilizzata per l'autenticazione. Il segreto condiviso per il tunnel Cloud VPN deve corrispondere a quello utilizzato per configurare il tunnel corrispondente sul gateway VPN peer. Puoi seguire queste istruzioni per generare un segreto condiviso con crittografia sicura.

    • Opzioni di routing: seleziona Dinamico (BGP). Puoi utilizzare solo routing dinamico per la connessione a software gateway VPN di terze parti in esecuzione in un'istanza VM di 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 il router Cloud non gestisce già una sessione BGP per un collegamento di interconnessione associate a Partner Interconnect. Se scegli un router cloud esistente, verrà comunque creata una nuova sessione BGP, ma l'ASN di Google rimarrà invariato. Per creare un nuovo Cloud Router, 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. La 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 poi 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 (64512-65534, 4200000000-4294967294) usato dal gateway VPN peer.
      • Priorità route annunciata: (facoltativo) la priorità di base Il router Cloud usa per pubblicizzare il Google Cloud route. Per ulteriori informazioni, consulta Prefisso e priorità pubblicizzati. 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 informazioni sul route. Ad esempio, 169.254.1.1 e 169.254.1.2 appartengono in un blocco /30 comune.
  2. Se devi creare altri tunnel sullo stesso gateway, fai clic su Aggiungi tunnel e ripeti il passaggio precedente. Puoi aggiungere altri tunnel in un secondo momento.

  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 Google Cloud regione in cui devi creare gateway e tunnel.
  • (Facoltativo) --target-vpn-gateway-region è la regione del gateway VPN classico su cui operare. Il suo valore dovrebbe sarà lo stesso di --region. Se non specificata, questa opzione è viene impostata automaticamente. Questa opzione sostituisce il valore predefinito della proprietà compute/region per l'invocazione di questo comando.
  • GW_NAME con il nome del gateway.
  • GW_IP_NAME con un nome per l'IP esterno utilizzato dal gateway.

Completa la seguente 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 esterno (statico) regionale:

      gcloud compute addresses create GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID
      
    3. Prendi nota dell'indirizzo IP (in modo da poterlo utilizzare quando configuri il 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 chiedono 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 un 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 un gateway VPN peer o VPN peer.
    • Sostituisci IKE_VERS con 1 per IKEv1 o 2 per IKEv2.
    • Sostituisci SHARED_SECRET con il tuo segreto condiviso. Lo strumento condiviso il secret per il tunnel Cloud VPN deve corrispondere a quello utilizzato devi configurare il tunnel di controparte sul gateway VPN peer. Puoi seguire queste istruzioni per generare una chiave segreta condivisa con crittografia sicura.
    • 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 di creare l'elemento 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 il BGP locale rispetto al collegamento Indirizzi IP:

      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 i percorsi. Ogni sessione BGP può avere uno un valore di priorità valido per tutte le route apprese personalizzate configurato per la sessione in questione. Per ulteriori informazioni questa funzione, vedi 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 una il router Cloud, gli indirizzi IP BGP per il nuovo dovrebbe essere elencata con il numero di indice più alto. La L'indirizzo IP peer è l'IP BGP da utilizzare per configurare un gateway VPN peer o 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 suo peer.

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

      1. Scegli una coppia di indirizzi IP BGP locali rispetto al collegamento in un blocco /30 dell'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 questo indirizzo e sostituire ON_PREM_BGP_IP nell'ultimo comando riportato 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 utilizzare il flag --custom-learned-route-priority per impostare un valore di priorità compreso tra 0 e 65535 (inclusi) per i percorsi. Ogni sessione BGP può avere un valore di priorità che si applica a tutte le route apprese personalizzate configurate per la sessione. Per ulteriori informazioni su questa funzione, vedi 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 la relativa VPN associata tunnel, completa i seguenti passaggi:

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

Passaggi successivi