Como criar um túnel da VPN usando o roteamento dinâmico

Nesta página, descrevemos como criar um gateway do Cloud VPN e um túnel usando o roteamento dinâmico, que usa o Border Gateway Routing Protocol (BGP).

Com o roteamento dinâmico, você não especifica seletores de tráfego locais ou remotos. Em vez disso, um Cloud Router é usado. As informações de rota são trocadas dinamicamente.

Antes de começar:

  • Revise informações sobre como o roteamento dinâmico funciona no GCP.
  • Verifique se o gateway da VPN local é compatível com o BGP.

Permissões necessárias

Proprietários de projetos, editores e membros do IAM com o papel de administrador de rede podem criar novos gateways e túneis do Cloud VPN.

Como criar um gateway e um túnel

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acesse a página VPN
  2. Clique em Criar
  3. Na página Criar uma conexão VPN, forneça as seguintes informações na seção Gateway de VPN do Google Compute Engine:
    • Nome: o nome do gateway da VPN. Não é possível alterá-lo posteriormente.
    • Descrição: se quiser, digite uma descrição.
    • Rede: escolha a rede do GCP em que serão criados o gateway e o túnel da VPN. Use uma rede VPC ou uma rede legada.
    • Região: os gateways e túneis do Cloud VPN são objetos regionais. Escolha a região do GCP em que o gateway será localizado. Instâncias e outros recursos em diferentes regiões usam o túnel para o tráfego de saída sujeito à ordem das rotas. Para um melhor desempenho, coloque o gateway e o túnel na mesma região que os recursos relevantes do GCP.
    • Endereço IP: crie ou escolha um endereço IP externo regional atual.
  4. Forneça as seguintes informações na seção Túneis para o novo item de túnel:
    • Nome: o nome do túnel da VPN. Não é possível alterá-lo posteriormente.
    • Descrição: se quiser, digite uma descrição.
    • Endereço IP do terminal remoto: forneça o endereço IP público do gateway da VPN local.
    • Versão do IKE: escolha a versão do IKE compatível com o gateway da VPN local. Recomenda-se o IKEv2 quando compatível com o dispositivo local.
    • Chave secreta compartilhada: forneça uma chave pré-compartilhada usada para autenticação. A chave secreta compartilhada do túnel do Cloud VPN precisa corresponder àquela usada na configuração do túnel de contraparte no gateway da VPN local. Siga estas instruções para gerar uma chave secreta compartilhada com criptografia forte.
    • Opções de roteamento: selecione Dinâmico (BGP).
    • Cloud Router: escolha um Cloud Router atual ou crie um novo, selecionando Criar cloud router. Caso seja escolhido um Cloud Router atual, ainda assim você criará uma nova sessão do BGP, mas o ASN do Google será o mesmo. Caso escolha criar um novo Cloud Router, forneça os seguintes detalhes:
      • Nome: o nome do Cloud Router. Não é possível alterá-lo posteriormente.
      • Descrição: se quiser, insira uma descrição.
      • ASN do Google: escolha um ASN privado (64512 - 65534, 4200000000 - 4294967294). Ele é usado para todas as sessões do BGP gerenciadas pelo Cloud Router. Não é possível alterar o ASN posteriormente.
      • Clique em Salvar e continuar.
    • Sessão do BGP: clique no ícone de lápis e forneça os detalhes abaixo. Quando terminar, clique em Salvar e continuar.
      • Nome: o nome da sessão do BGP. Não é possível alterá-lo posteriormente.
      • ASN do par: o ASN privado (64512 - 65534, 4200000000 - 4294967294) usado pelo gateway da VPN local.
      • Prioridade de rota anunciada (opcional): a prioridade básica usada pelo Cloud Router ao divulgar as rotas “para o GCP”. Para ver mais informações, consulte Métricas de rota. O gateway da VPN local as importa como valores de MED.
      • IP do BGP do Cloud Router e IP do par do BGP: os dois endereços IP da interface do BGP precisam ser endereços IP link-local pertencentes a um CIDR /30 comum do bloco 169.254.0.0/16. Cada IP do BGP define o respectivo IP link-local usado para trocar informações de rotas. Por exemplo, 169.254.1.1 e 169.254.1.2 pertencem a um bloco /30 comum.
  5. Caso seja preciso criar mais túneis no mesmo gateway, clique em Adicionar túnel e repita a etapa anterior. É possível adicionar mais túneis posteriormente.
  6. Clique em Criar

gcloud


Nos comandos a seguir, substitua:

  • [PROJECT_ID] pelo código do projeto;
  • [NETWORK] pelo nome da rede do GCP;
  • [REGION] pela região do GCP em que você precisa criar o gateway e o túnel;
  • [GW_NAME] pelo nome do gateway;
  • [GW_IP_NAME] por um nome para o IP externo usado pelo gateway.

Complete a sequência de comandos a seguir para criar um gateway do GCP:

  1. Crie os recursos para o gateway do Cloud VPN:

    1. Crie o objeto de gateway da VPN de destino.

      gcloud compute target-vpn-gateways create [GW_NAME] \
          --network [NETWORK] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    2. Reserve um endereço IP estático externo regional:

      gcloud compute addresses create [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    3. Anote o endereço IP para usá-lo quando configurar seu gateway da VPN local:

      gcloud compute addresses describe [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID] \
          --format='flattened(address)'
      
    4. Crie três regras de encaminhamento. Essas regras instruem o GCP a enviar o tráfego ESP (IPSec), UDP 500 e UDP 4500 para o gateway.

       gcloud compute forwarding-rules create fr-[GW_NAME]-esp \
           --ip-protocol ESP \
           --address [GW_IP_NAME] \
           --target-vpn-gateway [GW_NAME] \
           --region [REGION] \
           --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp500 \
          --ip-protocol UDP \
          --ports 500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp4500 \
          --ip-protocol UDP \
          --ports 4500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  2. Caso você ainda não tenha criado um Cloud Router ou queira criar um novo, use o comando abaixo: Substitua [ROUTER_NAME] por um nome para o Cloud Router e [GOOGLE_ASN] por um ASN privado (64512 - 65534, 4200000000 - 4294967294). O ASN do Google é usado para todas as sessões do BGP no mesmo Cloud Router e não é possível alterá-lo depois.

      gcloud compute routers create [ROUTER_NAME] \
      --asn [GOOGLE_ASN] \
      --network [NETWORK] \
      --region [REGION] \
      --project [PROJECT_ID]
    
  3. Crie o túnel do Cloud VPN com os seguintes detalhes:

    • Substitua [TUNNEL_NAME] por um nome para o túnel.
    • Substitua [ON_PREM_IP] pelo endereço IP externo do gateway da VPN local.
    • Substitua [IKE_VERS] por 1 para IKEv1 ou 2 para IKEv2.
    • Substitua [SHARED_SECRET] pela chave secreta compartilhada. A chave secreta compartilhada do túnel do Cloud VPN precisa corresponder àquela usada na configuração do túnel de contraparte no gateway da VPN local. Siga estas instruções para gerar uma chave secreta compartilhada com criptografia forte.
    • Substitua [ROUTER_NAME] pelo nome do Cloud Router desejado para gerenciar rotas para o túnel do Cloud VPN. O Cloud Router precisa existir antes de você criar o túnel.

      gcloud compute vpn-tunnels create [TUNNEL_NAME] \
          --peer-address [ON_PREM_IP] \
          --ike-version [IKE_VERS] \
          --shared-secret [SHARED_SECRET] \
          --router my-router [ROUTER_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  4. Configure uma sessão do BGP para o Cloud Router criando uma interface e um terminal do BGP. Escolha um dos seguintes métodos:

    • Para permitir que o GCP escolha automaticamente os endereços IP link-local do BGP:

      1. Adicione uma nova interface ao Cloud Router. Substitua [INTERFACE_NAME] para fornecer um nome para a interface.

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      2. Adicione um terminal do BGP à interface. Substitua [PEER_NAME] por um nome para o terminal e [PEER_ASN] pelo ASN configurado para o gateway da VPN local.

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. Liste os endereços IP do BGP escolhidos pelo Cloud Router. Caso você tenha adicionado uma nova interface a um Cloud Router atual, os endereços IP do BGP para a nova interface precisarão ser listados com o maior número de índice. O Endereço IP do terminal é o IP do BGP necessário para configurar seu gateway da VPN local.

        gcloud compute routers get-status [ROUTER_NAME] \
             --region [REGION] \
             --project [PROJECT_ID] \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        O resultado esperado para um Cloud Router que está gerenciando um único túnel do Cloud VPN (índice 0) é semelhante ao seguinte, em que [GOOGLE_BGP_IP] representa o IP do BGP da interface do Cloud Router e [ON_PREM_BGP_IP] representa o IP do BGP do terminal local:

        result.bgpPeerStatus[0].ipAddress:     [GOOGLE_BGP_IP]
        result.bgpPeerStatus[0].peerIpAddress: [ON_PREM_BGP_IP]
        
    • Para atribuir manualmente os endereços IP do BGP associados à interface do BGP no GCP e ao terminal:

      1. Escolha um par de endereços IP link-local do BGP em um bloco /30 no intervalo 169.254.0.0/16. Substitua [GOOGLE_BGP_IP] para atribuir um desses IPs do BGP ao Cloud Router no próximo comando. O outro endereço IP do BGP é usado para o gateway da VPN local. Será preciso configurar o dispositivo para usar esse endereço e substituir [ON_PREM_BGP_IP] no último comando, abaixo.

      2. Adicione uma nova interface ao Cloud Router. Substitua [INTERFACE_NAME] para fornecer um nome para a interface.

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --ip-address [GOOGLE_BGP_IP] \
            --mask-length 30 \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. Adicione um terminal do BGP à interface. Substitua [PEER_NAME] por um nome para o par e [PEER_ASN] pelo ASN configurado para o gateway da VPN local.

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --peer-ip-address [ON_PREM_BGP_IP] \
            --region [REGION] \
            --project [PROJECT_ID]
        

Próximas etapas

É preciso concluir as seguintes etapas antes de usar um novo túnel e gateway do Cloud VPN:

  1. Configure o gateway da VPN local e o túnel correspondente. Consulte estas páginas:
  2. Configure regras de firewall no GCP e na rede local, conforme necessário. Consulte a página Regras de firewall para sugestões.
  3. Verifique o status do túnel.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…