Há vários anos, a Ubiquiti Networks vende equipamentos de rede para entusiastas de homelab, prosumers e empresas dentro da linha UniFi. Por entregar componentes cheios de recursos a preços bem acessíveis, virou a escolha favorita de muitas pequenas e médias empresas na hora de montar sua infraestrutura de rede.
Com tantas empresas migrando para a nuvem, ter uma conexão direta e criptografada entre o datacenter on-premise (ou o back-office) e a nuvem virou um caso de uso bastante comum.
O Google Cloud Platform tem sido a opção preferida de muitas pequenas e médias empresas para sua presença na nuvem, graças ao baixo custo e ao ambiente cheio de recursos que o Google construiu. Por outro lado, quando se usa um roteador como o UniFi Security Gateway ou um modelo da linha UniFi Dream Machine, há pouca documentação sobre como conectá-lo diretamente ao GCP — bem menos do que existe para AWS ou Azure.
Veja abaixo um guia passo a passo para configurar uma VPN site-to-site entre uma rede baseada em UniFi e o GCP.
Pré-requisitos
Antes de começar, três pré-requisitos precisam estar atendidos.
- Do lado da rede on-premise, você vai precisar de um roteador UniFi como o UniFi Security Gateway (ou USG), o UniFi Security Gateway Pro (ou USG3/USG4), o UniFi Dream Machine (ou UDM) ou o UniFi Dream Machine Pro (ou UDM Pro/UDMP). Também vai precisar de um UniFi controller configurado e conectado ao roteador. Nos dois últimos modelos, o controller já fica hospedado dentro do próprio appliance.
- Você também vai precisar de um endereço IP estático para a sua conexão. Se ainda não tiver um, fale com seu provedor — normalmente eles atribuem um à sua conexão por uma pequena taxa.
- No lado do GCP, você precisa de um projeto em que seu usuário tenha, no mínimo, privilégios de IAM Network Management Admin.
Coletando as informações
Como em toda boa investigação, há informações que você precisa reunir antes de pôr a mão na massa. Abra um editor de texto para anotar alguns valores que serão usados nas próximas etapas.
A primeira informação é fácil: o seu endereço IP estático.
- O jeito mais simples é pesquisar no Google por "my IP" a partir de uma máquina conectada à mesma rede — o IP aparece no topo dos resultados. Se você não estiver na mesma rede, fale com seu administrador ou provedor para obter esse IP.
- Salve esse valor no editor de texto com o rótulo Static IP Address para uso posterior.
A segunda informação é a faixa de IP da sub-rede da(s) rede(s) on-premise que você pretende conectar ao GCP.
- Para isso, faça login no UniFi controller com uma conta de admin.
- Em seguida, vá até o menu Settings (ícone de engrenagem no canto inferior esquerdo) e entre na página Networks.
- Localize as redes que você vai conectar e anote as informações da coluna de sub-rede.
Você pode escolher mais de uma rede aqui. 4. Salve esses valores no editor de texto com o rótulo On-Prem Subnet para uso posterior.
Veja um exemplo no screenshot abaixo. No print a seguir, eu quero conectar as redes Gaming e Home Devices ao GCP, então vou guardar as seguintes faixas de IP em notação CIDR para depois: 10.4.4.0/24 e 10.2.2.0/24.

Screenshot das configurações de Networks dentro do UniFi controller
Deixe essa página aberta em uma aba, porque vamos voltar a ela.
A última informação é a faixa de IP da sub-rede da região à qual você vai se conectar no GCP. Para isso, você precisa saber o que existe no seu projeto e em qual região ele roda.
Para conseguir essa informação, faça login no console do GCP:
- Clique no menu de navegação principal no canto superior esquerdo (ícone com 3 traços) e vá em VPC network - > VPC networks.
- Na tela exibida, vão aparecer uma ou mais redes com uma tabela de sub-redes em diferentes regiões. O resultado varia bastante de projeto para projeto, dependendo do desenho de rede, então vou supor que você esteja usando o desenho padrão fornecido pelo GCP.
- O que você procura é a região onde estão seus recursos. Na maioria das vezes é us-central1, mas pode variar conforme o desenho de rede e a infraestrutura.
- Identificada a região correta, anote o valor da coluna IP address ranges.
- Salve esse valor no editor de texto com o rótulo GCP Network Range.
Mantenha o console do GCP aberto nessa aba, porque você vai usá-lo nas próximas etapas.
Pronto, é só isso que você precisa para começar. Agora bora colocar a mão na massa.
Implementação
Configuração no GCP — Parte I: configurar o VPN Gateway
Agora vamos configurar o serviço de VPN do GCP.
- Abra a aba do console do GCP.
- Clique no menu de navegação principal no canto superior esquerdo.
- Em seguida, navegue até Networking -> Hybrid connectivity -> VPN.
- Clique no botão Create VPN connection e o processo começa.
- Por enquanto, escolha a opção Classic VPN.
Observação sobre compatibilidade: esse modo é apenas uma VPN única e não oferece redundância caso a conexão falhe. O motivo é que a VPN de alta disponibilidade exige suporte a BGP, e os equipamentos de rede UniFi não têm suporte a BGP no momento em que escrevo este guia. 6. Já na tela de criação, na seção superior do VPN gateway, informe um nome e uma descrição claros. 7. Em seguida, escolha a rede que você quer usar.
Na maioria dos casos, será a rede padrão gerada automaticamente, chamada default. Se você usou um esquema de rede personalizado, escolha a rede certa. 8. Faça o mesmo para a região. Por fim, selecione um endereço IP externo existente ou crie um novo.
Veja abaixo um screenshot com um exemplo de VPN gateway configurado corretamente no console do GCP.

Exemplo de VPN gateway configurado na região us-central1.
Configuração no GCP — Parte II: configurar o túnel VPN
A segunda seção da página é o túnel VPN propriamente dito — o mecanismo que vai conectar o GCP à sua rede on-premise.
Role até a segunda seção da página, chamada VPN tunnel.
Preencha um nome e uma descrição claros.
No campo Remote peer IP address, insira o(s) valor(es) On-Prem Subnet do seu editor de texto.
Garanta que o campo IKE version esteja com o valor IKEv2.
Em seguida, clique no botão Generate and copy.
Salve esse valor no editor de texto com o rótulo IKE Key.
Atenção: não perca esse valor. Depois que esta página for enviada, ele nunca mais ficará acessível dentro do GCP.
Por último, clique na aba Route-based da última seção.
Dentro da caixa Remote network IP ranges, preencha o(s) valor(es) On-Prem Subnet do seu editor de texto (vindos do UniFi controller), pressionando enter após cada um para que virem uma \"caixinha\".
Confira se os seus valores ficaram parecidos com o screenshot a seguir após esses passos.
Tudo conferido, clique em Done nesse painel e em Create no fim da página.

Exemplo de configuração do túnel usando as duas redes on-premise mostradas no screenshot acima.
Nesse momento, você será redirecionado para as páginas que mostram o status dos VPN Gateways e dos túneis. O provisionamento dos serviços leva alguns minutos.
Depois que o serviço terminar de ser provisionado, faltam algumas etapas para finalizar a configuração no GCP.
- Quando o status do túnel mostrar First handshake com um ponto de exclamação amarelo ao lado, você está pronto para continuar.
- Um endereço IP vai aparecer na coluna Cloud VPN gateway.
- Anote esse IP no editor de texto com o rótulo Cloud VPN IP.
- Antes de prosseguir, mantenha o console do GCP aberto nessa aba, porque você vai voltar para esta página depois de configurar o dispositivo UniFi.
Configuração do UniFi
Como o lado do GCP já está configurado e tem um túnel VPN ativo e um gateway esperando conexão, agora vamos configurar o dispositivo UniFi para fechar o lado on-premise.
- Abra novamente a aba do UniFi controller.
- Clique na opção Site na barra de navegação principal à esquerda.
- Na página Site, dentro de Services, há um checkbox chamado Enable advanced features que precisa ser marcado.
- Se ainda não estiver marcado, marque-o e clique em Apply no fim da página. Vai aparecer um aviso, que pode ser ignorado neste momento.
- Agora clique na página Networks para voltar à listagem de redes. Pressione o botão Create New Network no fim da página.
- Há algumas opções nessa página que precisam ser definidas. Vou listá-las primeiro e depois explicar o que vai em cada campo.
- Em Purpose, selecione Site-to-Site VPN. Em VPN Type, selecione Manual IPSec. Expanda Advanced Options e mude Key Exchange Version para IKEv2.
- Deixe todo o resto com o valor padrão por enquanto.
- Primeiro, informe um nome para a rede.
- Clique no botão Add Subnet e, no campo que aparecer, informe o valor GCP Network Range do seu editor de texto.
- Coloque o valor Cloud VPN IP do seu editor de texto no campo Peer IP.
- No campo Local WAN IP, informe o Static IP Address do seu editor de texto.
- Por último, cole a IKE Key do seu editor de texto. Antes de salvar, confira se a página está parecida com o screenshot abaixo, mas com seus próprios valores.

Sua página deve ficar exatamente assim, mas com valores de IP diferentes.
Por fim, no UniFi controller, é preciso criar uma rota estática para que o tráfego seja roteado por essa conexão VPN.
- Selecione a página Routing & Firewall no painel de navegação principal.
- Clique no botão Create New Route.
- Informe um nome para essa rota.
- Coloque o valor GCP Network Range do seu editor de texto no campo Destination Network e defina distance como 1.
- Em Static Route Type, selecione Interface e, no campo Interface, escolha o nome da rede criada anteriormente.
- Clique em Save. Pronto para testar.
Se você marcou Enable advanced features antes, siga as instruções abaixo para desativar, caso não queira deixar esse modo ativo.
- Clique na opção Site na barra de navegação principal à esquerda.
- Em Services, desmarque o checkbox Enable advanced features.
- Clique em Apply no fim da página, e o modo será desativado novamente.
Verificação da conexão
Nesse ponto, a conexão VPN deve estar concluída e ativa. Siga estes passos para confirmar que ela está funcionando como deveria.
- Volte para a aba do console do GCP.
- Caso você tenha mudado de página naquela aba, no menu de navegação principal vá em Networking -> Hybrid connectivity -> VPN.
- Clique na aba Cloud VPN Tunnels.
- Na coluna VPN tunnel status da tabela, deve aparecer um check verde ao lado da mensagem Established.
A conexão pode levar alguns minutos para ser estabelecida. Use o botão Refresh no topo para atualizar os dados até que o status apareça. 5. Se estiver tudo certo, a VPN está conectada entre o GCP e o seu dispositivo UniFi on-premise.
Confirmamos que a VPN está conectada, mas, para garantir que a conexão está funcionando direito, precisamos fazer um teste simples.
**Testando a conexão**
- Garanta que a página do console do GCP esteja aberta.
- No menu de navegação principal, vá em Compute Engine -> VM Instances.
- Se você ainda não criou nenhuma instância do Compute Engine ou não tem nenhuma na região em que sua VPN foi configurada, siga este ótimo guia do canal do GCP no YouTube para criar uma instância temporária para teste, garantindo que ela seja criada na mesma região: https://www.youtube.com/watch?v=1XH0gLlGDdk
- Na sua lista de instâncias do Compute Engine, encontre uma que esteja na região onde você criou a VPN. O padrão é us-central1.
- Nessa instância, localize o valor da coluna Internal IP.
- Abra uma janela de terminal.
- Execute o seguinte comando, substituindo pelo IP interno do passo anterior:
ping <internal IP>
O comando deve começar a exibir linhas com bytes recebidos daquele endereço IP e o tempo de latência. Se essa resposta apareceu, sua VPN está conectada e está tudo certo. Parabéns por chegar até aqui — esse não é o processo mais simples do mundo.
Caso contrário, se aparecerem problemas, siga a próxima seção com algumas dicas de troubleshooting.
Troubleshooting
Se você estiver enfrentando problemas, aqui estão algumas dicas de troubleshooting que descobri enquanto escrevia este guia:
Os logs do Stackdriver são seus aliados. Muitas vezes, problemas aparecem nos logs do VPN Gateway ou do túnel VPN com pistas sobre o que está fazendo a conexão falhar.
Recomendo conferir a rota estática no seu UniFi controller para garantir que os valores estejam corretos.
Às vezes, sua máquina local guarda tabelas de roteamento ICMP em cache. No meu caso, reiniciar resolveu.
Confira as regras de firewall dentro do GCP e do UniFi controller para garantir que a comunicação entre os nós internos não esteja bloqueada. Lembre-se: via VPN, a comunicação acontece com IPs privados dentro do GCP.
O UniFi controller é simplesmente uma máquina Linux que pode ser acessada via ssh para rodar comandos básicos. No controller, na página General, há uma opção para ativar e desativar o ssh, além de configurar credenciais. Pelo controller, você consegue fazer ping ou traceroute nos IPs internos do GCP.
Garanta que seu IP estático esteja configurado corretamente e atribuído ao roteador.
Sempre use os IPs internos do GCP para testar, e não os IPs externos — caso contrário, o tráfego não será roteado pelo túnel VPN.