Verifique o estado da VPN

Depois de configurar os gateways de VPN de pares, verifique os seguintes componentes para garantir que estão a comunicar corretamente com a Cloud VPN:

  • Verifique o estado dos túneis de VPN de alta disponibilidade ou VPN clássica que configurou, incluindo o estado operacional.
  • Verifique o estado de alta disponibilidade dos túneis num gateway de VPN de alta disponibilidade.
  • Veja o estado das sessões do protocolo de gateway de fronteira (BGP) do Cloud Router ou as rotas que o Cloud Router está a anunciar.

Para mais informações sobre a Cloud VPN, consulte os seguintes recursos:

Verifique os túneis de HA VPN

Use este procedimento para verificar o estado dos túneis em ambas as interfaces de um gateway de VPN de alta disponibilidade.

Consola

  1. Na Google Cloud consola, aceda à página VPN.

    Aceda à VPN

  2. Veja o estado do túnel de VPN e o estado da sessão BGP.

  3. Para ver os detalhes do túnel, clique no Nome de um túnel.

  4. Em Registos, clique em Ver para ver os registos do Cloud Logging.

  5. Também pode modificar a sessão BGP associada a este túnel.

gcloud

Existem dois passos para ver o estado do túnel. Primeiro, identifique o nome e a região do túnel e, em seguida, use a opção de comando describe para ver os detalhes do túnel.

Nos seguintes comandos, substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto
  • GW_NAME: o nome do gateway
  • REGION: a região onde a entrada ou o túnel reside
  • NAME: o nome do túnel

Para ver o estado do túnel, conclua os seguintes passos:

  1. Identifique o nome e a região do túnel de VPN cujo estado tem de verificar. Pode identificar o túnel através de um dos seguintes métodos:

    1. Opção 1: para apresentar uma lista de todos os túneis de VPN no seu projeto, execute o seguinte comando:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      O resultado do comando deve ser semelhante ao seguinte exemplo:

      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. Opção 2: se souber o nome do gateway de VPN que contém o túnel, para obter a lista dos túneis associados ao gateway, execute o seguinte comando:

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Depois de saber o nome e a região do túnel, use a opção describe do comando vpn-tunnels para determinar o estado do túnel:

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

    É devolvida a mensagem de estado básica e uma mensagem mais detalhada. O resultado do comando deve ser semelhante ao exemplo seguinte. Para uma listagem completa, omita a opção --format.

    detailedStatus: Tunnel is up and running.
    

    Os quatro exemplos de saída de comandos seguintes mostram uma lista completa de um par de túneis em cada um dos dois gateways de VPN de alta disponibilidade que estão ligados entre si. Ou seja, em ha-vpn-gw-a, os túneis em interface 0 e interface 1 estão ligados a túneis nas interfaces correspondentes de ha-vpn-gw-b.

    Exemplo 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
    

    Exemplo 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
    

    Exemplo 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
    

    Exemplo 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 os detalhes do túnel, pode usar qualquer uma das seguintes chamadas API:

  • Para listar os atributos e o estado de todos os túneis VPN num projeto e numa região específicos, faça um pedido GET através do método vpnTunnels.list:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Para listar os atributos e o estado de um túnel específico num projeto e numa região específicos, faça um pedido GET através do método vpnTunnels.get:

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

Verifique os túneis de VPN clássica

Use este procedimento para verificar o estado dos túneis num gateway de VPN clássico.

Consola

  1. Na Google Cloud consola, aceda à página VPN.

    Aceda à VPN

  2. Veja o estado do túnel de VPN e o estado da sessão de BGP.

  3. Para ver os detalhes do túnel, clique no Nome de um túnel.

  4. Em Registos, clique em Ver para ver os registos de registo.

  5. Também pode modificar a sessão BGP associada a este túnel.

gcloud

O procedimento para verificar o estado do túnel de VPN clássica é semelhante ao da VPN de alta disponibilidade.

Nos seguintes comandos, substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto
  • GW_NAME: o nome do gateway
  • REGION: a região onde a entrada ou o túnel reside
  • NAME: o nome do túnel

Para ver o estado do túnel, conclua os seguintes passos:

  1. Identifique o nome e a região do túnel de VPN cujo estado tem de verificar. Pode identificar o túnel através de um dos seguintes métodos:

    1. Opção 1: para apresentar uma lista de todos os túneis de VPN no seu projeto, execute o seguinte comando:

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      
    2. Opção 2: se souber o nome do gateway de VPN que contém o túnel, para obter a lista dos túneis associados do gateway, execute o seguinte comando:

      gcloud compute target-vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. Descreva o túnel para determinar o respetivo estado executando o seguinte comando. É devolvida a mensagem de estado básica e uma mensagem mais detalhada. Para uma listagem completa, omita a opção --format.

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

API

Para ver os detalhes do túnel, pode usar qualquer uma das seguintes chamadas API:

  • Para listar os atributos e o estado de todos os túneis VPN num projeto e numa região específicos, faça um pedido GET através do método vpnTunnels.list:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • Para listar os atributos e o estado de um túnel específico num projeto e numa região específicos, faça um pedido GET através do método vpnTunnels.get:

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

Verifique as regras de encaminhamento da VPN clássica

Use este procedimento para verificar as regras de encaminhamento que criou para o gateway de VPN clássico.

Consola

  1. Na Google Cloud consola, aceda à página VPN.

    Aceda à VPN

  2. Clique num Nome do gateway.

  3. Na página Detalhes da VPN, veja as regras de encaminhamento que criou.

gcloud

Para ver as regras de encaminhamento de um gateway de VPN clássica numa região específica, execute o seguinte comando:

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

API

Para ver as regras de encaminhamento de um gateway de VPN clássica numa região específica, use o método targetVpnGateways.get. Substitua RESOURCE_ID pelo nome da gateway.

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

Interprete as mensagens de estado do túnel

Para interpretar as mensagens de estado do túnel a partir da Google Cloud consola ou da CLI Google Cloud, use a tabela seguinte.

Estado Mensagem de estado detalhada Notas
A atribuir recursos… A atribuir recursos. O túnel VPN vai começar em breve. O estado inicial de um túnel do Cloud VPN criado recentemente.
A aguardar pela configuração completa… A aguardar configuração do trajeto. As rotas ou a configuração de encaminhamento estão a ser preparadas.
Primeiro handshake Handshake com o par interrompido por motivo desconhecido. Vamos tentar novamente em breve. A negociação da fase 1 (IKE SA) com a VPN de pares está em curso. Pode ter falhado, pelo menos, uma vez.
Criado O túnel está a funcionar. O túnel está ativo e os trajetos foram configurados.
Sem pacotes recebidos Sem pacotes recebidos do par. Não está a ser recebido tráfego do gateway de VPN de pares.

Verifique o estado de alta disponibilidade para gateways de VPN de HA

Para verificar o estado da configuração de alta disponibilidade dos túneis num gateway de VPN de alta disponibilidade, use a consola, o comando compute vpn-gateways get-status ou o método vpnGateways.getStatus. Google Cloud

O resultado apresenta o estado do requisito de redundância de alta disponibilidade para túneis de VPN associados a cada gateway de pares ao qual o gateway de VPN de alta disponibilidade está ligado.

O gateway de intercâmbio pode ser outro gateway de VPN de alta disponibilidade ou um gateway de VPN externo. Se existirem vários gateways de pares ligados ao gateway de VPN de HA, são apresentados vários estados de configuração de alta disponibilidade, um estado por cada gateway de pares.

O resultado do comando indica o valor e a cobertura do túnel corretos das seguintes formas:

  • Os gateways de VPN configurados com redundância adequada (cobertura) mostram o seguinte estado:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • Os gateways de VPN que não estão configurados com redundância adequada apresentam o seguinte estado:
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • Se não existirem túneis suficientes configurados entre o gateway de VPN de HA e outro gateway de VPN de HA ou um gateway de pares, o resultado do comando mostra o seguinte estado:
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

Para mais informações, consulte o artigo Veja registos e métricas.

Consola

  1. Na Google Cloud consola, aceda à página VPN.

    Aceda à VPN

  2. Para ver os detalhes do gateway para o gateway e os respetivos túneis, clique em Nome do gateway. Para gateways de VPN de HA, também pode ver o estado de alta disponibilidade do gateway.

gcloud

Para apresentar o estado do túnel para o gateway de VPN de HA, execute o seguinte comando. Substitua o seguinte:

  • GW_NAME: o nome do gateway de HA VPN
  • REGION: a região onde o gateway reside
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION

O exemplo de saída do comando seguinte mostra informações para um gateway de VPN de HA ligado a um gateway de pares com duas 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

O exemplo de saída do comando seguinte destina-se a dois gateways de VPN de alta disponibilidade ligados entre si. Para este tipo de configuração, execute o comando para cada nome de gateway de VPN de alta disponibilidade:

  • A obtenção do estado de ha-vpn-gw-a mostra a respetiva ligação 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
    
  • A obtenção do estado de ha-vpn-gw-b mostra a respetiva ligação 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
    

O exemplo de saída do comando seguinte destina-se a um gateway de VPN de alta disponibilidade ligado a um gateway virtual da AWS com duas ligações e quatro endereços 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

O exemplo de saída do comando seguinte destina-se a dois gateways de VPN de alta disponibilidade ligados entre si com um único túnel. Esta configuração não cumpre o SLA de disponibilidade de 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 obter o estado de um gateway de VPN de alta disponibilidade específico num projeto e numa região específicos, faça um pedido GET através do método vpnGateways.getStatus:

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

Verifique o estado do BGP

Para túneis que usam o encaminhamento dinâmico com BGP, pode verificar o estado do Cloud Router para ver detalhes como o estado das sessões BGP de um router ou as rotas que o Cloud Router está a anunciar.

O que se segue?

  • Para usar cenários de alta disponibilidade e alto débito ou vários cenários de sub-rede, consulte as configurações avançadas.
  • Para ajudar a resolver problemas comuns que pode encontrar ao usar o Cloud VPN, consulte a secção Resolução de problemas.