Comprobar el estado de la VPN

Después de configurar las puertas de enlace de VPN de par, verifica los siguientes componentes para asegurarte de que se comunican de forma correcta con Cloud VPN:

  • Verifica el estado de la VPN con alta disponibilidad o de la VPN clásica que configuraste, 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 del protocolo de puerta de enlace fronteriza (BGP) de Cloud Router o las rutas que este anuncia.

Para obtener más información sobre Cloud VPN, consulta los siguientes recursos:

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. En Google Cloud Console, ve a la página VPN.

    Ir a VPN

  2. Consulta el estado del túnel VPN y el estado de la sesión de BGP.

  3. Para ver los detalles del túnel, haz clic en el Nombre de un túnel.

  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.

En los siguientes comandos, reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • GW_NAME: Es el nombre de la puerta de enlace.
  • REGION: Es la región donde reside la puerta de enlace o el túnel.
  • NAME: Es el nombre del túnel.

Para ver el estado del túnel, completa los siguientes pasos:

  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 en tu proyecto, ejecuta el siguiente comando:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      El resultado del comando debe ser similar al siguiente 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, ejecuta el siguiente comando para recuperar la lista de túneles asociados a 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 interface 0 e interface 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

Para ver los detalles del túnel, puedes usar cualquiera de las siguientes llamadas a la API:

  • Para enumerar los atributos y el estado de todos los túneles VPN en una región y un proyecto específicos, 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 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. En Cloud Console, ve a la página VPN.

    Ir a VPN

  2. Consulta el estado del túnel VPN y el estado de la sesión de BGP.

  3. Para ver los detalles del túnel, haz clic en el Nombre de un túnel.

  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.

En los siguientes comandos, reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • GW_NAME: Es el nombre de la puerta de enlace.
  • REGION: Es la región donde reside la puerta de enlace o el túnel.
  • NAME: Es el nombre del túnel.

Para ver el estado del túnel, completa los siguientes pasos:

  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 en tu proyecto, ejecuta el siguiente 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, ejecuta el siguiente comando para recuperar la lista de túneles asociados a la puerta de enlace:

      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 la ejecución del 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

Para ver los detalles del túnel, puedes usar cualquiera de las siguientes llamadas a la API:

  • Para enumerar los atributos y el estado de todos los túneles VPN en una región y un proyecto específicos, 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 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 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. En Cloud Console, ve a la página VPN.

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

Para ver las reglas de reenvío de una puerta de enlace de VPN clásica en una región específica, ejecuta el siguiente comando:

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

API

Para ver las reglas de reenvío de una puerta de enlace de VPN clásica en una región específica, usa el método targetVpnGateways.get. Reemplaza RESOURCE_ID por el nombre de la puerta de enlace.

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

Interpreta los mensajes de estado del túnel

Para interpretar los mensajes de estado del túnel desde Google Cloud Console o la herramienta de línea de comandos de gcloud, usa la siguiente tabla.

Estado Mensaje de estado detallado Notas
Asignando recursos Asignando recursos. El túnel VPN se iniciará pronto. El estado inicial de un túnel de Cloud VPN recién creado.
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

.

Para verificar el estado de configuración de alta disponibilidad de túneles en una puerta de enlace de VPN con alta disponibilidad, usa Cloud Console, el comando compute vpn-gateways get-status o el método vpnGateways.getStatus.

El resultado muestra el estado del requisito de redundancia de alta disponibilidad para túneles VPN asociados con 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_REDUNDANCY_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 muestra el estado siguiente:
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Para obtener más información, consulta Métricas de Cloud Monitoring.

Console

  1. En Cloud Console, ve a la página VPN.

    Ir a VPN

  2. Si deseas ver los detalles de la puerta de enlace para la puerta de enlace y sus túneles, haz clic en Nombre de la puerta de enlace. 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, ejecuta el siguiente comando. Reemplaza lo siguiente:

  • 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 ejemplo de 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 ejemplo de resultado del comando es para dos puertas de enlace de VPN con alta disponibilidad conectadas entre sí. En 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 ejemplo de resultado del comando es para 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 ejemplo de resultado del comando es para 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 en particular, haz 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, puedes verificar el estado de Cloud Router a fin de ver detalles como el estado de las sesiones BGP de un router o las rutas que el Cloud Router anuncia.

¿Qué sigue?

  • Para usar situaciones de alta disponibilidad y alta capacidad de procesamiento o situaciones de varias subredes, consulta Configuración avanzada.
  • Para ayudarte a resolver problemas comunes que podrías encontrar cuando uses Cloud Interconnect, consulta Solución de problemas.