Comprobar el estado de una VPN

Después de configurar las pasarelas VPN de par, comprueba los siguientes componentes para asegurarte de que se comunican correctamente con Cloud VPN:

  • Comprueba el estado de los túneles de VPN de alta disponibilidad o de VPN clásica que hayas configurado, incluido el estado operativo.
  • Consulta el estado de alta disponibilidad de los túneles de una pasarela VPN de alta disponibilidad.
  • Consulta el estado de las sesiones del protocolo de pasarela fronteriza (BGP) de Cloud Router o las rutas que anuncia Cloud Router.

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

Comprobar túneles VPN de alta disponibilidad

Sigue este procedimiento para comprobar el estado de los túneles en ambas interfaces de una pasarela de VPN de alta disponibilidad.

Consola

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

    Ir a VPN

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

  3. Para ver los detalles de un túnel, haz clic en su nombre.

  4. En Registros, haz clic en Ver para ver los registros de Cloud Logging.

  5. También puede modificar la sesión de BGP asociada a este túnel.

gcloud

Para ver el estado de un túnel, siga estos dos pasos. Primero, identifica el nombre y la región del túnel y, a continuación, usa la opción de comando describe para ver los detalles del túnel.

En los siguientes comandos, sustituye lo siguiente:

  • PROJECT_ID: el ID de tu proyecto
  • GW_NAME: el nombre de la pasarela
  • REGION: la región en la que se encuentra la pasarela o el túnel
  • NAME: el nombre del túnel

Para ver el estado del túnel, sigue estos pasos:

  1. Identifica el nombre y la región del túnel VPN cuyo estado quieres comprobar. Puede 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, ejecuta el siguiente comando:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      La salida del comando debería 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 pasarela de VPN que contiene el túnel, ejecuta el siguiente comando para obtener la lista de túneles asociados a la pasarela:

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Una vez que sepas 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 devuelve el mensaje de estado básico y otro más detallado. La salida del comando debería ser similar al siguiente ejemplo. Para obtener una lista completa, omite la opción --format.

    detailedStatus: Tunnel is up and running.
    

    En los cuatro ejemplos de salida de comandos siguientes se muestra una lista completa de un par de túneles en cada una de las dos puertas de enlace de VPN de alta disponibilidad que están conectadas entre sí. Es decir, en ha-vpn-gw-a, los túneles de interface 0 y interface 1 están conectados a los túneles de 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 de un túnel, puedes usar cualquiera de las siguientes llamadas a la API:

  • Para mostrar los atributos y el estado de todos los túneles VPN de un proyecto y una región específicos, haz una solicitud GET con el método vpnTunnels.list:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Para ver los atributos y el estado de un túnel específico de un proyecto y una región concretos, 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
    

Comprobar túneles de VPN clásica

Sigue este procedimiento para comprobar el estado de los túneles de una pasarela de VPN clásica.

Consola

  1. En la Google Cloud consola, 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 de un túnel, haz clic en su nombre.

  4. En Registros, haz clic en Ver para ver los registros de Logging.

  5. También puede modificar la sesión de BGP asociada a este túnel.

gcloud

El procedimiento para comprobar el estado de los túneles de VPN clásica es similar al de las VPN de alta disponibilidad.

En los siguientes comandos, sustituye lo siguiente:

  • PROJECT_ID: el ID de tu proyecto
  • GW_NAME: el nombre de la pasarela
  • REGION: la región en la que se encuentra la pasarela o el túnel
  • NAME: el nombre del túnel

Para ver el estado del túnel, sigue estos pasos:

  1. Identifica el nombre y la región del túnel VPN cuyo estado quieres comprobar. Puede 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, ejecuta el siguiente comando:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      
    2. Opción 2: Si conoces el nombre de la pasarela de VPN que contiene el túnel, ejecuta el siguiente comando para obtener la lista de túneles asociados a la pasarela:

      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 ejecutando el siguiente comando. Se devuelve el mensaje de estado básico y otro más detallado. Para obtener 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 de un túnel, puedes usar cualquiera de las siguientes llamadas a la API:

  • Para mostrar los atributos y el estado de todos los túneles VPN de un proyecto y una región específicos, haz una solicitud GET con el método vpnTunnels.list:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Para ver los atributos y el estado de un túnel específico de un proyecto y una región concretos, 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
    

Comprobar las reglas de reenvío de VPN clásica

Sigue este procedimiento para comprobar las reglas de reenvío que has creado para tu pasarela VPN clásica.

Consola

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

    Ir a VPN

  2. Haz clic en el nombre de una pasarela.

  3. En la página Detalles de VPN, consulta las reglas de reenvío que has creado.

gcloud

Para ver las reglas de reenvío de una pasarela VPN clásica de 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 pasarela de VPN clásica de una región específica, usa el método targetVpnGateways.get. Sustituye RESOURCE_ID por el nombre de la pasarela.

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

Interpretar mensajes de estado de túneles

Para interpretar los mensajes de estado del túnel de la consola Google Cloud o de la CLI de Google Cloud, usa la siguiente tabla.

Estado Mensaje de estado detallado Notas
Asignando recursos Asignando recursos. El túnel VPN se iniciará pronto. Estado inicial de un túnel de Cloud VPN recién creado.
A la espera de la configuración completa Esperando la configuración de la ruta. Se está preparando la configuración de las rutas o del enrutamiento.
Primer handshake Handshake con el peer interrumpido por motivo desconocido. Volveremos a intentarlo pronto. Se está negociando la fase 1 (SA de IKE) con la VPN de la entidad remota. Puede que haya fallado al menos una vez.
Establecido El túnel está operativo. El túnel está activo y se han configurado las rutas.
No hay paquetes entrantes No hay ningún paquete entrante del peer. No se recibe tráfico de la pasarela VPN de emparejamiento.

Comprobar el estado de alta disponibilidad de las pasarelas VPN de alta disponibilidad

Para comprobar el estado de la configuración de alta disponibilidad de los túneles de una pasarela VPN de alta disponibilidad, usa la consola de Google Cloud , 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 de los túneles VPN asociados a cada pasarela de par a la que está conectada la pasarela VPN de alta disponibilidad.

La pasarela de par puede ser otra pasarela de VPN de alta disponibilidad o una pasarela de VPN externa. Si hay varias pasarelas de peer conectadas a la pasarela de VPN de alta disponibilidad, se mostrarán varios estados de configuración de alta disponibilidad, uno por cada pasarela de peer.

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

  • Las pasarelas VPN configuradas con una redundancia adecuada (cobertura) muestran el siguiente estado:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • Las pasarelas VPN que no estén configuradas con la redundancia adecuada mostrarán el siguiente estado:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • Si no hay suficientes túneles configurados entre tu pasarela de VPN de alta disponibilidad y otra pasarela de VPN de alta disponibilidad o una pasarela de par, el resultado del comando mostrará el siguiente estado:
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Para obtener más información, consulta el artículo sobre cómo ver registros y métricas.

Consola

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

    Ir a VPN

  2. Para ver los detalles de la pasarela y sus túneles, haga clic en Nombre de la pasarela. En el caso de las pasarelas VPN de alta disponibilidad, también puede consultar el estado de alta disponibilidad de la pasarela.

gcloud

Para mostrar el estado del túnel de la puerta de enlace de VPN de alta disponibilidad, ejecuta el siguiente comando. Haz los cambios siguientes:

  • GW_NAME: nombre de la pasarela VPN de alta disponibilidad
  • REGION: la región en la que se encuentra la pasarela
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION

En el siguiente ejemplo de salida de un comando se muestra información sobre una pasarela de VPN de alta disponibilidad conectada a una pasarela de par 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 salida de un comando muestra dos pasarelas de VPN de alta disponibilidad conectadas entre sí. Para este tipo de configuración, ejecuta el comando para cada nombre de pasarela de VPN de alta disponibilidad:

  • Al consultar el estado de ha-vpn-gw-a, se muestra su 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
    
  • Al consultar el estado de ha-vpn-gw-b, se muestra su 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 salida de comandos corresponde a una pasarela de VPN de alta disponibilidad conectada a una pasarela 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 salida de un comando muestra dos pasarelas de VPN de alta disponibilidad conectadas entre sí con un solo túnel. Esta configuración no cumple el acuerdo de nivel de servicio de disponibilidad 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

Para obtener el estado de una pasarela de VPN de alta disponibilidad específica en un proyecto y una región concretos, 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

Comprobar el estado de BGP

En el caso de los túneles que usan el enrutamiento dinámico con BGP, puedes consultar el estado de Cloud Router para ver detalles como el estado de las sesiones BGP de un router o las rutas que anuncia Cloud Router.

Siguientes pasos

  • Para usar escenarios de alta disponibilidad y alto rendimiento o escenarios de varias subredes, consulta las configuraciones avanzadas.
  • Para ayudarte a resolver los problemas habituales que pueden surgir al usar Cloud VPN, consulta la sección Solución de problemas.