Como criar uma VPN clássica usando o roteamento dinâmico

Esta página descreve como criar um gateway da VPN clássica e um túnel usando o roteamento dinâmico, que usa o BGP (Border Gateway Routing Protocol).

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

A configuração dos seguintes itens no Google Cloud facilita a configuração do Cloud VPN:

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Cloud, na página de seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para o seu projeto.

  4. Instale e inicialize o SDK do Cloud..
  1. Se você estiver usando comandos gcloud, defina o código do projeto com o comando a seguir. As instruções do gcloud nesta página presumem que você tenha definido o código do projeto antes de emitir comandos.
  gcloud config set project project-id

É possível também ver um ID do projeto que já foi definido:

  gcloud config list --format='text(core.project)'

Como criar rede e sub-rede de nuvem privada virtual personalizadas

Antes de criar um gateway e um túnel de VPN clássica, crie uma rede de nuvem privada virtual e pelo menos uma sub-rede na região em que o gateway de VPN clássica residirá.

Como criar um gateway e um túnel

O assistente de configuração de VPN é a única opção de console para criar um gateway de VPN clássica. O assistente inclui todas as etapas de configuração necessárias para a criação de um gateway de VPN clássica, túneis, sessões do BGP e um recurso de gateway de VPN externa. No entanto, é possível concluir algumas etapas depois. Por exemplo, configuração de sessões do BGP.

O botão Criar uma VPN suporta apenas a criação de gateways de VPN de alta disponibilidade.

Console

Configure o gateway

  1. Acesse a página VPN no Console do Google Cloud.
    Acesse a página da VPN
  2. Clique em Assistente de configuração da VPN.
  3. Na página Criar uma VPN, especifique VPN clássica.
  4. Clique em Continuar.
  5. Na página Criar uma conexão de VPN, especifique as seguintes configurações de gateway:
    • Nome: o nome do gateway da VPN. Não é possível alterá-lo posteriormente.
    • Descrição: se quiser, adicione uma descrição.
    • Rede: especifique uma rede de VPC existente para criar o gateway e o túnel da VPN.
    • Região: os gateways e túneis do Cloud VPN são objetos regionais. Escolha uma região do Google Cloud onde 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, localize o gateway e o túnel na mesma região que os recursos relevantes do Google Cloud.
    • Endereço IP: crie ou escolha um endereço IP externo regional atual.

Configurar túneis

  1. 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, insira uma descrição.
    • Endereço IP de peering remoto: especifique o endereço IP externo do gateway de VPN de peering.
    • Versão do IKE: escolha a versão do IKE apropriada compatível com o gateway de VPN de peering. O IKEv2 tem preferência se for compatível com o dispositivo de peering.
    • Chave secreta compartilhada: forneça uma chave pré-compartilhada usada para autenticação. A senha secreta do túnel do Cloud VPN precisa corresponder à usada ao configurar o túnel de contrapartida no gateway de VPN de peering. Siga estas instruções para gerar uma senha secreta com criptografia forte.
    • Opções de roteamento: selecione Dinâmico (BGP).
    • Cloud Router: se ainda não o fez, crie um novo Cloud Router especificando as opções conforme indicado abaixo. Como alternativa, use um Cloud Router existente se o Cloud Router ainda não gerenciar uma sessão do BGP para um anexo de interconexão associado a uma interconexão por parceiro. 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. Para criar um novo Cloud Router, especifique 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 a 65534, 4200000000 a 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 especifique os detalhes a seguir. Quando terminar, clique em Salvar e continuar.
      • Nome: o nome da sessão do BGP. Não é possível alterá-lo posteriormente.
      • ASN de peering: um ASN público ou privado (64512 a 65534, 4200000000 a 4294967294) usado pelo gateway da VPN de peering.
      • Prioridade da rota divulgada: (opcional) a prioridade básica que o Cloud Router usa ao divulgar as rotas “para o Google Cloud”. Para mais informações, consulte Métricas de rota. Seu gateway de VPN de peering importa esses valores como MED.
      • IP do BGP do Cloud Router e IP do peering 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.
  2. 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.
  3. Clique em Criar

gcloud


Nos comandos a seguir, substitua:

  • project-id pelo código do projeto;
  • network pelo nome da sua rede do Google Cloud.
  • region pela região do Google Cloud em que você precisa criar o gateway e o túnel.
  • (Opcional) O --target-vpn-gateway-region é a região do gateway de VPN clássica onde operar. Seu valor precisa ser igual a --region. Se não for especificada, essa opção será definida automaticamente. Esta opção substitui o valor padrão da propriedade compute/region para esta invocação de comando.
  • gw-name pelo nome do gateway;
  • gw-ip-name por um nome para o IP externo usado pelo gateway.

Conclua a seguinte sequência de comandos para criar um gateway do Google Cloud:

  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. Observe o endereço IP para usá-lo ao configurar o gateway da VPN de peering:

      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 Google Cloud a enviar o tráfego do 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. Se ainda não tiver feito isso, preencha o comando a seguir para criar um Cloud Router. Substitua as opções conforme indicado abaixo. Como alternativa, use um Cloud Router existente se o Cloud Router ainda não gerenciar uma sessão do BGP para um anexo de interconexão associado a uma interconexão por parceiro.

    • Substitua router-name por um nome para o Cloud Router.
    • Substitua [GOOGLE_ASN] por um ASN privado (64512 a 65534, 4200000000 a 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 de VPN de peering.
    • Substitua ike-vers por 1 para IKEv1 ou 2 para IKEv2.
    • Substitua shared-secret pela chave secreta compartilhada. A senha secreta do túnel do Cloud VPN precisa corresponder à usada ao configurar o túnel de contrapartida no gateway de VPN de peering. Siga estas instruções para gerar uma senha secreta 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 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 Google Cloud escolha automaticamente os endereços IP do BGP de link local:

      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 par BGP à interface. Substitua peer-name por um nome para o peering e peer-asn pelo ASN configurado para o gateway de VPN de peering.

        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 de peering é o IP do BGP que você precisa usar para configurar o gateway de VPN de peering.

        gcloud compute routers get-status router-name \
             --region region \
             --project project-id \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        A saída esperada para um Cloud Router que gerencia um único túnel do Cloud VPN (índice 0) tem a seguinte aparência, 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 peering.

        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 do Google Cloud e ao peering:

      1. Escolha um par de endereços IP link-local do BGP em um bloco /30 no intervalo 169.254.0.0/16. Atribua um desses endereços IP do BGP ao Cloud Router no próximo comando substituindo google-bgp-ip. O outro endereço IP do BGP é usado para seu gateway de VPN de peering. Você precisa configurar seu dispositivo para usar esse endereço e substituir on-prem-bgp-ip no último comando abaixo.

      2. Adicione uma nova interface ao Cloud Router. Especifique um nome para a interface substituindo interface-name.

        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 par BGP à interface. Substitua peer-name por um nome para o peering e peer-asn pelo ASN configurado para o gateway de VPN de peering.

        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. Defina o gateway da VPN de peering e configure o túnel correspondente. Consulte estas páginas:
  2. Configure regras de firewall no Google Cloud e em sua rede de peering conforme necessário. Consulte a página Regras de firewall para sugestões.
  3. Verifique o status do seu túnel, incluindo as regras de encaminhamento.

A seguir