Verifica dello stato della VPN

Dopo aver configurato i gateway VPN peer, controlla i seguenti componenti per assicurarti che comunichino correttamente con Cloud VPN:

  • Controlla lo stato dei tunnel VPN ad alta disponibilità o VPN classica che hai configurato, incluso lo stato operativo.
  • Controlla lo stato di alta affidabilità dei tunnel su un gateway VPN ad alta disponibilità affidabilità.
  • Visualizza lo stato delle sessioni BGP (Border Gateway Protocol) del router Cloud o le route che il router Cloud sta pubblicizzando.

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

  • Per le best practice da considerare prima di configurare Cloud VPN, consulta 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.

Controlla i tunnel VPN ad alta affidabilità

Utilizza questa procedura per controllare lo stato dei tunnel su entrambe le interfacce di un gateway VPN ad alta disponibilità.

Console

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

    Vai alla VPN

  2. Visualizza lo stato del tunnel VPN e lo stato della sessione BGP.

  3. Per visualizzare i dettagli di un tunnel, fai clic sul Nome di un tunnel.

  4. In Log, fai clic su Visualizza per i log di Cloud Logging.

  5. Puoi anche modificare la sessione BGP associata a questo tunnel.

gcloud

Per visualizzare lo stato del tunnel sono necessari due passaggi. Innanzitutto, identifica il nome e la regione del tunnel, quindi utilizza l'opzione del comando describe per visualizzare i dettagli del tunnel.

Nei seguenti comandi, sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • GW_NAME: il nome del gateway
  • REGION: la regione in cui si trova il gateway o il tunnel
  • NAME: il nome del tunnel

Per visualizzare lo stato del tunnel, completa i seguenti passaggi:

  1. Identifica il nome e la regione del tunnel VPN di cui devi controllare lo stato. Puoi identificare il tunnel utilizzando uno dei seguenti metodi:

    1. Opzione 1: per elencare tutti i tunnel VPN nel tuo progetto, esegui il comando seguente:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      L'output del comando dovrebbe essere simile al seguente esempio:

      NAME                REGION       GATEWAY      VPN_INTERFACE  PEER_ADDRESS
      tunnel-a-to-b-if-0  us-central1  ha-vpn-gw-a  0              10.242.123.165
      tunnel-a-to-b-if-1  us-central1  ha-vpn-gw-a  1              10.220.75.213
      tunnel-b-to-a-if-0  us-central1  ha-vpn-gw-b  0              10.242.127.148
      tunnel-b-to-a-if-1  us-central1  ha-vpn-gw-b  1              10.220.66.156
      
    2. Opzione 2: se conosci il nome del gateway VPN che contiene il tunnel, per recuperare l'elenco dei tunnel associati al gateway, esegui questo comando:

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Dopo aver individuato il nome e la regione del tunnel, utilizza l'opzione describe del comando vpn-tunnels per determinare lo stato del tunnel:

    gcloud compute vpn-tunnels describe NAME \
       --region=REGION \
       --project=PROJECT_ID \
       --format='flattened(status,detailedStatus)'
    

    Vengono restituiti il messaggio di stato di base e un messaggio più dettagliato. L'output del comando dovrebbe essere simile all'esempio seguente. Per un elenco completo, ometti l'opzione --format.

    detailedStatus: Tunnel is up and running.
    

    I seguenti quattro esempi di output comando mostrano un elenco completo per una coppia di tunnel su ciascuno dei due gateway VPN ad alta disponibilità che sono connessi tra loro. ovvero, su ha-vpn-gw-a, i tunnel su interface 0 e interface 1 sono connessi ai tunnel sulle interfacce corrispondenti di ha-vpn-gw-b.

    Esempio 1: tunnel-a-to-b-if-0

     creationTimestamp: '2018-10-11T13:12:33.851-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '2919847494518181982'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-a-to-b-if-0
     peerIp: GW_A_IF_0_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
     vpnGatewayInterface: 0
    

    Esempio 2: tunnel-a-to-b-if-1

     creationTimestamp: '2018-10-11T13:14:21.630-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '178016642781024754'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     —0.0.0.0/0
     name: tunnel-a-to-b-if-1
     peerIp: GW_B_IF_1_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
     vpnGatewayInterface: 1
    

    Esempio 3: tunnel-b-to-a-if-0

     creationTimestamp: '2018-10-11T13:16:19.345-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '1183416925692236156'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-b-to-a-if-0
     peerIp: GW_A_IF_0_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b
     vpnGatewayInterface: 0
    

    Esempio 4: tunnel-b-to-a-if-1

     creationTimestamp: '2018-10-11T13:19:01.562-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '8199247227773914842'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-b-to-a-if-1
     peerIp: GW_A_IF_1_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b
     vpnGatewayInterface: 1
    

API

Per visualizzare i dettagli del tunnel, puoi utilizzare una delle seguenti chiamate API:

  • Per elencare gli attributi e lo stato di tutti i tunnel VPN in un progetto e una regione specifici, invia una richiesta GET utilizzando il metodo vpnTunnels.list:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Per elencare gli attributi e lo stato di un tunnel specifico in un progetto e una regione specifici, effettua una richiesta GET utilizzando il metodo vpnTunnels.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME
    

Controlla i tunnel VPN classici

Utilizza questa procedura per controllare lo stato dei tunnel su un gateway VPN classica.

Console

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

    Vai alla VPN

  2. Visualizza lo stato del tunnel VPN e lo stato della sessione BGP.

  3. Per visualizzare i dettagli di un tunnel, fai clic sul Nome di un tunnel.

  4. In Log, fai clic su Visualizza per i log di Logging.

  5. Puoi anche modificare la sessione BGP associata a questo tunnel.

gcloud

La procedura per controllare lo stato del tunnel VPN classica è simile a quella per la VPN ad alta disponibilità affidabilità.

Nei seguenti comandi, sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • GW_NAME: il nome del gateway
  • REGION: la regione in cui si trova il gateway o il tunnel
  • NAME: il nome del tunnel

Per visualizzare lo stato del tunnel, completa i seguenti passaggi:

  1. Identifica il nome e la regione del tunnel VPN di cui devi controllare lo stato. Puoi identificare il tunnel utilizzando uno dei seguenti metodi:

    1. Opzione 1: per elencare tutti i tunnel VPN nel tuo progetto, esegui il comando seguente:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      
    2. Opzione 2: se conosci il nome del gateway VPN che contiene il tunnel, per recuperare l'elenco dei tunnel associati al gateway, esegui questo comando:

      gcloud compute target-vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Descrivi il tunnel per determinarne lo stato eseguendo il seguente comando. Vengono restituiti il messaggio di stato di base e un messaggio più dettagliato. Per un elenco completo, ometti l'opzione --format.

    gcloud compute vpn-tunnels describe NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(status,detailedStatus)'
    

API

Per visualizzare i dettagli del tunnel, puoi utilizzare una delle seguenti chiamate API:

  • Per elencare gli attributi e lo stato di tutti i tunnel VPN in un progetto e una regione specifici, invia una richiesta GET utilizzando il metodo vpnTunnels.list:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Per elencare gli attributi e lo stato di un tunnel specifico in un progetto e una regione specifici, effettua una richiesta GET utilizzando il metodo vpnTunnels.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME
    

Controlla le regole di forwarding di VPN classica

Utilizza questa procedura per controllare le regole di forwarding che hai creato per il gateway VPN classica.

Console

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

    Vai alla VPN

  2. Fai clic su un nome gateway.

  3. Nella pagina Dettagli VPN, visualizza le regole di forwarding che hai creato.

gcloud

Per visualizzare le regole di forwarding per un gateway VPN classica in una regione specifica, esegui questo comando:

gcloud compute target-vpn-gateways describe GW_NAME
    --region=REGION \
    --project=PROJECT_ID

API

Per visualizzare le regole di forwarding per un gateway VPN classica in una regione specifica, utilizza il metodo targetVpnGateways.get. Sostituisci RESOURCE_ID con il nome del gateway.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetVpnGateways/RESOURCE_ID

Interpretare i messaggi di stato del tunnel

Per interpretare i messaggi di stato del tunnel dalla console Google Cloud o da Google Cloud CLI, utilizza la seguente tabella.

Stato Messaggio di stato dettagliato Note
Assegnazione risorse Assegnazione delle risorse. Il tunnel VPN inizierà a breve. Lo stato iniziale di un tunnel Cloud VPN appena creato.
In attesa della configurazione completa In attesa della configurazione della route. Vengono preparate le route o la configurazione del routing.
Primo handshake Handshake con il peer interrotto per un motivo sconosciuto. Verrà eseguito un nuovo tentativo a breve. La negoziazione della fase 1 (IKE SA) con la VPN peer è in corso. Potrebbe non essere andato a buon fine almeno una volta.
Stabilito Tunnel is up and running. Il tunnel è attivo e le route sono state configurate.
Nessun pacchetto in entrata Nessun pacchetto in arrivo dal peer. Non viene ricevuto traffico dal gateway VPN peer.

Controllare lo stato di alta affidabilità per i gateway VPN ad alta disponibilità affidabilità

Per controllare lo stato della configurazione ad alta affidabilità per i tunnel su un gateway VPN ad alta disponibilità affidabilità, utilizza la console Google Cloud , il comandocompute vpn-gateways get-status o il metodo vpnGateways.getStatus.

L'output mostra lo stato del requisito di ridondanza ad alta affidabilità per i tunnel VPN associati a ciascun gateway peer a cui è connesso il gateway VPN ad alta disponibilità affidabilità.

Il gateway peer può essere un altro gateway VPN ad alta disponibilità o un gateway VPN esterno. Se al gateway VPN ad alta disponibilità affidabilità sono connessi più gateway peer, vengono visualizzati più stati di configurazione ad alta affidabilità, uno per ogni gateway peer.

L'output del comando indica la quantità e la copertura corrette del tunnel nei seguenti modi:

  • I gateway VPN configurati con una ridondanza (copertura) adeguata mostrano lo stato seguente:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • I gateway VPN non configurati con una ridondanza adeguata mostrano lo stato seguente:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • Se non sono configurati tunnel sufficienti tra il gateway VPN ad alta disponibilità affidabilità e un altro gateway VPN ad alta disponibilità affidabilità o un gateway peer, l'output comando mostra lo stato seguente:
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Per ulteriori informazioni, consulta Visualizzare log e metriche.

Console

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

    Vai alla VPN

  2. Per visualizzare i dettagli del gateway e dei relativi tunnel, fai clic su Nome gateway. Per i gateway VPN ad alta affidabilità, puoi anche visualizzare lo stato di alta affidabilità del gateway.

gcloud

Per visualizzare lo stato del tunnel per il gateway VPN ad alta disponibilità, esegui questo comando. Sostituisci quanto segue:

  • GW_NAME: il nome del gateway VPN ad alta disponibilità
  • REGION: la regione in cui si trova il gateway
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION

Il seguente esempio di output comando mostra le informazioni per un gateway VPN ad alta disponibilità affidabilità connesso a un gateway peer con due interfacce:

  peerGateways:
  — peerExternalGateway: peer-gw
  tunnels:
  — localGatewayInterface: 0
    peerGatewayInterface: 0
    tunnelUrl:
    https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
    regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
  — localGatewayInterface: 1
    peerGatewayInterface:1
    tunnelUrl:
    https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
    regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
    HighAvailabilityRedundancyRequirementState:
      state: CONNECTION_REDUNDANCY_MET

Il seguente esempio di output comando riguarda due gateway VPN ad alta disponibilità connessi tra loro. Per questo tipo di configurazione, esegui il comando per ogni nome del gatewayVPN ad alta disponibilitàà:

  • Lo stato di ha-vpn-gw-a mostra la sua connessione a ha-vpn-gw-b:

    peerGateways:
    — peerGcpGateway: ha-vpn-gw-b
    tunnels:
    — localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
    — localGatewayInterface: 1
      peerGatewayInterface: 1
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_MET
    
  • Lo stato di ha-vpn-gw-b mostra la sua connessione a ha-vpn-gw-a:

    peerGateways:
    — peerGcpGateway: ha-vpn-gw-a
    tunnels:
    — localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
    — localGatewayInterface: 1
      peerGatewayInterface: 1
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_MET
    

Il seguente esempio di output comando riguarda un gateway VPN ad alta disponibilità connesso a un gateway virtuale AWS con due connessioni e quattro indirizzi IP:

  peerGateways:
  - peerExternalGateway: peer-gw
  tunnels:
   - localGatewayInterface: 0
     peerGatewayInterface: 0
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-0-ip0
   - localGatewayInterface: 0
     peerGatewayInterface: 1
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-0-ip1
   - localGatewayInterface: 1
     peerGatewayInterface: 2
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-1-ip0
   - localGatewayInterface: 1
     peerGatewayInterface: 3
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-1-ip1
     HighAvailabilityRedundancyRequirementState:
       state: CONNECTION_REDUNDANCY_MET

Il seguente esempio di output comando riguarda due gateway VPN ad alta disponibilità connessi tra loro con un singolo tunnel. Questa configurazione non soddisfa lo SLA con disponibilità del 99,99%:

  peerGateways:
    - peerGcpGateway: ha-vpn-gw-a
    tunnels:
    - localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_NOT_MET
      detailedStatus:
        redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE

API

Per ottenere lo stato di un gateway VPN ad alta disponibilità ad alta affidabilità specifico in un progetto e una regione specifici, invia una richiesta GET utilizzando il metodo vpnGateways.getStatus:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/GATEWAY_NAME/getStatus

Controllare lo stato del BGP

Per i tunnel che utilizzano il routing dinamico con BGP, puoi controllare lo stato del router Cloud per visualizzare dettagli come lo stato delle sessioni BGP di un router o le route che il router Cloud sta annunciando.

Passaggi successivi

  • Per utilizzare scenari di alta disponibilità e throughput elevato o più scenari di subnet, consulta Configurazioni avanzate.
  • Per aiutarti a risolvere i problemi comuni che potresti riscontrare durante l'utilizzo di Cloud VPN, consulta la pagina Risoluzione dei problemi.