Verifica dello stato della VPN

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

  • Controlla lo stato dei tunnel VPN ad alta disponibilità o VPN classica che hai configurato, incluso lo stato di funzionamento.
  • 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 le route pubblicizzate dal router Cloud.

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 la panoramica di Cloud VPN.

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

Controlla i tunnel VPN ad alta disponibilità

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 a VPN

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

  3. Per visualizzare i dettagli del 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 seguente comando:

      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 il seguente comando:

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Dopo aver conosciuto 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 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 di due gateway VPN ad alta disponibilità connessi tra loro. In altre parole, 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, 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 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
    

Controllare 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 a VPN

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

  3. Per visualizzare i dettagli del 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à.

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 seguente 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 al gateway, esegui il seguente 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 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 un progetto e una regione 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 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
    

Controllare le regole di inoltro della VPN classica

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

Console

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

    Vai a VPN

  2. Fai clic su un nome gateway.

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

gcloud

Per visualizzare le regole di inoltro per un gateway VPN classica in una regione specifica, esegui il seguente comando:

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

API

Per visualizzare le regole di inoltro 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

Interpreta i messaggi di stato del tunnel

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

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. È in corso la preparazione della configurazione dei percorsi o del routing.
Primo handshake Handshake con il peer interrotto per motivo sconosciuto. Farò un nuovo tentativo a breve. La negoziazione della fase 1 (IKE SA) con la VPN peer è in corso. L'operazione potrebbe non essere riuscita almeno una volta.
Stabilito Il tunnel è attivo e funzionante. Il tunnel è attivo e i percorsi sono stati configurati.
Nessun pacchetto in entrata Nessun pacchetto in arrivo dal peer. Nessun traffico viene ricevuto dal gateway VPN peer.

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

Per controllare 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 ogni gateway peer.

L'output del comando indica l'importo e la copertura del tunnel corretti nei modi seguenti:

  • I gateway VPN configurati con una ridondanza (copertura) adeguata mostrano il seguente stato:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • I gateway VPN non configurati con una ridondanza adeguata mostrano il seguente stato:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • Se non sono configurati tunnel sufficienti 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 a 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 il seguente 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 di un gateway VPN ad alta disponibilità collegato 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

L'esempio di output comando seguente riguarda due gateway VPN ad alta disponibilità connessi tra loro. Per questo tipo di configurazione, esegui il comando per ogni nome del gateway VPN 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à collegato 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 unico 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à 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 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 viene pubblicizzato dal router Cloud.

Passaggi successivi

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