Comprobar el estado de la VPN

Después de configurar las puertas de enlace de VPN de par, puedes verificar los siguientes componentes a fin de asegurarte de que se estén comunicando de manera correcta con Cloud VPN:

  • Comprueba el estado de los túneles de VPN clásica o VPN con alta disponibilidad que hayas configurado, incluido el estado operativo.
  • Comprueba el estado de alta disponibilidad de los túneles en una puerta de enlace de VPN con alta disponibilidad.
  • Visualiza el estado de las sesiones de BGP de Cloud Router o las rutas que este anuncia.

Comprueba túneles de VPN con alta disponibilidad

Usa este procedimiento para verificar el estado de los túneles en ambas interfaces de una puerta de enlace de VPN con alta disponibilidad.

Console

  1. Ve a la página VPN en Google Cloud Console.
    Ir a la página VPN
  2. Consulta el estado del túnel VPN y el estado de la sesión de BGP.
  3. Haz clic en el Nombre de un túnel para ver los detalles.
  4. En Registros, haz clic en Ver para visualizar los registros de Cloud Logging.
  5. También puedes modificar la sesión de BGP asociada a este túnel.

gcloud

Existen dos pasos para ver el estado del túnel. Primero, identifica el nombre y la región del túnel y, luego, usa la opción del comando describe para ver los detalles del túnel. Reemplaza PROJECT_ID por el ID de tu proyecto.

  1. Identifica el nombre y la región del túnel VPN cuyo estado debes verificar. Puedes identificar el túnel mediante uno de los siguientes métodos:

    1. Opción 1: Para enumerar todos los túneles VPN de tu proyecto, ingresa el siguiente comando:
      gcloud compute vpn-tunnels list --project PROJECT_ID
      
      El resultado del comando debe ser similar a este ejemplo:
      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. Opción 2: Si conoces el nombre de la puerta de enlace de VPN que contiene el túnel, puedes recuperar la lista de túneles de la puerta de enlace asociados con el siguiente comando. Reemplaza GW_NAME por el nombre de la puerta de enlace y REGION por la región en la que reside la puerta de enlace:

      gcloud compute vpn-gateways describe GW_NAME \
       --region REGION \
       --project PROJECT_ID \
       --format='flattened(tunnels)'
      
  2. Una vez que conozcas el nombre y la región del túnel, usa la opción describe del comando vpn-tunnels para determinar el estado del túnel:

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

    Se muestran un mensaje de estado básico y un mensaje más detallado. El resultado del comando debe ser similar al siguiente ejemplo. Si quieres ver una lista completa, omite la opción --format.

    detailedStatus: Tunnel is up and running.
    

    En los siguientes cuatro ejemplos de resultados de comandos, se muestra una lista completa de un par de túneles en cada una de las dos puertas de enlace de VPN con alta disponibilidad que están conectadas entre sí. Es decir, en ha-vpn-gw-a, los túneles de la interfaz 0 y la interfaz 1 están conectados a túneles en las interfaces correspondientes de ha-vpn-gw-b.

    Ejemplo 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
    

    Ejemplo 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
    

    Ejemplo 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
    

    Ejemplo 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

Puedes usar cualquiera de las siguientes llamadas a la API para ver los detalles del túnel.

  • Para enumerar todos los túneles VPN, sus atributos y estados en un proyecto y una región específicos, haz lo siguiente:

Realiza una solicitud GET con el método vpnTunnels.list.

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
  • Para enumerar los atributos y el estado de un túnel específico en un proyecto y una región en particular, haz lo siguiente:

Realiza una solicitud GET con el método vpnTunnels.get.

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

Comprueba túneles de VPN clásica

Usa este procedimiento para verificar el estado de los túneles en una puerta de enlace de VPN clásica.

Console

  1. Ve a la página VPN en Google Cloud Console.
    Ir a la página VPN
  2. Consulta el estado del túnel VPN y el estado de la sesión de BGP.
  3. Haz clic en el Nombre de un túnel para ver los detalles.
  4. En Registros, haz clic en Ver para visualizar los registros de Logging.
  5. También puedes modificar la sesión de BGP asociada a este túnel.

gcloud

El procedimiento para verificar el estado del túnel de VPN clásica es similar al de verificación de uno de VPN con alta disponibilidad. Reemplaza PROJECT_ID por el ID de tu proyecto.

  1. Para comprobar el estado de un túnel VPN, identifica su nombre y región. En el siguiente paso, usa esta información para reemplazar los valores NAME y REGION. Puedes identificar el túnel mediante uno de estos métodos:

    1. Opción 1: Para enumerar todos los túneles VPN de tu proyecto, usa este comando:
      gcloud compute vpn-tunnels list --project PROJECT_ID
      
    2. Opción 2: Si conoces el nombre de la puerta de enlace de VPN que contiene el túnel, puedes recuperar la lista de túneles asociados con el siguiente comando.

      • Reemplaza GW_NAME por el nombre de la puerta de enlace y REGION por la región (la misma región del túnel):
      gcloud compute target-vpn-gateways describe GW_NAME \
       --region REGION \
       --project PROJECT_ID \
       --format='flattened(tunnels)'
      
  2. Describe el túnel para determinar su estado mediante el siguiente comando. Se muestran un mensaje de estado básico y un mensaje más detallado. Si quieres ver una lista completa, omite la opción --format.

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

api

Puedes usar cualquiera de las siguientes llamadas a la API para ver los detalles del túnel.

  • Para enumerar todos los túneles VPN, sus atributos y estados en un proyecto y una región específicos, haz lo siguiente:

Realiza una solicitud GET con el método vpnTunnels.list.

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
  • Para enumerar los atributos y el estado de un túnel específico en un proyecto y una región en particular, haz lo siguiente:

Realiza una solicitud GET con el método vpnTunnels.get.

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

Comprueba las reglas de reenvío de una VPN clásica

Usa este procedimiento a fin de verificar las reglas de reenvío que creaste para tu puerta de enlace de VPN clásica.

Console

  1. Ve a la página VPN en Google Cloud Console.
    Ir a la página VPN
  2. Haz clic en un Nombre de puerta de enlace.
  3. En la página Detalles de VPN, consulta las reglas de reenvío que creaste.

gcloud

Ingresa el siguiente comando para ver las reglas de reenvío de una puerta de enlace de VPN clásica NAME en un REGION específico.

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

API

Usa el método targetVpnGateways.get para ver las reglas de reenvío de una puerta de enlace de VPN clásica. Especifica el PROJECT_ID, la puerta de enlace resource-id (name) y el REGION.

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

Mensajes de estado del túnel

Usa la siguiente tabla para interpretar los mensajes de estado del túnel desde Google Cloud Console o cuando uses los comandos de gcloud:

Estado Mensaje de estado detallado Notas
Asignando recursos Asignando recursos. El túnel VPN se iniciará pronto. Este es el estado inicial de un túnel de Cloud VPN creado recientemente.
Esperando configuración completa Esperando configuración de ruta. Se está preparando la configuración de rutas o de enrutamiento.
Primer protocolo de enlace Falló el protocolo de enlace con el par de intercambio de tráfico por motivos desconocidos. Se volverá a intentar en breve. La negociación de la fase 1 (IKE SA) con la VPN de par está en curso. Puede haber fallado al menos una vez.
Establecido El túnel está activado y en funcionamiento. El túnel está activado y se configuraron las rutas.
Sin paquetes entrantes No hay paquetes entrantes del par de intercambio de tráfico. No se recibe tráfico de la puerta de enlace de VPN de intercambio de tráfico.

Comprueba el estado de alta disponibilidad de las puertas de enlace de VPN con alta disponibilidad

Usa el comando compute vpn-gateways get-status para verificar el estado de la configuración de alta disponibilidad de los túneles de una puerta de enlace de VPN con alta disponibilidad.

También puedes ver las métricas de Cloud Monitoring para obtener más información.

En el resultado de este comando, se muestra el estado del requisito de redundancia de alta disponibilidad de los túneles VPN asociados a cada puerta de enlace de intercambio de tráfico a la que está conectada la puerta de enlace de VPN con alta disponibilidad.

La puerta de enlace de intercambio de tráfico puede ser otra puerta de enlace de VPN con alta disponibilidad o una puerta de enlace de VPN externa. Si hay varias puertas de enlace de redes de intercambio de tráfico conectadas a la puerta de enlace de VPN con alta disponibilidad, se muestran varios estados de configuración de alta disponibilidad, un estado por cada puerta de enlace de intercambio de tráfico.

El resultado del comando indica la cantidad y la cobertura correctas del túnel de las siguientes maneras:

  • Las puertas de enlace de VPN configuradas con la redundancia adecuada (cobertura) muestran el estado HighAvailabilityRedundancyRequirementState: CONNECTION_REQUIREMENT_MET.
  • Las puertas de enlace de VPN que no están configuradas con una redundancia adecuada muestran el estado HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • Si no hay suficientes túneles configurados entre tu puerta de enlace de VPN con alta disponibilidad y otra puerta de enlace de VPN con alta disponibilidad o una puerta de enlace de intercambio de tráfico, el resultado del comando será redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Console

  1. Ve a la página VPN en Google Cloud Console.
    Ir a la página VPN
  2. Haz clic en Nombre de la puerta de enlace para ver sus detalles y sus túneles. En el caso de las puertas de enlace de VPN con alta disponibilidad, también puedes ver el estado de alta disponibilidad de la puerta de enlace.

gcloud

Para ver el estado del túnel de la puerta de enlace de VPN con alta disponibilidad, ingresa el siguiente comando. Reemplaza las opciones como se indica a continuación:

  • GW_NAME es el nombre de la puerta de enlace de VPN con alta disponibilidad.
  • REGION es la región donde reside la puerta de enlace.
  gcloud compute vpn-gateways get-status GW_NAME \
      --region REGION

En el siguiente resultado del comando, se muestra la información de una puerta de enlace de VPN con alta disponibilidad conectada a una puerta de enlace de intercambio de tráfico con dos 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

El siguiente resultado de ejemplo corresponde a dos puertas de enlace de VPN con alta disponibilidad conectadas entre sí. Para este tipo de configuración, ingresa el comando para cada nombre de las puertas de enlace de VPN con alta disponibilidad.

En el estado de obtención de “ha-vpn-gw-a”, se muestra la conexión con “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

En el estado de obtención de “ha-vpn-gw-b”, se muestra la conexión con “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

El siguiente resultado de ejemplo corresponde a una puerta de enlace de VPN con alta disponibilidad conectada a una puerta de enlace virtual de AWS con dos conexiones y cuatro direcciones 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

El siguiente resultado de ejemplo corresponde a dos puertas de enlace de VPN con alta disponibilidad conectadas entre sí con un solo túnel. Esta configuración no cumple con el ANS del 99.99% de disponibilidad.

  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

Para obtener el estado de una puerta de enlace de VPN con alta disponibilidad específica en un proyecto y una región específicos, haz lo siguiente:

Realiza una solicitud GET con el método vpnGateways.getStatus.

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

Comprueba el estado de BGP

Para los túneles que usan enrutamiento dinámico con BGP, también puedes verificar el estado de Cloud Router a fin de ver detalles como el estado de las sesiones de BGP de un router o las rutas que Cloud Router anuncia.

¿Qué sigue?