Como criar uma VPN clássica usando o roteamento estático

Nesta página, você verá como criar um gateway de VPN clássica e um túnel usando roteamento estático. Este túnel é baseado em uma política ou em uma rota.

A VPN baseada em rota permite especificar somente o seletor de tráfego remoto. Se você precisar especificar um seletor de tráfego local, crie um túnel do Cloud VPN que use roteamento com base em políticas.

Antes de configurar o Cloud VPN, consulte Práticas recomendadas para o Cloud VPN.

Diferenças nas opções de roteamento

Quando você cria um túnel com base em políticas usando o Console do Google Cloud, a VPN clássica executa todas as tarefas a seguir:

  • Define o seletor de tráfego local do túnel para o intervalo IP especificado
  • Define o seletor de tráfego remoto do túnel para os intervalos de IP especificados em intervalos de IP de rede remota
  • Para cada intervalo em Intervalos de IP de rede remota, o Google Cloud cria uma rota estática personalizada que tenha como destino (prefixo) o CIDR do intervalo e da qual o próximo salto é o túnel.

Quando você cria um túnel com base em rota usando o Console do Cloud, a VPN clássica realiza as seguintes tarefas:

  • Define os seletores locais e remotos do túnel para qualquer endereço IP (0.0.0.0/0)
  • Para cada intervalo em Intervalos de IP de rede remota, o Google Cloud cria uma rota estática personalizada que tenha como destino (prefixo) o CIDR do intervalo e da qual o próximo salto é o túnel.

Quando você cria um túnel baseado em rota ou em uma política usando a ferramenta de linha de comando gcloud, os seletores de tráfego para o túnel são definidos da mesma maneira. No entanto, como a criação de rotas estáticas personalizadas é feita com comandos separados, você tem mais controle sobre essas rotas. Para mais informações, consulte Roteamento de redes e de túnel.

Como especificar vários CIDRs por seletor de tráfego

O número de CIDRs que podem ser especificados em um seletor de tráfego depende da versão de IKE. Analise com cuidado as Opções de roteamento e seletores de tráfego e Vários CIDRs por seletor de tráfego para mais informações importantes.

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 do 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 ID do projeto com o comando a seguir. As instruções do gcloud nesta página presumem que você tenha definido o ID 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, é preciso criar uma rede de nuvem privada virtual e, pelo menos, uma sub-rede na região onde o gateway da VPN clássica residirá.

Como criar um gateway e um túnel

O assistente de configuração da 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 criar 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 gateway de VPN permite apenas a criação de gateways de VPN de alta disponibilidade.

Assistente de VPN

Configure o gateway

  1. Acesse a página VPN no Console do Google Cloud.
    Acesse a página VPN
    1. Se você estiver criando um gateway pela primeira vez, selecione o botão Criar conexão VPN.
    2. Selecione o assistente de configuração de VPN.
  2. Selecione o botão de opção VPN clássica.
  3. Clique em Continuar.
  4. 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 atual em que o túnel e o gateway da VPN serão criados.
    • 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. Especifique as seguintes configurações na seção Túneis do novo 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 adequada compatível com o gateway da VPN de peering. O IKEv2 tem preferência se for compatível com o dispositivo de peering. Senha secreta: forneça uma chave pré-compartilhada usada para autenticação. A senha secreta do túnel do Cloud VPN precisa corresponder àquela usada ao configurar o túnel de contrapartida no gateway da VPN de peering. Siga estas instruções para gerar uma senha secreta com criptografia forte.

    Para túneis com base em políticas

    • Em Opções de roteamento, selecione com base em políticas.
    • Em Intervalos de IP de rede remota, forneça uma lista separada por espaço dos intervalos de IP usados pela rede de peering. Este é o seletor de tráfego remoto: o "lado direito" do ponto de vista do Cloud VPN.
    • Em Intervalos de IP local, selecione um dos seguintes métodos:
      • Use o menu Sub-redes locais para escolher um intervalo de IP local que já existe, ou
      • Use o campo Intervalos de IP locais para inserir uma lista de intervalos IP separados por espaço usados na rede VPC. Consulte seletores de tráfego para considerações importantes.

    Para túneis com base em rotas

    • Opções de roteamento: selecione com base em rotas.
    • Intervalos de IP de rede remota: forneça uma lista separada por espaço dos intervalos de IP usados pela rede de peering. Esses intervalos são usados para criar rotas estáticas personalizadas que tenha como próximo salto este túnel de VPN.
  2. Caso seja preciso criar mais túneis no mesmo gateway, clique em Adicionar túnel e repita a etapa anterior. Também é 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 rede do Google Cloud.
  • REGION pela região do Google Cloud em que você precisa criar o gateway e o túnel.
  • Opcional: a --target-vpn-gateway-region é a região do gateway de VPN clássica para operar. Seu valor precisa ser igual a --region. Se não for especificada, esta opção será definida automaticamente. Ela modifica 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. 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 àquela usada ao configurar o túnel de contrapartida no gateway da VPN de peering. Siga estas instruções para gerar uma senha secreta com criptografia forte.

    Para VPN baseada em política:

    • Substitua LOCAL_IP_RANGES por uma lista delimitada por vírgulas dos intervalos de IP do Google Cloud. Por exemplo, é possível fornecer o bloco CIDR para cada sub-rede em uma rede VPC. Este é o "lado esquerdo" do ponto de vista do Cloud VPN.
    • Substitua REMOTE_IP_RANGES por uma lista delimitada por vírgulas dos intervalos de IP da rede com peering. Este é o "lado direito" do ponto de vista do Cloud VPN.

    Comando de VPN com base em políticas:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address ON_PREM_IP \
        --ike-version IKE_VERS \
        --shared-secret SHARED_SECRET \
        --local-traffic-selector=LOCAL_IP_RANGES \
        --remote-traffic-selector=REMOTE_IP_RANGES \
        --target-vpn-gateway GW_NAME \
        --region REGION \
        --project PROJECT_ID
    

    Para VPN com base em rota:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address ON_PREM_IP \
        --ike-version IKE_VERS \
        --shared-secret SHARED_SECRET \
        --local-traffic-selector=0.0.0.0/0 \
        --remote-traffic-selector=0.0.0.0/0 \
        --target-vpn-gateway GW_NAME \
        --region REGION \
        --project PROJECT_ID
    
  3. Crie uma rota estática para cada intervalo de IP remoto especificado na --remote-traffic-selector na etapa anterior. Repita esse comando para cada intervalo de IP remoto, substituindo ROUTE_NAME por um nome exclusivo para a rota e [REMOTE_IP_RANGE] pelo intervalo de IP remoto apropriado.

    gcloud compute routes create ROUTE_NAME \
        --destination-range REMOTE_IP_RANGE \
        --next-hop-vpn-tunnel TUNNEL_NAME \
        --network NETWORK \
        --next-hop-vpn-tunnel-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 na rede de peering, conforme necessário. Consulte a página Regras de firewall para sugestões.
  3. Verifique o status do túnel, incluindo as regras de encaminhamento.
  4. Para visualizar suas rotas da VPN, consulte a tabela de roteamento do projeto
    e filtre por "Próximo tipo de salto: túnel da VPN".
Como aplicar uma política da organização de VPN

Como aplicar uma restrição de política da organização que restringe os endereços IP dos gateways de VPN de peering

É possível criar uma restrição de política da organização do Google Cloud que defina um conjunto de endereços IP permitidos ou negados para fazer o peering de gateways de VPN por meio da VPN clássica ou de túneis de VPN de alta disponibilidade. Essa restrição contém uma lista de permissões ou uma lista de negações desses endereços IP em peering, que entra em vigor para os túneis do Cloud VPN criados após a aplicação da restrição. Para mais detalhes, consulte a visão geral do Cloud VPN.

Permissões exigidas

Para definir uma restrição de IP de peering no nível da organização ou do projeto, primeiro você precisa receber o papel de Administrador de políticas da organização (orgpolicy.policyAdmin) para sua organização.

Como definir restrições

Para criar uma política da organização e associá-la a uma organização, pasta ou projeto, use os exemplos listados nas próximas seções e siga as etapas em Como usar restrições.

Como restringir a conectividade de endereços IP de peering específicos por meio de um túnel do Cloud VPN

Para permitir apenas endereços IP de peering específicos, execute as seguintes etapas:

  1. Encontre o ID da organização digitando o seguinte comando:
    gcloud organizations list

    A resposta ao comando terá a seguinte aparência:

          DISPLAY NAME             ID
          example-organization     29252605212
        
  2. Crie um arquivo JSON que defina sua política. Forneça uma política como um arquivo JSON, como no exemplo a seguir:

         {
           "constraint": "constraints/compute.restrictVpnPeersIPs",
           "listPolicy": {
             "allowedValues": [
               "100.1.1.1",
             ],
           }
         }
       
  3. Use o comando set-policy do gcloud Resource Manager para definir a política da organização, passando o arquivo JSON e usando o ORGANIZATION_ID que você encontrou na etapa anterior.

Como restringir a conectividade de qualquer IP de peering por meio de um túnel do Cloud VPN

Para proibir a criação de qualquer novo túnel do Cloud VPN, siga as etapas neste exemplo de restrição.

  1. Encontre o ID da organização ou o ID do nó na hierarquia de recursos em que você quer definir uma política.
  2. Crie um arquivo JSON como o exemplo a seguir.

        {
          "constraint": "constraints/compute.restrictVpnPeersIPs",
          "listPolicy": {
            "allValues": "DENY"
          }
        }
    
  3. Transmita o arquivo JSON inserindo o mesmo comando que você usaria para restringir endereços IP de peering específicos.