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 della VPN ad alta disponibilità o della VPN classica che hai configurato, incluso lo stato operativo.
  • Controlla lo stato di alta disponibilità dei tunnel su un gateway VPN ad alta disponibilità.
  • Visualizza lo stato delle sessioni BGP (Border Gateway Protocol) del router Cloud o delle route pubblicizzate dal router Cloud.

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

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

  • Per ulteriori informazioni su Cloud VPN, consulta la panoramica su Cloud VPN.

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

Controlla i tunnel VPN ad alta disponibilità

Utilizza questa procedura per verificare 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 relativo nome.

  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 devi eseguire due passaggi. Innanzitutto, identifica il nome e la regione del tunnel, quindi utilizza l'opzione del comando describe per visualizzare i dettagli del tunnel.

Sostituisci quanto segue nei comandi seguenti:

  • 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 questo comando:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      L'output 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 scoperto 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 comando dovrebbe essere simile all'esempio seguente. Per una scheda completa, ometti l'opzione --format.

    detailedStatus: Tunnel is up and running.
    

    I seguenti quattro esempi di output comando mostrano un elenco completo di una coppia di tunnel su ciascuno dei due gateway VPN ad alta disponibilità connessi tra loro. In altre parole, in ha-vpn-gw-a, i tunnel su interface 0 e interface 1 sono collegati 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 una regione e un progetto specifici, effettua 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 in 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 verificare 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 relativo nome.

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

Sostituisci quanto segue nei comandi seguenti:

  • 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 questo comando:

      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 del 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 comando seguente. Vengono restituiti il messaggio di stato di base e un messaggio più dettagliato. Per una scheda completa, 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 una regione e un progetto specifici, effettua 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 in 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 della VPN classica

Utilizza questa procedura per verificare 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 dei 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 Allocazione delle risorse. Il tunnel VPN verrà avviato a breve. Lo stato iniziale di un tunnel Cloud VPN appena creato.
In attesa della configurazione completa In attesa della configurazione della route. È in corso la preparazione della configurazione delle route o del routing.
Prima stretta di mano Stretta di mano con un collega non funzionante per motivi sconosciuti. Riprova più tardi. È in corso la negoziazione della fase 1 (IKE SA) con la VPN peer. Potrebbe essersi verificato almeno una volta.
Stabilito Il tunnel è operativo. Il tunnel è attivo e le route sono state configurate.
Nessun pacchetto in entrata Nessun pacchetto in arrivo dal peer. Nessun traffico ricevuto dal gateway VPN peer.

Controlla lo stato di alta disponibilità per i gateway VPN ad alta disponibilità

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

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

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

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

  • I gateway VPN configurati con ridondanza adeguata (copertura) mostrano il seguente stato:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • I gateway VPN non configurati con ridondanza adeguata mostrano il seguente stato:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • Se non è stato configurato un numero sufficiente di tunnel tra il gateway VPN ad alta disponibilità e un altro gateway VPN ad alta disponibilità o un gateway peer, l'output comando mostra il seguente stato:
    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 disponibilità, puoi anche visualizzare lo stato di alta disponibilità del gateway.

gcloud

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

  • GW_NAME: 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à 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 di gateway VPN ad alta disponibilità:

  • Il recupero dello 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
    
  • Il recupero dello 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 si riferisce a 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 (accordo sul livello del servizio) 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à specifici in una regione e un progetto specifici, effettua una richiesta GET utilizzando il metodo vpnGateways.getStatus:

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

Controlla lo stato 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 pubblicizzate dal router Cloud.

Passaggi successivi

  • Per utilizzare scenari di alta disponibilità e velocità effettiva elevata o scenari con più subnet, consulta Configurazioni avanzate.
  • Per aiutarti a risolvere i problemi comuni che potresti riscontrare quando utilizzi Cloud VPN, consulta Risoluzione dei problemi.