Como criar uma VPN

Esta página contém orientações para criar um gateway e túnel VPN do Google Cloud usando rotas estáticas. Consulte a documentação do Cloud Router para criar VPNs baseadas em rotas dinâmicas. Na visão geral da VPN, os conceitos da VPN do Cloud são descritos.

Para ter acesso aos detalhes da configuração da VPN entre o GCP e outros fornecedores ou provedores, consulte os Guias de interoperabilidade.

Antes de começar

Exemplo de topologia

O exemplo a seguir usa um túnel VPN para conectar uma rede do Google Cloud e 29 sub-redes (uma por rack) na rede local (par). Neste cenário, outra sub-rede (10.0.30.0/24) está sendo adicionada.

Com o roteamento estático, atualizar o túnel requer a adição de rotas estáticas ao Google Cloud Platform e a reinicialização do túnel VPN para incluir a nova sub-rede.

Diagrama de uma rede legada (clique para ampliar)
VPN com rotas estáticas (clique para ampliar)

Como escolher sua configuração de rede VPC

O procedimento inicial pode ser diferente, dependendo da rede VPC e de quantas regiões serão conectadas. Escolha uma destas opções para começar:

Configuração simples

O modo mais simples de configurar uma VPN é configurar o túnel VPN para que aceite todo o tráfego direcionado por ele e contar com rotas de rede VPC para direcionar somente o tráfego correto pelo túnel. Isso se chama VPN baseada em rota. Trata-se do modo mais fácil de configurar o IKE e a configuração mais flexível se os tamanhos de sub-rede estiverem sujeitos a alterações.

Neste procedimento, o parâmetro --remote-traffic-selector é usado no comando create do túnel VPN para aceitar o tráfego de qualquer endereço IP (0.0.0.0/0), o que simplifica a configuração de IKE.

Console


Ainda não disponível. Consulte as instruções da ferramenta de linha de comando gcloud.

gcloud


  1. Crie um gateway de VPN na região desejada. Normalmente, é a região que contém as instâncias que você quer alcançar. Nesta etapa, é criado um gateway de VPN não configurado chamado vpn1 na rede VPC.

    gcloud compute target-vpn-gateways create vpn1 \
      --network [NETWORK] \
      --region us-central1
    

    NAME NETWORK   REGION
    vpn1 [NETWORK] us-central1

  2. Reserve um endereço IP estático na rede VPC e região em que você criou o gateway de VPN. Anote o endereço criado para usar nas etapas futuras.

    gcloud compute --project [PROJECT_ID] addresses create \
        --region us-central1 vpn-static-ip
    
  3. Crie uma regra de encaminhamento que encaminhe o tráfego ESP para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é gerada uma regra de encaminhamento chamada fr-esp.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-esp \
        --region us-central1 \
        --ip-protocol ESP \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    
  4. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp500 \
       --region us-central1 \
       --ip-protocol UDP \
       --ports 500 \
       --address [VPN_STATIC_IP_ADDRESS] \
       --target-vpn-gateway vpn1
    
  5. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:4500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] reservado anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp4500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp4500 \
        --region us-central1 \
        --ip-protocol UDP \
        --ports 4500 \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    
  6. Crie um túnel VPN no gateway de VPN do Cloud que aponte para o endereço IP externo [CUST_GW_EXT_IP] do gateway de VPN do terminal. Forneça também a chave secreta compartilhada. A versão IKE padrão e preferencial é 2. Se for necessário defini-la como 1, use --ike_version 1. O exemplo a seguir define a versão IKE como 2. Se --remote-traffic-selector e --local-traffic-selector estão definidos como 0.0.0.0/0, o túnel é configurado para passar qualquer tráfego encaminhado para ele. Se usar esta configuração, configure o terminal do túnel da mesma maneira. Após a execução desse comando, os recursos serão alocados para esse túnel VPN, mas ele não terá tráfego até as rotas serem configuradas para encaminhar o tráfego, os firewalls serem abertos e o roteador do terminal ser configurado.

    gcloud compute --project [PROJECT_ID] vpn-tunnels create tunnel1 \
        --peer-address [CUST_GW_EXT_IP] \
        --region us-central1 \
        --ike-version 2 \
        --shared-secret [SHARED_SECRET] \
        --target-vpn-gateway vpn1 \
        --local-traffic-selector 0.0.0.0/0 \
        --remote-traffic-selector 0.0.0.0/0
    
  7. Use uma rota estática para encaminhar o tráfego para o intervalo de destino de endereços IP ([CIDR_DEST_RANGE]) na rede local. Você pode repetir esse comando para adicionar vários intervalos ao túnel VPN. A região precisa ser a mesma do túnel.

    gcloud compute --project [PROJECT_ID] routes create route1 \
        --network [NETWORK] \
        --next-hop-vpn-tunnel tunnel1 \
        --next-hop-vpn-tunnel-region us-central1 \
        --destination-range [CIDR_DEST_RANGE]
    
  8. Configure as regras do firewall.

Como criar um gateway e um túnel para uma rede VPC de modo automático usando somente a sub-rede de gateway

Por padrão, o túnel VPN em uma rede VPC de modo automático encaminha o tráfego somente da sub-rede que contém o gateway. Use este procedimento se essa for a configuração desejada.

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acessar a página "VPN"
  2. Clique em Criar conexão VPN.
  3. Preencha os seguintes campos para o gateway:
    • Nome: o nome do gateway de VPN. Esse nome é exibido no console e usado pela ferramenta gcloud para se referir ao gateway.
    • Rede VPC: a rede VPC que contém as instâncias que o gateway da VPN atenderá.
    • Região: a região na qual ficará localizado o gateway de VPN. Normalmente, é a região que contém as instâncias que você quer alcançar. Exemplo: us-central1
    • Endereço IP: selecione um endereço IP externo estático preexistente. Caso você não tenha um endereço IP externo estático, crie um clicando em Novo endereço IP estático no menu suspenso.
  4. Preencha os campos de pelo menos um túnel:
    • Endereço IP do terminal: o endereço IP público do gateway do terminal. Esse é o endereço IP público do outro gateway de VPN, não aquele que você está configurando no momento.
    • Versão IKE: IKEv2 ou IKEv1. Use o IKEv2 se for aceito pelo par do gateway.
    • Chave secreta compartilhada: usada para estabelecer a criptografia desse túnel. Insira a mesma chave secreta compartilhada nos dois gateways de VPN. Se o dispositivo do gateway de VPN do outro lado do túnel não gerar uma chave automaticamente, crie uma.
    • Intervalo de IP de rede remota: os intervalos da rede do terminal, que é a rede do outro lado do túnel do gateway de VPN do Cloud que você está configurando no momento.
    • Sub-redes locais: especifica os intervalos de IP que serão direcionados pelo túnel. Esse valor não poderá ser alterado depois que o túnel for criado, porque será usado no handshake de IKE.
      • Selecione toda a sub-rede do gateway no menu suspenso. Ou deixe em branco, já que a sub-rede local é o padrão.
      • Deixe o campo Intervalos de IP local em branco, exceto para a sub-rede do gateway.
  5. Clique em Adicionar túnel apenas se quiser adicionar mais túneis.
  6. Clique em Criar para criar o gateway e iniciar todos os túneis, embora os túneis não se conectem até as etapas adicionais abaixo serem concluídas.
    Nesta etapa, serão criadas automaticamente uma rota da rede e as regras de encaminhamento necessárias para o túnel.
  7. Configure as regras do firewall.

gcloud


Em todas as etapas, substitua [PROJECT_ID] pelo código do projeto gerado pelo sistema.

  1. Escolha ou crie uma rede VPC de modo automático. Consulte a tabela de intervalos IP da rede VPC de modo automático para confirmar que a sub-rede para a região não entra em conflito com a rede de mesmo nível. Se assim for, você pode criar uma rede VPC personalizada.

    gcloud compute --project [PROJECT_ID] networks create [NETWORK] \
        --mode auto
    
  2. Crie um gateway de VPN na região desejada. Normalmente, é a região que contém as instâncias que você quer alcançar. Nesta etapa, é criado um gateway de VPN não configurado chamado vpn1 na rede VPC.

    gcloud compute target-vpn-gateways create vpn1 \
      --network [NETWORK] \
      --region us-central1
    

    NAME NETWORK   REGION
    vpn1 [NETWORK] us-central1

  3. Reserve um endereço IP estático na rede VPC e região em que você criou o gateway de VPN. Anote o endereço criado para usar nas etapas futuras.

    gcloud compute --project [PROJECT_ID] addresses create \
        --region us-central1 vpn-static-ip
    

    NAME          REGION      ADDRESS         STATUS
    vpn-static-ip us-central1 [VPN_STATIC_IP_ADDRESS]      RESERVED

    vpn-static-ip ~> [VPN_STATIC_IP_ADDRESS]

  4. Crie uma regra de encaminhamento que encaminhe o tráfego ESP para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é gerada uma regra de encaminhamento chamada fr-esp.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-esp \
        --region us-central1 \
        --ip-protocol ESP \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME   REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-esp us-central1 [VPN_STATIC_IP_ADDRESS]      ESP         us-central1/targetVpnGateways/vpn1

  5. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp500 \
       --region us-central1 \
       --ip-protocol UDP \
       --ports 500 \
       --address [VPN_STATIC_IP_ADDRESS] \
       --target-vpn-gateway vpn1
    

    NAME      REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  6. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:4500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] reservado anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp4500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp4500 \
        --region us-central1 \
        --ip-protocol UDP \
        --ports 4500 \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME       REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp4500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  7. Crie um túnel VPN no gateway de VPN do Cloud que aponte para o endereço IP externo [CUST_GW_EXT_IP] do gateway de VPN do terminal. Forneça também a chave secreta compartilhada. A versão IKE padrão e preferencial é 2. Se for necessário defini-la como 1, use --ike_version 1. O exemplo a seguir define a versão IKE como 2. Após a execução desse comando, os recursos serão alocados para esse túnel VPN, mas o tráfego ainda não passará por ele.

    gcloud compute --project [PROJECT_ID] vpn-tunnels create tunnel1 \
        --peer-address [CUST_GW_EXT_IP] \
        --region us-central1 \
        --ike-version 2 \
        --shared-secret [SHARED_SECRET] \
        --target-vpn-gateway vpn1
    

    NAME    REGION      GATEWAY PEER_ADDRESS
    tunnel1 us-central1 vpn1    [CUST_GW_EXT_IP]

  8. Use uma rota estática para encaminhar o tráfego para o intervalo de destino de endereços IP ([CIDR_DEST_RANGE]) na rede local. Você pode repetir esse comando para adicionar vários intervalos ao túnel VPN. A região precisa ser a mesma do túnel.

    gcloud compute --project [PROJECT_ID] routes create route1 \
        --network [NETWORK] \
        --next-hop-vpn-tunnel tunnel1 \
        --next-hop-vpn-tunnel-region us-central1 \
        --destination-range [CIDR_DEST_RANGE]
    

    NAME   NETWORK   DEST_RANGE       NEXT_HOP PRIORITY
    route1 [NETWORK] [CIDR_DEST_RANGE]         1000

  9. Configure as regras do firewall.

Como criar um gateway e um túnel para uma rede VPC de modo automático e mais de uma sub-rede

Por padrão, o túnel VPN em uma rede VPC de modo automático encaminha o tráfego somente da sub-rede que contém o gateway. Para encaminhar tráfego de outras sub-redes, use este procedimento.

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acessar a página "VPN"
  2. Clique em Criar conexão VPN.
  3. Preencha os seguintes campos para o gateway:
    • Nome: o nome do gateway de VPN. Esse nome é exibido no console e usado pela ferramenta de linha de comando gcloud para fazer referência ao gateway.
    • Rede VPC: a rede VPC que contém as instâncias que o gateway da VPN atenderá.
    • Região: a região na qual ficará localizado o gateway de VPN. Normalmente, é a região que contém as instâncias que você quer alcançar. Exemplo: us-central1
    • Endereço IP: selecione um endereço IP externo estático preexistente. Caso você não tenha um endereço IP externo estático, crie um clicando em Novo endereço IP estático no menu suspenso.
  4. Preencha os campos de pelo menos um túnel:
    • Endereço IP do terminal: o endereço IP público do gateway do terminal. Esse é o endereço IP público do outro gateway de VPN, não aquele que você está configurando no momento.
    • Versão IKE: IKEv2 ou IKEv1. Use o IKEv2 se for aceito pelo par do gateway.
    • Chave secreta compartilhada: usada para estabelecer a criptografia desse túnel. Insira a mesma chave secreta compartilhada nos dois gateways de VPN. Se o dispositivo do gateway de VPN do outro lado do túnel não gerar uma chave automaticamente, crie uma.
    • Intervalo de IP de rede remota: os intervalos da rede do terminal, que é a rede do outro lado do túnel do gateway de VPN do Cloud que você está configurando no momento.
    • Sub-redes locais: especifica os intervalos de IP que serão direcionados pelo túnel. Esse valor não poderá ser alterado depois que o túnel for criado, porque será usado no handshake de IKE.
      • Se você quer que toda a sub-rede do gateway use o túnel, selecione-a na lista suspensa. Mas se desejar que somente um prefixo menor use o túnel ou que apenas outros intervalos o usem, ignore o menu suspenso.
      • Para que outros intervalos possam usar o túnel, especifique-os no campo Intervalos de IP local.
  5. Clique em Adicionar túnel apenas se quiser adicionar mais túneis.
  6. Clique em Criar para criar o gateway e iniciar todos os túneis, embora os túneis não se conectem até as etapas adicionais abaixo serem concluídas.
    Nesta etapa, serão criadas automaticamente uma rota da rede e as regras de encaminhamento necessárias para o túnel.
  7. Configure as regras do firewall.

gcloud


Em todas as etapas, substitua [PROJECT_ID] pelo código do projeto gerado pelo sistema.

  1. Escolha ou crie uma rede VPC de modo automático. Consulte a tabela de intervalos IP da rede VPC de modo automático para confirmar que a sub-rede para a região não entra em conflito com a rede de mesmo nível. Se o fizer, você pode criar uma rede VPC personalizada ou alterar o intervalo de IP da rede de mesmo nível.

    gcloud compute --project [PROJECT_ID] networks create \
        --mode auto [NETWORK]
    
  2. Crie um gateway de VPN na região desejada. Normalmente, é a região que contém as instâncias que você quer alcançar. Nesta etapa, é criado um gateway de VPN não configurado chamado vpn1 na rede VPC.

    gcloud compute target-vpn-gateways create vpn1 \
      --network [NETWORK] \
      --region us-central1
    

    NAME NETWORK   REGION
    vpn1 [NETWORK] us-central1

  3. Reserve um endereço IP estático na rede VPC e região em que você criou o gateway de VPN. Anote o endereço IP criado para usar em etapas futuras.

    gcloud compute --project [PROJECT_ID] addresses create \
        --region us-central1 vpn-static-ip
    

    NAME          REGION      ADDRESS         STATUS
    vpn-static-ip us-central1 [VPN_STATIC_IP_ADDRESS]      RESERVED

    vpn-static-ip ~> [VPN_STATIC_IP_ADDRESS]

  4. Crie uma regra de encaminhamento que encaminhe o tráfego ESP para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é gerada uma regra de encaminhamento chamada fr-esp.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-esp \
        --region us-central1 \
        --ip-protocol ESP \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME   REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-esp us-central1 [VPN_STATIC_IP_ADDRESS]      ESP         us-central1/targetVpnGateways/vpn1

  5. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp500 \
       --region us-central1 \
       --ip-protocol UDP \
       --ports 500 \
       --address [VPN_STATIC_IP_ADDRESS] \
       --target-vpn-gateway vpn1
    

    NAME      REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  6. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:4500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] reservado anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp4500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp4500 \
        --region us-central1 \
        --ip-protocol UDP \
        --ports 4500 \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME       REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp4500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  7. Use o campo --local-traffic-selector e uma lista de prefixos de IP separados por vírgula para especificar todas as sub-redes do GCP que serão incluídas no túnel, desde que queira encaminhar mais de uma sub-rede para o túnel. Para incluir o local da sub-rede ao túnel, liste-o explicitamente.

    gcloud compute --project [PROJECT_ID] vpn-tunnels create tunnel1 \
        --peer-address [CUST_GW_EXT_IP] \
        --region us-central1 \
        --ike-version 2 \
        --shared-secret [SHARED_SECRET] \
        --local-traffic-selector 10.128.0.0/16,10.130.0.0/16 \
        --remote-traffic-selector [CIDR_REMOTE_RANGE] \
        --target-vpn-gateway vpn1
    
  8. Crie rotas para encaminhar o tráfego para o túnel. Primeiro, adicione uma tag comum a todas as instâncias em ambas as sub-redes. Faça isso durante ou após a criação da instância. Também é possível adicionar tags por meio de modelos de instância.

    gcloud compute instances add-tags example-instance-subnet-a \
        --tags tag-subnet-a
    
    gcloud compute instances add-tags example-instance-subnet-b \
        --tags tag-subnet-b
    
  9. Use as tags recém-criadas para adicionar uma rota estática a todas as instâncias das sub-redes. Essa rota tem o prefixo do terminal de destino [CIDR_DEST_RANGE] e o próximo salto de tunnel1.

    gcloud compute --project [PROJECT_ID] routes create route1 \
        --network [NETWORK] \
        --next-hop-vpn-tunnel tunnel1 \
        --next-hop-vpn-tunnel-region us-central1 \
        --destination-range [CIDR_DEST_RANGE] \
        --tags tag-subnet-a,tag-subnet-b
    
  10. Configure as regras do firewall.

Como criar um gateway e um túnel para uma rede VPC personalizada

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acessar a página "VPN"
  2. Clique em Criar conexão VPN.
  3. Preencha os seguintes campos para o gateway:
    • Nome: o nome do gateway de VPN. Esse nome é exibido no console e usado pela ferramenta de linha de comando gcloud para fazer referência ao gateway.
    • Rede VPC: a rede VPC que contém as instâncias que o gateway da VPN atenderá.
    • Região: a região na qual ficará localizado o gateway de VPN. Normalmente, é a região que contém as instâncias que você quer alcançar. Exemplo: us-central1
    • Endereço IP: selecione um endereço IP externo estático preexistente. Caso você não tenha um endereço IP externo estático, crie um clicando em Novo endereço IP estático no menu suspenso.
  4. Preencha os campos de pelo menos um túnel:
    • Endereço IP do terminal: o endereço IP público do gateway do terminal. Esse é o endereço IP público do outro gateway de VPN, não aquele que você está configurando no momento.
    • Versão IKE: IKEv2 ou IKEv1. Use o IKEv2 se for aceito pelo par do gateway.
    • Chave secreta compartilhada: usada para estabelecer a criptografia desse túnel. Insira a mesma chave secreta compartilhada nos dois gateways de VPN. Se o dispositivo do gateway de VPN do outro lado do túnel não gerar uma chave automaticamente, crie uma.
    • Intervalo de IP de rede remota: os intervalos da rede do terminal, que é a rede do outro lado do túnel do gateway de VPN do Cloud que você está configurando no momento.
    • Sub-redes locais: especifica os intervalos de IP que serão direcionados pelo túnel. Esse valor não poderá ser alterado depois que o túnel for criado, porque será usado no handshake de IKE.
      • Se você quer que toda a sub-rede do gateway use o túnel, selecione-a na lista suspensa. Mas se desejar que somente um prefixo menor use o túnel ou que apenas outros intervalos o usem, ignore o menu suspenso.
      • Para que outros intervalos possam usar o túnel, especifique-os no campo Intervalos de IP local.
  5. Clique em Adicionar túnel apenas se quiser adicionar mais túneis.
  6. Clique em Criar para criar o gateway e iniciar todos os túneis, embora os túneis não se conectem até as etapas adicionais abaixo serem concluídas.
    Nesta etapa, serão criadas automaticamente uma rota da rede e as regras de encaminhamento necessárias para o túnel.
  7. Configure as regras do firewall.

gcloud


Em todas as etapas, substitua [PROJECT_ID] pelo código do projeto gerado pelo sistema.

  1. Crie uma rede VPC personalizada e sub-redes.

  2. Crie um gateway de VPN na região desejada. Normalmente, é a região que contém as instâncias que você quer alcançar. Nesta etapa, é criado um gateway de VPN não configurado chamado vpn1 na rede VPC.

    gcloud compute target-vpn-gateways create vpn1 \
      --network [NETWORK] \
      --region us-central1
    

    NAME NETWORK   REGION
    vpn1 [NETWORK] us-central1

  3. Reserve um endereço IP estático na rede VPC e região em que você criou o gateway de VPN. Anote o endereço criado para usar em etapas futuras.

    gcloud compute --project [PROJECT_ID] addresses create \
        --region us-central1 vpn-static-ip
    

    NAME          REGION      ADDRESS         STATUS
    vpn-static-ip us-central1 [VPN_STATIC_IP_ADDRESS]      RESERVED

    vpn-static-ip ~> [VPN_STATIC_IP_ADDRESS]

  4. Crie uma regra de encaminhamento que encaminhe o tráfego ESP para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é gerada uma regra de encaminhamento chamada fr-esp.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-esp \
        --region us-central1 \
        --ip-protocol ESP \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME   REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-esp us-central1 [VPN_STATIC_IP_ADDRESS]      ESP         us-central1/targetVpnGateways/vpn1

  5. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp500 \
       --region us-central1 \
       --ip-protocol UDP \
       --ports 500 \
       --address [VPN_STATIC_IP_ADDRESS] \
       --target-vpn-gateway vpn1
    

    NAME      REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  6. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:4500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] reservado anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp4500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp4500 \
        --region us-central1 \
        --ip-protocol UDP \
        --ports 4500 \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME       REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp4500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  7. Use o campo --local-traffic-selector e uma lista de prefixos de IP separados por vírgula para especificar todas as sub-redes do GCP que serão incluídas no túnel.

    gcloud compute --project [PROJECT_ID] vpn-tunnels create tunnel1 \
        --peer-address [CUST_GW_EXT_IP] \
        --region us-central1 \
        --ike-version 2 \
        --shared-secret [SHARED_SECRET] \
        --local-traffic-selector 10.128.0.0/16,10.130.0.0/16 \
        --remote-traffic-selector [CIDR_REMOTE_RANGE] \
        --target-vpn-gateway vpn1
    
  8. Crie rotas para encaminhar o tráfego para o túnel. Primeiro, adicione uma tag comum a todas as instâncias em ambas as sub-redes. Adicione a tag durante ou após a criação de uma instância. Também é possível adicionar as tags aos modelos de instância.

    gcloud compute instances add-tags example-instance-subnet-a \
        --tags tag-subnet-a
    
    gcloud compute instances add-tags example-instance-subnet-b \
        --tags tag-subnet-b
    
  9. Use as tags recém-criadas para adicionar uma rota estática a todas as instâncias nas sub-redes. Essa rota tem o prefixo do terminal de destino [CIDR_DEST_RANGE] e o próximo salto de tunnel1.

    gcloud compute --project [PROJECT_ID] routes create route1 \
        --network [NETWORK] \
        --next-hop-vpn-tunnel tunnel1 \
        --next-hop-vpn-tunnel-region us-central1 \
        --destination-range [CIDR_DEST_RANGE] \
        --tags tag-subnet-a,tag-subnet-b
    
  10. Configure as regras do firewall.

Criação de um gateway e túnel para uma rede legada

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acessar a página "VPN"
  2. Clique em Criar conexão VPN.
  3. Preencha os seguintes campos para o gateway:
    • Nome: o nome do gateway de VPN. Esse nome é exibido no console e usado pela ferramenta de linha de comando gcloud para fazer referência ao gateway.
    • Rede VPC: a rede que contém as instâncias que o gateway de VPN atenderá.
    • Região: a região na qual ficará localizado o gateway de VPN. Normalmente, é a região que contém as instâncias que você quer alcançar. Exemplo: us-central1
    • Endereço IP: selecione um endereço IP externo estático preexistente. Caso você não tenha um endereço IP externo estático, crie um clicando em Novo endereço IP estático no menu suspenso.
  4. Preencha os campos de pelo menos um túnel:
    • Endereço IP do terminal: o endereço IP público do gateway do terminal. Esse é o endereço IP público do outro gateway de VPN, não aquele que você está configurando no momento.
    • Versão IKE: IKEv2 ou IKEv1. Use o IKEv2 se for aceito pelo par do gateway.
    • Chave secreta compartilhada: usada para estabelecer a criptografia desse túnel. Insira a mesma chave secreta compartilhada nos dois gateways de VPN. Se o dispositivo do gateway de VPN no outro lado do túnel não gerar uma chave automaticamente, crie uma.
    • Intervalo de IP de rede remota: os intervalos da rede do terminal, que é a rede do outro lado do túnel do gateway de VPN do Cloud que você está configurando no momento.
    • Intervalos de IP local: especifica os intervalos de IP que serão encaminhados pelo túnel. Esse valor não poderá ser alterado depois que o túnel for criado, porque será usado no handshake de IKE. Para as redes legadas, deixe este campo em branco para que toda a rede possa usar o túnel VPN. É possível especificar sub-redes dentro da rede, mas como as alocações de IP em uma rede legada não são previsíveis, uma configuração assim é difícil de gerenciar.
  5. Clique em Adicionar túnel apenas se quiser adicionar mais túneis.
  6. Clique em Criar para criar o gateway e iniciar todos os túneis, embora os túneis não se conectem até as etapas adicionais abaixo serem concluídas.
    Nesta etapa, serão criadas automaticamente uma rota da rede e as regras de encaminhamento necessárias para o túnel.
  7. Configure as regras do firewall.

gcloud


Em todas as etapas, substitua [PROJECT_ID] pelo código do projeto gerado pelo sistema e [NETWORK] pelo nome da rede legada.

  1. Crie um gateway de VPN na região desejada. Normalmente, é a região que contém as instâncias que você quer alcançar. Nesta etapa, é criado um gateway de VPN não configurado chamado vpn1 em sua rede.

    gcloud compute target-vpn-gateways create vpn1 \
      --network [NETWORK] \
      --region us-central1
    

    NAME NETWORK   REGION
    vpn1 [NETWORK] us-central1

  2. Reserve um endereço IP estático na rede e região em que você criou o gateway de VPN. Anote o endereço criado para usar nas etapas futuras.

    gcloud compute --project [PROJECT_ID] addresses create \
        --region us-central1 vpn-static-ip
    

    NAME          REGION      ADDRESS         STATUS
    vpn-static-ip us-central1 [VPN_STATIC_IP_ADDRESS]      RESERVED

    vpn-static-ip ~> [VPN_STATIC_IP_ADDRESS]

  3. Crie uma regra de encaminhamento que encaminhe o tráfego ESP para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é gerada uma regra de encaminhamento chamada fr-esp.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-esp \
        --region us-central1 \
        --ip-protocol ESP \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME   REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-esp us-central1 [VPN_STATIC_IP_ADDRESS]      ESP         us-central1/targetVpnGateways/vpn1

  4. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] que você reservou anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp500 \
       --region us-central1 \
       --ip-protocol UDP \
       --ports 500 \
       --address [VPN_STATIC_IP_ADDRESS] \
       --target-vpn-gateway vpn1
    

    NAME      REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  5. Crie uma regra de encaminhamento que encaminhe o tráfego UDP:4500 para o gateway de VPN do Cloud. Use o endereço IP estático [VPN_STATIC_IP_ADDRESS] reservado anteriormente. Nesta etapa, é criada uma regra de encaminhamento chamada fr-udp4500.

    gcloud compute --project [PROJECT_ID] forwarding-rules create fr-udp4500 \
        --region us-central1 \
        --ip-protocol UDP \
        --ports 4500 \
        --address [VPN_STATIC_IP_ADDRESS] \
        --target-vpn-gateway vpn1
    

    NAME       REGION      IP_ADDRESS      IP_PROTOCOL TARGET
    fr-udp4500 us-central1 [VPN_STATIC_IP_ADDRESS]      UDP         us-central1/targetVpnGateways/vpn1

  6. Crie um túnel VPN no gateway de VPN do Cloud que aponte para o endereço IP externo [CUST_GW_EXT_IP] do gateway de VPN do terminal. Forneça também a chave secreta compartilhada. A versão IKE padrão e preferencial é 2. Se for necessário defini-la como 1, use --ike_version 1. O exemplo a seguir define a versão IKE como 2. Após a execução desse comando, os recursos serão alocados para esse túnel VPN, mas o tráfego ainda não passará por ele.

    gcloud compute --project [PROJECT_ID] vpn-tunnels create tunnel1 \
        --peer-address [CUST_GW_EXT_IP] \
        --region us-central1 \
        --ike-version 2 \
        --shared-secret [SHARED_SECRET] \
        --target-vpn-gateway vpn1
    

    NAME    REGION      GATEWAY PEER_ADDRESS
    tunnel1 us-central1 vpn1    [CUST_GW_EXT_IP]

  7. Use uma rota estática para encaminhar o tráfego para o intervalo de destino de endereços IP ([CIDR_DEST_RANGE]) na rede local. Você pode repetir esse comando para adicionar vários intervalos ao túnel VPN. Crie a rota na mesma região do túnel.

    gcloud compute --project [PROJECT_ID] routes create route1 \
        --network [NETWORK] \
        --next-hop-vpn-tunnel tunnel1 \
        --next-hop-vpn-tunnel-region us-central1 \
        --destination-range [CIDR_DEST_RANGE]
    

    NAME   NETWORK   DEST_RANGE       NEXT_HOP PRIORITY
    route1 [NETWORK] [CIDR_DEST_RANGE]         1000

  8. Configure as regras do firewall.

Como configurar regras do firewall

Configure o firewall na rede para permitir tráfego da rede do terminal para suas instâncias. Essa regra permite todo o tráfego TCP, UDP e ICMP da rede do terminal.

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acessar a página "VPN"
  2. Veja os túneis VPN desse projeto.
  3. Clique em Configurar na coluna Regras de firewall do novo túnel.
    Será exibida uma página de configuração da rede que contém o túnel.
  4. Clique em Nova regra de firewall. Adicione uma regra para TCP, UDP e ICMP:
    • nome: allow-tcp-udp-icmp
    • filtro de origem: intervalos de IP
    • intervalos de IP de origem: valor do Intervalo de IP de rede remota de quando você criou o túnel. Caso tenha mais de um intervalo de rede do terminal, insira cada um deles. Pressione a tecla Tab entre as entradas
    • portas ou protocolos permitidos: tcp; udp; icmp
    • tags de destino: qualquer tag ou tags válidas
  5. Clique em Criar.
  6. Crie outras regras de firewall se for necessário.

gcloud


gcloud  compute --project [PROJECT_ID] firewall-rules create vpnrule1 \
    --network [NETWORK] \
    --allow tcp,udp,icmp \
    --source-ranges [PEER_SOURCE_RANGE]

Caso você tenha mais de um intervalo de rede do terminal, forneça uma lista separada por vírgulas no campo de intervalos de origem (--source-ranges 10.10.4.0/24,10.10.6.0/24).

Consulte a documentação de regras de firewall gcloud para mais informações sobre o comando firewall-rules.

Como configurar o gateway de VPN do terminal

Configure o gateway e o túnel VPN do terminal com os parâmetros a seguir. Para informações sobre como conectar o Cloud VPN a algumas soluções VPN de terceiros, consulte os Guias de interoperabilidade de VPN.

Para IKEv1 e IKEv2:

Configuração Valor
Modo IPsec Modo Túnel ESP+Autenticação (Site-to-Site)
Protocolo de autenticação psk
Chave secreta compartilhada Também conhecida como chave IKE pré-compartilhada. Escolha uma senha forte. A chave secreta compartilhada é altamente confidencial. É dela que depende o acesso à rede.
Iniciar "auto" (o dispositivo do terminal reiniciará automaticamente a conexão em caso de interrupção)
PFS (Perfect Forward Secrecy) ativado
DPD (Dead Peer Detection) Recomendado: "Agressivo". O DPD detecta quando a VPN do Cloud é reiniciada e encaminha o tráfego usando túneis alternativos.
CONTATO INICIAL (às vezes, chamado de códigos exclusivos) Recomendado: "ativado" (às vezes, chamado de "reinício"). O objetivo é detectar reinícios com mais rapidez para reduzir a inatividade percebida.
TSi (Traffic Selector - Initiator) Redes de sub-rede: os intervalos especificados pela sinalização --local-traffic-selector. Se --local-traffic-selector não tiver sido especificado porque a VPN é uma rede VPC de modo automático e anuncia somente a sub-rede do gateway, esse intervalo de sub-rede será usado.
Redes legadas: o intervalo da rede.
TSr (Traffic Selector - Responder) IKEv2: os intervalos de destino de todas as rotas com --next-hop-vpn-tunnel definido para esse túnel.
IKEv1: arbitrariamente, o intervalo de destino de uma das rotas que tem --next-hop-vpn-tunnel definido para esse túnel.
MTU A MTU do dispositivo VPN do terminal precisa ser definida como 1460 ou menos. Os pacotes ESP que saem do dispositivo não podem exceder 1460 bytes. Ative a pré-fragmentação do dispositivo para que os pacotes sejam fragmentados primeiro e depois encapsulados.

Parâmetros adicionais somente para IKEv1:

Configuração Valor
IKE/ISAKMP aes128-sha1-modp1024
ESP aes128-sha1
Algoritmo PFS Grupo 2 (MODP_1024)
NAT-T desativado (NAT-T não é compatível com a VPN do Cloud)

Verificação de status do túnel

Verifique se o túnel está ativo.

Console


  1. Acesse a página "VPN" no Console do Google Cloud Platform.
    Acessar a página "VPN"
  2. Procure uma marca de seleção ao lado do campo Endereço IP do terminal. Se encontrar uma, houve uma negociação de túnel entre os gateways. Se não aparecer nenhuma marca em alguns minutos, consulte a Solução de problemas.

Para monitoramento e alertas avançados relacionados aos túneis VPN, use o Stackdriver Monitoring.

gcloud


Confirme se o túnel está ativo.

    gcloud compute --project [PROJECT_ID] vpn-tunnels describe tunnel1 \
           --region us-central1

creationTimestamp: '2014-11-26T04:38:28.260-08:00'
description: ''
detailedStatus: 'Tunnel is up and running..  More info: '
id: 'ID'
ikeVersion: 2
kind: compute#vpnTunnel
name: tunnel1
peerIp: [CUST_GW_EXT_IP]
region: us-central1
selfLink: [TUNNEL_RESOURCE_URL]
sharedSecret: [SHARED_SECRET]
sharedSecretHash: AFWI5mBld5swmCciGVEU1IO6lfJs
status: ESTABLISHED
targetVpnGateway: [RESOURCE_IP_ADDRESS]

O campo Status mostra um dos seguintes resultados:

Valor do campo Status Notas
WAITING_FOR_FULL_CONFIG A configuração do usuário está incompleta. Não foi encontrada uma regra de encaminhamento, rota ou algum outro recurso.
ESTABLISHED A VPN está ativa e funcionando.
FIRST_HANDSHAKE O gateway está tentando conectar-se ao terminal.
NO_INCOMING_PACKETS O gateway não recebe pacotes do terminal. Provavelmente o IP está incorreto ou talvez o outro gateway esteja indisponível ou configurado incorretamente.
NEGOTIATION_FAILURE Os dois gateways não estabeleceram um túnel, mas o motivo não é claro. Verifique os registros.

Liste suas regras de encaminhamento para confirmar se elas estão corretas.

    gcloud compute --project [PROJECT_ID] forwarding-rules list --region us-central1

NAME       REGION      IP_ADDRESS      IP_PROTOCOL TARGET
forward1   us-central1 173.255.115.137 TCP         us-central1/targetPools/pool1
fr-esp     us-central1 130.211.116.215 ESP         us-central1/targetVpnGateways/vpn1
fr-udp4500 us-central1 130.211.116.215 UDP         us-central1/targetVpnGateways/vpn1
fr-udp500  us-central1 130.211.116.215 UDP         us-central1/targetVpnGateways/vpn1

Liste suas rotas para confirmar se elas estão corretas.

    gcloud compute --project [PROJECT_ID] routes list

NAME                           NETWORK   DEST_RANGE       NEXT_HOP                 PRIORITY
default-route-044ea64475ed089f default   0.0.0.0/0        default-internet-gateway 1000
default-route-32610888d82a7e33 default   10.240.0.0/16                             1000
default-route-5f2161531059c062 [NETWORK] 0.0.0.0/0        default-internet-gateway 1000
default-route-672665719a1ec4c5 [NETWORK] 10.120.0.0/16                             1000
route1                         [NETWORK] 192.168.100.0/24                          1000

Próximos passos

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

Enviar comentários sobre…

Documentação do Compute Engine