Verifica dello stato della VPN

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

  • Controllare lo stato della VPN ad alta disponibilità o della VPN classica 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 oppure le route pubblicizzate dal router Cloud.

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

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

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 il BGP stato della sessione.

  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 comando dovrebbe essere simile all'esempio seguente:

      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 nel tunnel, per recuperare l'elenco delle istanze associate tunnel, 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 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 base e un messaggio più dettagliato. L'output 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 di una coppia di tunnel su ciascuno dei due gateway VPN ad alta disponibilità connessi tra loro. Vale a dire, su ha-vpn-gw-a, i tunnel su interface 0 e interface 1 sono collegati ai tunnel sul 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
    

Controlla i tunnel della VPN classica

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

Console

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

    Vai a VPN

  2. Visualizza lo stato del tunnel VPN. e la sessione BGP standard.

  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 quello della VPN ad alta disponibilità.

Nei comandi seguenti, 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 questo 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 progetto e regione, effettua una richiesta GET utilizzando 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 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 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 forwarding per un gateway VPN classica in un una regione specifica, utilizza 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 Allocazione delle risorse. Il tunnel VPN verrà avviato a breve. Lo stato iniziale di un tunnel VPN Cloud appena creato.
In attesa della configurazione completa In attesa della configurazione della route. È in corso la preparazione della configurazione dei percorsi o del routing.
Prima stretta di mano Handshake con il peer interrotto per motivo sconosciuto. Riprova più tardi. La negoziazione della fase 1 (IKE SA) con la VPN peer è in corso. Potrebbe non essere riuscito 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 verificare lo stato della configurazione ad alta disponibilità per i tunnel su un VPN ad alta disponibilità, usa la console Google Cloud, compute vpn-gateways get-status o il metodo vpnGateways.getStatus.

L'output mostra la ridondanza dell'alta disponibilità stato dei requisiti per i tunnel VPN associati a ciascun gateway peer a cui Il gateway VPN ad alta disponibilità è connesso.

Il gateway peer può essere un altro gateway VPN ad alta disponibilità 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 comando indica la quantità e la copertura corrette del tunnel nel nei seguenti modi:

  • I gateway VPN configurati con un'adeguata ridondanza (copertura) mostrano 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 è configurato un numero sufficiente di tunnel tra il tuo un gateway VPN ad alta disponibilità e un'altra VPN ad alta disponibilità gateway o a un gateway peer, l'output comando mostra il seguente stato:
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Per ulteriori informazioni, vedi Visualizza i log e le 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 HA, 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

L'esempio di output comando seguente mostra 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 è per due VPN ad alta disponibilità più gateway connessi tra loro. Per questo tipo di configurazione, esegui il comando per ogni nome del gateway VPN ad alta disponibilità:

  • La richiesta dello stato di ha-vpn-gw-a mostra la 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
    
  • La richiesta dello stato di ha-vpn-gw-b mostra la 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 è per una VPN ad alta disponibilità connesso a un gateway virtuale AWS con due connessioni 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 del comando riguarda due gateway VPN ad alta disponibilità connessi tra loro con un unico 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à specifico per un progetto e una regione specifici, effettua una richiesta GET 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 che il router Cloud sta pubblicizzando.

Passaggi successivi

  • Per utilizzare scenari di alta disponibilità e ad alto throughput o scenari con più reti private virtuali, 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.