Crie uma ligação VPN clássica a um site remoto

Pode configurar uma ligação de túnel VPN clássica entre um site no local e Google Cloud de modo que os endereços IP de origem e de destino sejam endereços IP externos (não RFC 1918). Por exemplo, pode configurar uma ligação VPN clássica a um site remoto de modo que os intervalos de endereços IP no local não entrem em conflito com o endereço IP da VM Google Cloud .

Neste tutorial, vai usar um Google Cloud projeto, a Google Cloud consola, uma instância de máquina virtual (VM), a VPN clássica e alguns comandos do Linux. Para testar a ligação, crie uma nova instância de VM para enviar e receber tráfego entre a VM e um ponto remoto.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  7. Na estação de trabalho, instale a ferramenta de linha de comandos gcloud.
  8. Configure a ferramenta de linha de comandos gcloud para usar o seu projeto. No comando seguinte, substitua PROJECT_ID pelo ID do seu projeto:
    gcloud config set project PROJECT_ID
  9. Certifique-se de que as sub-redes no local estão ligadas ao gateway de VPN no local.
  10. Siga as instruções em Configurar o gateway de VPN de intercâmbio para configurar o gateway de VPN de intercâmbio entre Google Cloud e o seu gateway de VPN no local.
  11. Reserve um novo endereço IP externo estático

    No Compute Engine, cada instância de VM pode ter várias interfaces de rede. Cada interface pode ter endereços IP internos e externos. As regras de encaminhamento podem ter endereços IP externos para o balanceamento de carga externo ou endereços internos para o balanceamento de carga interno. Para saber mais sobre endereços IP estáticos, consulte o artigo Endereços IP externos.

    Um endereço IP externo estático é o endereço IP reservado para o seu projeto até decidir libertá-lo. Se tiver um endereço IP no qual os seus clientes confiam para aceder ao seu serviço, pode reservar esse endereço IP para que apenas o seu projeto o possa usar. Também pode promover um endereço IP externo efémero para um endereço IP externo estático.

    Pode reservar dois tipos de endereços IP externos:

    • Um endereço IP regional usado por instâncias de VM com uma ou mais interfaces de rede ou por equilibradores de carga regionais
    • Um endereço IP global usado para balanceadores de carga globais

    Para ver uma lista de balanceadores de carga regionais e globais, consulte o resumo dos Google Cloud balanceadores de carga.

    Reserve um endereço IP externo estático através da CLI Google Cloud ou da API. Depois de reservar o endereço IP, atribua-o a uma nova instância enquanto cria a nova instância ou atribua o endereço IP a uma instância existente.

    Consola

    1. Aceda à página Reserve um endereço estático.

      Aceda a Reservar um endereço estático

    2. Escolha um nome para a nova morada.

    3. Especifique se é um endereço IPv4 ou IPv6. Os endereços IPv6 só podem ser globais e só podem ser usados com equilibradores de carga globais.

    4. Especifique se este endereço IP é regional ou global. Se estiver a reservar um endereço IP estático para uma instância ou para um equilibrador de carga regional, escolha Regional. Se estiver a reservar um endereço IP estático para um balanceador de carga global, escolha Global.

    5. Se for um endereço IP regional, selecione a região na qual quer criar o endereço.

    6. Opcional: selecione um recurso para anexar ao endereço IP.

    7. Clique em Reservar para reservar o endereço IP.

    gcloud

    Para reservar um endereço IP externo estático através do gcloud compute, use o comando compute addresses create.

    Para reservar um endereço IP global, use os campos --global e --ip-version. Para o campo --ip-version, especifique IPV4 ou IPV6. Os endereços IPv6 só podem ser globais e só podem ser usados com balanceadores de carga globais.

    Substitua ADDRESS_NAME pelo nome desta morada.

    gcloud compute addresses create ADDRESS_NAME \
        --global \
        --ip-version [IPV4 | IPV6]

    Para reservar um endereço IP regional, use o campo --region:

    gcloud compute addresses create ADDRESS_NAME  \
        --region=REGION

    Substitua o seguinte:

    • ADDRESS_NAME: o nome desta morada.
    • REGION: a região na qual reservar esta morada. Esta região deve ser a mesma região que o recurso ao qual o endereço IP está atribuído. Todos os endereços IP regionais são IPv4.

    Use o comando compute addresses describe para ver o resultado:

    gcloud compute addresses describe ADDRESS_NAME

    API

    Para criar um endereço IPv4 regional, chame o método regional addresses.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

    O corpo do pedido deve conter o seguinte:

    {
      "name": "ADDRESS_NAME"
    }

    Substitua o seguinte:

    • ADDRESS_NAME: o nome da morada
    • REGION: o nome da região para este pedido
    • PROJECT_ID: o ID do projeto para este pedido

    Para endereços IPv4 estáticos globais, chame o método globalAddresses.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

    O corpo do pedido deve conter o seguinte:

    {
      "name": "ADDRESS_NAME"
    }

    Para endereços IPv6 estáticos globais, chame o método globalAddresses.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

    O corpo do pedido deve conter o seguinte:

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6"
    }

    Use o método addresses.get para ver o resultado.

    Terraform

    Pode usar um módulo do Terraform para criar um endereço IP externo.

    No exemplo seguinte, os argumentos do Terraform têm valores de exemplo que pode alterar. O exemplo cria três endereços IPv4 externos regionais.

    module "address" {
      source       = "terraform-google-modules/address/google"
      version      = "~> 4.0"
      project_id   = var.project_id # Replace this with your service project ID in quotes
      region       = "europe-west1"
      address_type = "EXTERNAL"
      names = [
        "regional-external-ip-address-1",
        "regional-external-ip-address-2",
        "regional-external-ip-address-3"
      ]
    }

    O exemplo seguinte cria um endereço IPv6 externo global:

    resource "google_compute_global_address" "default" {
      project      = var.project_id # Replace this with your service project ID in quotes
      name         = "ipv6-address"
      address_type = "EXTERNAL"
      ip_version   = "IPV6"
    }

    Ative o encaminhamento de IP

    Pode ativar o encaminhamento de IP quando cria uma VM ou atualizando a propriedade da instância numa VM existente.canIpForward O encaminhamento de IP está ativado ao nível da VM e aplica-se a todas as interfaces associadas à VM.

    Ative o encaminhamento de IP quando criar uma VM

    Estas instruções descrevem como ativar o encaminhamento de IP quando cria uma VM. Se precisar de ativar o encaminhamento de IP numa VM existente, atualize a canIpForward propriedade da instância.

    Consola

    1. Aceda à página Instâncias de VM.
      Aceder a instâncias de VM
    2. Clique em Criar instância.
    3. Em Disco de arranque, certifique-se de que selecionou uma imagem do Linux; por exemplo, o Debian GNU/Linux.
    4. Clique em Trabalhar em rede, discos, segurança, gestão, arrendamento único
    5. Clique em Rede.
    6. Para o encaminhamento de IP, selecione Ativar.
    7. Especifique outros parâmetros de instância.
    8. Clique em Criar.

    gcloud

    Quando cria uma instância com gcloud, adicione a flag --can-ip-forward ao comando:

    gcloud compute instances create ... --can-ip-forward
    

    API

    Quando criar uma instância, use o campo canIpForward para ativar o encaminhamento de IP.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
      "canIpForward": true,
      ...other fields
    }
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto onde a sua instância é criada.
    • ZONE: a zona onde a instância é criada. Google Cloud

    Para mais informações, consulte o método instances.insert.

    Terraform

    Pode usar o recurso Terraform para criar uma instância de VM com o encaminhamento de IP ativado.

    Neste exemplo, os argumentos do Terraform têm valores atribuídos que pode alterar.

    resource "google_compute_instance" "default" {
      project      = var.project_id # Replace this with your project ID in quotes
      zone         = "southamerica-east1-b"
      name         = "instance-next-hop"
      machine_type = "e2-medium"
      boot_disk {
        initialize_params {
          image = "debian-cloud/debian-9"
        }
      }
      network_interface {
        network = "default"
      }
      can_ip_forward = true
    }

    Crie uma rota para o tráfego de entrada

    Siga estes passos para criar uma nova rota estática. Antes de o fazer, certifique-se de que conhece o seguinte:

    • As rotas estáticas não podem ter intervalos de destino que correspondam ou sejam mais específicos do que os intervalos de destino usados por qualquer rota de sub-rede na sua rede VPC.

      • Quando usa o intercâmbio da rede da VPC para ligar duas redes da VPC, as rotas estáticas numa rede não podem ter destinos correspondentes ou mais específicos do que as rotas de sub-rede em ambas as redes. Google Cloud rejeita as rotas estáticas que entrariam em conflito com as rotas de sub-rede desta forma.
    • Para evitar conflitos quando usar uma rede VPC no modo automático, não crie rotas estáticas cujos destinos se enquadrem em 10.128.0.0/9. Reveja os intervalos IPv4 do modo automático para obter detalhes.

    • Os destinos de rotas estáticas não podem sobrepor-se a nenhum intervalo atribuído interno.

    • Certifique-se de que conhece as instâncias como saltos seguintes antes de criar uma rota estática personalizada que use uma VM como salto seguinte.O Google Cloud só valida que existe uma VM no momento em que cria a rota se escolher uma instância de salto seguinte. Google Cloud

    • Se criar uma rota com uma etiqueta de rede, apenas as VMs com essa etiqueta recebem essa rota. No entanto, as VMs etiquetadas continuam a receber todas as rotas que não têm uma etiqueta de rede.

    Consola

    1. Aceda à página Routes na Google Cloud consola.
      Aceda a Trajetos
    2. Clique em Criar trajeto.
    3. Especifique um Nome e uma Descrição para a rota.
    4. Selecione uma Rede existente onde o trajeto se aplica.
    5. Especifique um Intervalo de IPs de destino para definir o destino da rota.
    6. Especifique uma Prioridade para o trajeto. Uma prioridade só é usada para determinar a ordem de encaminhamento se os trajetos tiverem destinos equivalentes. Consulte Parâmetros de trajeto para ver mais detalhes.
    7. Para tornar a rota aplicável apenas a instâncias com etiquetas de rede correspondentes, especifique-as no campo Etiquetas de instância. Deixe o campo em branco para tornar a rota aplicável a todas as instâncias na rede ou se selecionar um balanceador de carga de TCP/UDP interno como o próximo salto da rota. As etiquetas de rede não se aplicam a trajetos que tenham um balanceador de carga de TCP/UDP interno como salto seguinte.
    8. Selecione um Salto seguinte para o trajeto:

      • A opção Especificar uma instância permite-lhe selecionar uma instância por nome. O tráfego é encaminhado para essa instância (ou qualquer instância de substituição com o mesmo nome na mesma zona), mesmo que o respetivo endereço IP seja alterado.
      • A opção Especificar endereço IP permite-lhe introduzir um endereço IP de uma instância existente na rede VPC. Consulte o artigo Saltos seguintes e funcionalidades para ver restrições importantes sobre endereços IP de saltos seguintes válidos.
    9. Clique em Criar.

    gcloud

    Crie uma nova rota estática:

    gcloud compute routes create ROUTE_NAME \
        --destination-range=DESTINATION_RANGE \
        --network=NETWORK \
        NEXT_HOP_SPECIFICATION
    

    Substitua os marcadores de posição:

    • ROUTE_NAME é o nome do trajeto.
    • DESTINATION_RANGE representa os endereços IP de destino aos quais esta rota se aplica. O destino mais amplo possível é 0.0.0.0/0.
    • NETWORK é o nome da rede VPC que vai conter a rota.
    • NEXT_HOP_SPECIFICATION representa o próximo salto para a rota estática. Tem de especificar apenas um dos seguintes elementos como um salto seguinte. Para mais informações sobre os diferentes tipos de saltos seguintes, consulte Saltos seguintes e funcionalidades.
      • --next-hop-instance=INSTANCE_NAME e --next-hop-instance-zone=ZONE: use este próximo salto para direcionar o tráfego para uma instância de VM existente por nome e zona. O tráfego é enviado para o endereço IP interno principal da interface de rede da VM localizado na mesma rede que a rota.
      • --next-hop-address=ADDRESS: use este próximo salto para direcionar o tráfego para o endereço IP de uma instância de VM existente.

    Para que a rota estática se aplique apenas a VMs selecionadas por etiqueta de rede, adicione a flag --tags e especifique uma ou mais etiquetas de rede. Para mais informações sobre como as etiquetas de rede e as rotas estáticas funcionam em conjunto, consulte o artigo Rotas aplicáveis. Pode usar etiquetas com qualquer rota estática.

    Consulte a documentação do SDK para ver informações adicionais acerca da sintaxe gcloud.

    API

    Crie uma nova rota estática.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes
    {
      "destRange": "DESTINATION_RANGE",
      "name": "ROUTE_NAME",
      "network": "NETWORK_NAME",
      "priority": PRIORITY,
      "NEXT_HOP_SPECIFICATION": VALUE
    }
    

    Substitua os marcadores de posição:

    • PROJECT_ID é o ID do projeto onde a sua rota é criada.
    • DESTINATION_RANGE representa os endereços IP de destino aos quais esta rota se aplica. O destino mais amplo possível é 0.0.0.0/0.
    • ROUTE_NAME um nome para o trajeto.
    • NETWORK_NAME é o nome da rede VPC que vai conter a rota.
    • O VALUE para o NEXT_HOP_SPECIFICATION representa o salto seguinte para a rota estática. Para NEXT_HOP_SPECIFICATION, tem de especificar apenas um dos seguintes campos de salto seguinte: nextHopIp e nextHopInstance. Para mais informações acerca dos diferentes tipos de saltos seguintes e funcionalidades, consulte Saltos seguintes e funcionalidades.

    Para mais informações, consulte o método routes.insert.

    Terraform

    Pode criar uma rota estática através de um módulo do Terraform.

    Esta rota estática cria uma rota predefinida para a Internet.

    module "google_compute_route" {
      source       = "terraform-google-modules/network/google//modules/routes"
      version      = "~> 12.0"
      project_id   = var.project_id # Replace this with your project ID in quotes
      network_name = "default"
    
      routes = [
        {
          name              = "egress-internet"
          description       = "route through IGW to access internet"
          destination_range = "0.0.0.0/0"
          tags              = "egress-inet"
          next_hop_internet = "true"
        }
      ]
    }

    Crie uma VPN clássica com encaminhamento estático

    O assistente de configuração da VPN é a única Google Cloud opção da consola para criar um gateway de VPN clássica. O assistente inclui todos os passos de configuração necessários para criar um gateway de VPN clássico, túneis, sessões de BGP e um recurso de gateway de VPN externo. No entanto, pode concluir determinados passos mais tarde, como a configuração de sessões BGP.

    Consola

    Configure o gateway

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

      Aceda à VPN

    2. Se estiver a criar um gateway pela primeira vez, clique em Criar ligação VPN.

    3. Selecione o assistente de configuração da VPN.

    4. Selecione o botão de opção VPN clássica.

    5. Clique em Continuar.

    6. Na página Criar uma ligação VPN, especifique as seguintes definições do gateway:

      • Nome: o nome do gateway de VPN. Não é possível alterar o nome posteriormente.
      • Descrição: opcionalmente, adicione uma descrição.
      • Rede: especifique uma rede de VPC existente na qual criar o gateway de VPN e o túnel.
      • Região: os gateways e os túneis da Cloud VPN são objetos regionais. Escolha uma Google Cloud região onde o gateway vai estar localizado. As instâncias e outros recursos em diferentes regiões podem usar o túnel para tráfego de saída, sujeito à ordem das rotas. Para o melhor desempenho, localize o gateway e o túnel na mesma região que os recursos Google Cloud relevantes.
      • Endereço IP: crie ou escolha um endereço IP externo regional existente.

    Configure túneis

    1. Para o novo túnel, na secção Túneis, especifique as seguintes definições:

      • Nome: o nome do túnel de VPN. Não é possível alterar o nome posteriormente.
      • Descrição: opcionalmente, escreva uma descrição.
      • Endereço IP do par remoto: especifique o endereço IP externo do gateway de VPN do par.
      • Versão IKE: escolha a versão IKE adequada suportada pelo gateway de VPN de intercâmbio. O IKEv2 é preferível se for suportado pelo dispositivo de par.
      • Chave pré-partilhada IKE: indique uma chave pré-partilhada (segredo partilhado) usada para autenticação. A chave pré-partilhada para o túnel da Cloud VPN tem de corresponder à usada quando configura o túnel correspondente no gateway de VPN de pares. Para gerar uma chave partilhada previamente criptograficamente forte, siga estas instruções.
      • Selecionar túneis baseados em políticas
      • Em Opções de encaminhamento, selecione Com base em políticas.
      • Em Intervalos de IP de rede remota, indique uma lista separada por espaços dos intervalos de endereços IP usados pelo tráfego local na configuração da VPN no local.
      • No campo Intervalos de IP locais, introduza o intervalo de endereços IP externos que criou anteriormente com um prefixo de sub-rede /32.
      • Clique em Concluído.
      • Clique em Criar.

    gcloud

    Para criar um gateway de VPN do Google Cloud, conclua a sequência de comandos seguinte. Nos comandos, substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto
    • NETWORK: o nome da sua Google Cloud rede
    • REGION: a Google Cloud região onde cria o gateway e o túnel
    • GW_NAME: o nome do gateway
    • GW_IP_NAME: um nome para o endereço IP externo usado pelo gateway
    • Opcional: --target-vpn-gateway-region é a região em que o gateway de VPN clássica vai operar. O valor deve ser igual a --region. Se não for especificado, esta opção é definida automaticamente. Esta opção substitui o valor da propriedade de computação/região predefinido para esta invocação de comando.

    Configure os recursos do gateway

    1. Crie o objeto do gateway de VPN de destino:

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

      gcloud compute addresses create GW_IP_NAME \
         --region=REGION \
         --project=PROJECT_ID
      
    3. Tome nota do endereço IP (para o poder usar quando configurar o gateway de VPN de pares):

      gcloud compute addresses describe GW_IP_NAME \
         --region=REGION \
         --project=PROJECT_ID \
         --format='flattened(address)'
      
    4. Crie três regras de encaminhamento. Estas regras indicam ao Google Cloud para enviar tráfego ESP (IPsec), UDP 500 e UDP 4500 para o gateway:

      gcloud compute forwarding-rules create fr-GW_NAME-esp \
         --load-balancing-scheme=EXTERNAL \
         --network-tier=PREMIUM \
         --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 \
         --load-balancing-scheme=EXTERNAL \
         --network-tier=PREMIUM \
         --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 \
         --load-balancing-scheme=EXTERNAL \
         --network-tier=PREMIUM \
         --ip-protocol=UDP \
         --ports=4500 \
         --address=GW_IP_NAME \
         --target-vpn-gateway=GW_NAME \
         --region=REGION \
         --project=PROJECT_ID
      

    Crie o túnel do Cloud VPN

    1. Nos comandos, substitua o seguinte:

      • TUNNEL_NAME: um nome para o túnel
      • ON_PREM_IP: o endereço IP externo do gateway de VPN de pares
      • IKE_VERS: 1 para IKEv1 ou 2 para IKEv2
      • SHARED_SECRET: a sua chave pré-partilhada (segredo partilhado). A chave pré-partilhada para o túnel da Cloud VPN tem de corresponder à usada quando configura o túnel correspondente no gateway de VPN de pares. Para gerar uma chave partilhada previamente criptograficamente forte, siga estas instruções.

      Para a VPN baseada em políticas:

      • LOCAL_IP_RANGES: uma lista delimitada por vírgulas dos Google Cloud intervalos de endereços IP. Por exemplo, pode fornecer o bloco CIDR para cada sub-rede numa rede VPC. Este é o lado esquerdo da perspetiva da Cloud VPN.
      • REMOTE_IP_RANGES: uma lista delimitada por vírgulas dos intervalos de endereços IP da rede paritária. Este é o lado direito na perspetiva da VPN na nuvem.

      Para configurar um túnel de VPN baseado em políticas, execute o seguinte comando:

      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 a VPN baseada em rotas, os seletores de tráfego locais e remotos são 0.0.0.0/0 conforme definido nas opções de encaminhamento e nos seletores de tráfego.

      Para configurar um túnel VPN baseado em rotas, execute o seguinte comando:

      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
      
    2. Crie uma rota estática para cada intervalo de endereços IP remotos que especificou na opção --remote-traffic-selector no passo anterior. Repita este comando para cada intervalo de endereços IP remotos. Substitua ROUTE_NAME por um nome exclusivo para a rota e substitua REMOTE_IP_RANGE pelo intervalo de endereços IP remotos adequado.

      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
      

    Configure a VM para enviar e receber tráfego

    Para concluir a configuração e testar se pode enviar e receber tráfego da VM, siga estes passos:

    Receba tráfego

    1. Na Google Cloud consola, aceda à página Instâncias de VM.
    2. Na lista de instâncias de máquinas virtuais, encontre a VM que criou anteriormente e clique em SSH.
    3. Crie um alias de endereço IP para a VM com o endereço IP público que reservou anteriormente. Vai poder receber tráfego para a VM depois de concluir este passo.

      Execute o seguinte comando:

      sudo ip address add EXTERNAL_IP_ADDRESS/32 dev eth0
      

      Substitua EXTERNAL_IP_ADDRESS pelo endereço IP público que reservou anteriormente.

    Envie tráfego

    1. Na Google Cloud consola, aceda à página Instâncias de VM.
    2. Na lista de instâncias de máquinas virtuais, encontre a VM que criou anteriormente e clique em SSH.
    3. Execute o seguinte comando para testar se consegue enviar um ping para um endereço IP externo:

      $ ping -I EXTERNAL_IP_ADDRESS REMOTE_PEER_IP_ADDRESS
      PING 10.0.0.1 (10.0.0.1) from EXTERNAL_IP_ADDRESS : 56(84) bytes of data.
      64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=4.46 ms
      64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.11 ms
      

      Substitua REMOTE_PEER_IP_ADDRESS por um endereço IP da sub-rede do par remoto.

    4. Para permitir que a VM use automaticamente esta interface quando enviar tráfego para o túnel VPN, pode criar uma regra iptables.

      Por exemplo, execute o seguinte comando para criar uma regra:iptables

      $ sudo iptables -t nat -A POSTROUTING --destination REMOTE_PEER_SUBNET -j SNAT --to-source EXTERNAL_IP_ADDRESS
      

      Substitua REMOTE_PEER_SUBNET pela sub-rede do par remoto.

    5. Execute os seguintes comandos para testar o túnel da VPN na nuvem:

      $ ping REMOTE_PEER_IP_ADDRESS
      PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
      64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.48 ms
      64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.42 ms
      
      $ ping EXTERNAL_IP_ADDRESS
      PING 35.195.72.19 (35.195.72.19) 56(84) bytes of data.
      64 bytes from 35.195.72.19: icmp_seq=1 ttl=64 time=0.033 ms
      64 bytes from 35.195.72.19: icmp_seq=2 ttl=64 time=0.062 ms