Vérifier l'état du VPN

Après avoir configuré vos passerelles VPN de pairs, vérifiez les composants suivants pour vous assurer qu'ils communiquent correctement avec Cloud VPN :

  • Vérifiez l'état des tunnels VPN haute disponibilité ou VPN classiques que vous avez configurés, y compris l'état opérationnel.
  • Vérifiez l'état de haute disponibilité des tunnels sur une passerelle VPN haute disponibilité.
  • Affichez l'état des sessions BGP (Border Gateway Protocol) de Cloud Router ou des routes annoncées par Cloud Router.

Pour en savoir plus sur Cloud VPN, consultez les ressources suivantes :

Vérifier les tunnels VPN haute disponibilité

Cette procédure permet de vérifier l'état des tunnels sur les deux interfaces d'une passerelle VPN haute disponibilité.

Console

  1. Dans Google Cloud Console, accédez à la page VPN.

    Accéder au VPN

  2. Consultez les colonnes État du tunnel VPN et État de la session BGP.

  3. Pour afficher les informations détaillées sur un tunnel, cliquez sur son Nom.

  4. Sous Journaux, cliquez sur Afficher pour afficher les journaux Cloud Logging.

  5. Vous pouvez également modifier la session BGP associée à ce tunnel.

gcloud

L'affichage de l'état du tunnel se fait en deux étapes. Commencez par identifier le nom et la région du tunnel, puis utilisez l'option de commande describe pour en afficher les détails.

Dans les commandes suivantes, remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • GW_NAME : nom de la passerelle
  • REGION : région où réside la passerelle ou le tunnel
  • NAME : nom du tunnel

Pour afficher l'état du tunnel, procédez comme suit :

  1. Identifiez le nom et la région du tunnel VPN dont vous devez vérifier l'état. Vous pouvez identifier le tunnel à l'aide de l'une des méthodes suivantes :

    1. Option 1 : Pour répertorier tous les tunnels VPN de votre projet, exécutez la commande suivante :

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      Le résultat de la commande doit ressembler à l'exemple suivant :

      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. Option 2 : Si vous connaissez le nom de la passerelle VPN contenant le tunnel, exécutez la commande suivante pour récupérer la liste des tunnels associés à la passerelle :

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Une fois que vous connaissez le nom et la région du tunnel, utilisez l'option describe de la commande vpn-tunnels pour déterminer l'état du tunnel :

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

    Le message d'état de base et un message plus détaillé sont renvoyés. Le résultat de la commande doit ressembler à l'exemple suivant : Pour obtenir une liste complète, ignorez l'option --format.

    detailedStatus: Tunnel is up and running.
    

    Les quatre exemples de résultats de commande ci-après présentent une liste complète de deux tunnels sur chacune des deux passerelles VPN haute disponibilité connectées entre elles. Autrement dit, sur ha-vpn-gw-a, les tunnels de interface 0 et interface 1 sont connectés à des tunnels sur les interfaces correspondantes de ha-vpn-gw-b.

    Exemple 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
    

    Exemple 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
    

    Exemple 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
    

    Exemple 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

Pour afficher les informations détaillées sur le tunnel, vous pouvez utiliser l'un des appels d'API suivants :

  • Pour répertorier les attributs et l'état de tous les tunnels VPN dans un projet et une région spécifiques, exécutez une requête GET à l'aide de la méthode vpnTunnels.list :

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Pour répertorier les attributs et l'état d'un tunnel spécifique dans un projet et une région spécifiques, exécutez une requête GET à l'aide de la méthode vpnTunnels.get :

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

Vérifier les tunnels VPN classiques

Cette procédure vous permet de vérifier l'état des tunnels sur une passerelle VPN classique.

Console

  1. Dans Cloud Console, accédez à la page VPN.

    Accéder au VPN

  2. Consultez les colonnes État du tunnel VPN et État de la session BGP.

  3. Pour afficher les informations détaillées sur un tunnel, cliquez sur son Nom.

  4. Sous Journaux, cliquez sur Afficher pour afficher les journaux de Logging.

  5. Vous pouvez également modifier la session BGP associée à ce tunnel.

gcloud

La procédure de vérification de l'état d'un tunnel VPN classique est semblable à celle d'un tunnel VPN haute disponibilité.

Dans les commandes suivantes, remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • GW_NAME : nom de la passerelle
  • REGION : région où réside la passerelle ou le tunnel
  • NAME : nom du tunnel

Pour afficher l'état du tunnel, procédez comme suit :

  1. Identifiez le nom et la région du tunnel VPN dont vous devez vérifier l'état. Vous pouvez identifier le tunnel à l'aide de l'une des méthodes suivantes :

    1. Option 1 : Pour répertorier tous les tunnels VPN de votre projet, exécutez la commande suivante :

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      
    2. Option 2 : Si vous connaissez le nom de la passerelle VPN contenant le tunnel, exécutez la commande suivante pour récupérer la liste des tunnels associés à la passerelle :

      gcloud compute target-vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Décrivez le tunnel pour déterminer son état en exécutant la commande suivante. Le message d'état de base et un message plus détaillé sont renvoyés. Pour obtenir une liste complète, ignorez l'option --format.

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

API

Pour afficher les informations détaillées sur le tunnel, vous pouvez utiliser l'un des appels d'API suivants :

  • Pour répertorier les attributs et l'état de tous les tunnels VPN dans un projet et une région spécifiques, exécutez une requête GET à l'aide de la méthode vpnTunnels.list :

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Pour répertorier les attributs et l'état d'un tunnel spécifique dans un projet et une région spécifiques, exécutez une requête GET à l'aide de la méthode vpnTunnels.get :

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

Vérifier les règles de transfert des VPN classiques

Cette procédure vous permet de vérifier les règles de transfert que vous avez créées pour votre passerelle VPN classique.

Console

  1. Dans Cloud Console, accédez à la page VPN.

    Accéder au VPN

  2. Cliquez sur un Nom de la passerelle.

  3. Sur la page Informations détaillées sur le VPN, affichez les règles de transfert que vous avez créées.

gcloud

Pour afficher les règles de transfert d'une passerelle VPN classique dans une région spécifique, exécutez la commande suivante :

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

API

Pour afficher les règles de transfert d'une passerelle VPN classique dans une région spécifique, utilisez la méthode targetVpnGateways.get. Remplacez RESOURCE_ID par le nom de la passerelle.

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

Interpréter les messages d'état des tunnels

Pour interpréter les messages d'état des tunnels à partir de Google Cloud Console ou de l'outil de ligne de commande gcloud, utilisez le tableau suivant.

État Message d'état détaillé Remarques
Allocation des ressources… Allocation des ressources… Le tunnel VPN va bientôt démarrer. État initial d'un tunnel Cloud VPN nouvellement créé.
En attente de la configuration complète En attente de la configuration de la route… La configuration des routes ou du routage est en cours de préparation.
Premier handshake Handshake avec le pair interrompu pour une raison inconnue. Nouvelle tentative imminente… La négociation de la phase 1 (association de sécurité IKE) avec le VPN pair est en cours. Elle a vraisemblablement échoué au moins une fois.
Établi Le tunnel est opérationnel. Le tunnel fonctionne, et les routes ont été configurées.
Aucun paquet entrant Aucun paquet entrant en provenance du pair. Aucun trafic n'est reçu en provenance de la passerelle VPN de pairs.

Vérifier l'état de haute disponibilité des passerelles VPN haute disponibilité

Pour vérifier l'état de la haute disponibilité des tunnels sur une passerelle VPN haute disponibilité, utilisez Cloud Console, la commande compute vpn-gateways get-status ou la méthode vpnGateways.getStatus.

Le résultat affiche l'état de haute disponibilité requis pour les tunnels VPN associés à chaque passerelle de pairs à laquelle la passerelle VPN haute disponibilité est connectée.

La passerelle de pairs peut être une autre passerelle VPN haute disponibilité ou une passerelle VPN externe. Si plusieurs passerelles de pairs sont connectées à la passerelle VPN haute disponibilité, plusieurs états de configuration de haute disponibilité s'affichent, à raison d'un état pour chaque passerelle de pairs.

Le résultat de la commande indique la quantité adéquate de tunnels et la couverture nécessaire, comme suit :

  • Les passerelles VPN configurées avec une redondance (couverture) adéquate affichent l'état suivant :
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • Les passerelles VPN qui ne sont pas configurées avec une redondance adéquate affichent l'état suivant :
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • S'il n'y a pas assez de tunnels configurés entre votre passerelle VPN haute disponibilité, une autre passerelle VPN haute disponibilité ou une passerelle de pairs, le résultat de la commande affiche l'état suivant :
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Pour en savoir plus, consultez la page Métriques Cloud Monitoring.

Console

  1. Dans Cloud Console, accédez à la page VPN.

    Accéder au VPN

  2. Pour afficher les informations détaillées sur la passerelle et ses tunnels, cliquez sur Nom de la passerelle. Pour les passerelles VPN haute disponibilité, vous pouvez également afficher l'état de haute disponibilité de la passerelle.

gcloud

Pour afficher l'état du tunnel pour la passerelle VPN haute disponibilité, exécutez la commande suivante. Remplacez l'élément suivant :

  • GW_NAME : nom de la passerelle VPN haute disponibilité
  • REGION : région où se trouve la passerelle
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION

L'exemple de résultat de commande suivant affiche des informations sur une passerelle VPN haute disponibilité connectée à une passerelle de pairs avec deux interfaces :

  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'exemple de résultat de commande suivant concerne deux passerelles VPN haute disponibilité connectées. Pour ce type de configuration, saisissez la commande pour chaque nom de passerelle VPN haute disponibilité.

  • L'obtention de l'état de ha-vpn-gw-a indique sa connexion à 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
    
  • L'obtention de l'état de ha-vpn-gw-b indique sa connexion à 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
    

L'exemple de résultat de commande suivant concerne une passerelle VPN haute disponibilité connectée à une passerelle virtuelle AWS avec deux connexions et quatre adresses 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

L'exemple de résultat de commande suivant concerne deux passerelles VPN haute disponibilité connectées entre elles avec un seul tunnel. Cette configuration ne répond pas aux exigences du contrat de niveau de service garantissant une disponibilité à 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

Pour obtenir l'état d'une passerelle VPN haute disponibilité spécifique dans un projet et une région spécifiques, exécutez une requête GET à l'aide de la méthode vpnGateways.getStatus :

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

Vérifier l'état de BGP

Pour les tunnels qui utilisent le routage dynamique avec BGP, vous pouvez vérifier l'état du routeur Cloud Router pour afficher des informations telles que l'état des sessions BGP d'un routeur ou des routes annoncées par le routeur Cloud Router.

Étape suivante

  • Pour trouver des ressources sur la maintenance des tunnels et des passerelles VPN, consultez les guides de maintenance des VPN.
  • Pour utiliser des scénarios de haute disponibilité et à haut débit, ou plusieurs scénarios de sous-réseau, consultez la section Configurations avancées.
  • Pour vous aider à résoudre les problèmes courants que vous pouvez rencontrer lors de l'utilisation de Cloud VPN, consultez la page Dépannage.