Tutorial criar servidor OpenVPN e conectar com VPN grátis

Objetivos

  • Saber o que é uma VPN
  • Conhecer o software OpenVPN
  • Criar um servidor nível gratuito configurado com OpenVPN para permitir conexão VPN grátis (vpn gratuita)

O que significa ou o que é uma VPN?

A sigla VPN vem do inglês e significa “Virtual Private Network“, que pode ser traduzido como “Rede Virtual Privada“.

A utilização de uma conexão VPN permite encriptar e proteger seu tráfego de internet do seu dispositivo de origem até o seu servidor VPN de destino.
Uma VPN é muito útil caso esteja utilizando uma rede pública para acesso a internet, pois a encriptação utilizada dificulta que hackers ou pessoas mal intencionadas rastreiem suas atividades e tentem roubar/interceptar dados pessoais.

Além do processo de proteção de navegação ponto a ponto (dispositivo origem até servidor VPN de destino), a VPN pode ser útil quando é necessário acessar websites que limitam tráfego para faixas de IP do seu próprio país.

Quando a NASA pousou um de seus robôs em marte, havia uma restrição no website para visualização das imagens disponibilizadas. A NASA utilizava possivelmente a faixa de IP para determinar quem tinha permissão de acesso. Um usuário no Brasil teria o acesso negado pra as imagens, por causa de seu IP de origem.

O site da GameStop também tinha, no passado, uma limitação de acesso por faixa de IP (testei atualmente e não verifiquei mais estas restrições). Quando acessado pelo Brasil, uma página de erro era mostrada.

Em uma conexão VPN, seu “IP” de origem passa a ser o IP do seu servidor VPN. Nos 2 exemplos acima, possivelmente não haveria uma restrição de acesso, caso o servidor VPN estivesse sediado nos Estados Unidos.

Em alguns países há restrição de acesso a determinados sites e aplicativos. Geralmente estas restrições são de nível nacional, aplicadas pelo Governo. Basicamente todo o tráfego de internet nacional é impedido de acessar determinados destinos. Porém, caso você tenha uma conexão VPN ativa, você consegue realizar uma “ponte” até o seu servidor e de lá acessar os sites e aplicativos que originalmente seriam bloqueados.

Em nível empresarial, algumas empresas possuem recursos que só podem ser acessados internamente, pela rede local. Agora imagine que novas filiais desta empresa foram criadas e estas também precisam de acesso aos recursos dentro desta rede centralizada. Uma opção é realizar uma conexão entre a matriz e as filiais por VPN. Ou até mesmo garantir acesso por VPN para usuários que precisam deste acesso “local”.

Em resumo, uma conexão VPN (caso corretamente configurada) faz um túnel seguro do seu dispositivo de origem (notebook, celular, desktop, etc) até seu servidor VPN. Todo seu “tráfego” tem uma nova porta de saída.

 

O que é o OpenVPN?

Em uma conexão VPN usual, temos um dispositivo que quer se conectar (o cliente) e o computador configurado com software VPN que provê o serviço (servidor).
Neste sentido, o software OpenVPN que provê as funcionalidades para que o computador funcione como um servidor VPN.

Interessante destacar que o OpenVPN é um software livre e de código aberto (open source). Além do exemplo acima de conexão virtual privada do tipo ponto a ponto, ele também permite no formato servidor para múltiplos clientes.

Esta conexão é configurada como um túnel criptografado, visando a segurança das informações trafegadas entre os computadores.

 

O que é uma VPN grátis?

Basicamente é a possibilidade de se conectar de forma segura em um servidor VPN que provê o serviço de forma gratuita. Existem diversas empresas que prestam serviços de conexão VPN e em seus pacotes básicos, ofertam VPN grátis por um período de tempo ou por volume de dados trafegados.

Mas é interessante ter certeza que a empresa escolhida é confiável, senão o seu túnel seguro, pode ter esta brecha de segurança, e a própria empresa pode estar espiando seus dados.

Mas também é possível criar seu próprio servidor VPN de forma gratuita. Existem empresas que ofertam produtos em nuvem e possuem pacotes de nível gratuito. Uma opção é reservar um servidor gratuito (mesmo que por tempo limitado) e criar seu próprio servidor VPN. Que é a proposta deste passo a passo!

 

Passo a passo para criar servidor e conectar com VPN grátis

Primeiramente, vamos mostrar as etapas necessárias de forma resumida:

  1. Criar um servidor de nível gratuito
  2. Instalar e configurar software OpenVPN
  3. Criar arquivo de conexão para cada cliente
  4. Conectar dispositivo em sua VPN grátis com o OpenVPN Connect

Passo 1 – Criar servidor de nível gratuito

Para garantir sua VPN grátis, o primeiro passo é o setup de um servidor de nível gratuito. Já abordamos em publicações anteriores o passo a passo para criar e configurar um servidor ofertado pela Amazon AWS e Google Cloud.

Desta forma, é necessário escolher em qual empresa deseja criar o servidor:

Neste passo a passo, utilizei o servidor configurado no Google Cloud Platform. Reservei a instância de VM no Compute Engine e escolhi os recursos dentro do nível gratuito, com uma instância do tipo e2-micro na região us-east1.

Passo 2 – Conectar no servidor

Com o servidor criado, é preciso então realizar a conexão SSH para que seja possível iniciar sua configuração. Neste primeiro exemplo, caso tenha o servidor no Google Cloud com IP externo 34.148.148.148 e tenha já configurado sua chave SSH pública durante o setup com usuário/email da chave sendo debian@exemplo.com (por exemplo, ao gerar sua chave SSH no seu computador pessoal, você informou que seu nome de usuário era debian e seu email era @exemplo.com, desta forma ao realizar o comando de ssh abaixo, utilize o seu nome de usuário que definiu na chave: neste exemplo seria debian), temos o comando para login:

ssh debian@34.148.148.148

Caso tenha realizado o setup na Amazon AWS e gerado uma chave de conexão pela interface da AWS, sua conexão será similar a:

ssh -i ChaveVPCaws.pem ubuntu@34.148.148.148

Passo 3 – Instalar e configurar software OpenVPN

Como o propósito deste servidor é a funcionalidade de conexão VPN, precisamos de um software para prover o serviço. Como mencionado anteriormente, o OpenVPN é um software gratuito e de código aberto muito utilizado para prover o serviço de conexão VPN.

Um usuário criou um script automatizado muito útil para instalação e configuração semiautomática do OpenVPN. Para realizar o download do script diretamente do repositório, basta executar o comando:

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh

Para garantir permissão de execução do script, é necessário executar o comando:

chmod +x openvpn-install.sh

Para executar o script é necessário utilizar o comando:

sudo ./openvpn-install.sh

Agora é necessário seguir as opções disponibilizadas pelo script.

VPN grátis - executar o script instalação OpenVPN
VPN grátis - executar o script instalação OpenVPN - endereço ip da rede interna, precisa trocarServidor Google Cloud - dashboard da máquina virtual criada - foco no ip de conexão externo
VPN grátis - executar o script instalação OpenVPN - endereço ip rede externa correto
VPN grátis - executar o script instalação OpenVPN - habilitar suporte ipv6

A maioria das opções mostradas como padrão, são recomendadas para a maioria dos usuários. Lembrando que a porta padrão do OpenVPN é a:

1194

Você poderá alterar a porta para uma de sua escolha, ou até mesmo permitir que o script escolha uma porta aleatoriamente. Porém é importante anotar qual porta escolheu, pois vamos precisar abrir esta porta (regra do firewall) na interface do provedor (AWS ou Google Cloud), para permitir nossa conexão VPN (cliente-servidor).

VPN grátis - executar o script instalação OpenVPN - escolher porta conexão
VPN grátis - executar o script instalação OpenVPN - escolher protocolo de conexão: TCP UDP
VPN grátis - executar o script instalação OpenVPN - escolher servidor DNS

Na escolha dos servidores DNS, por padrão o script aconselha utilizar os servidores do Adguard, que já possuem um filtro de bloqueio contra propagandas. Como prefiro ter a opção de habilitar e desabilitar o filtro contra propagandas (ads) e o servidor está configurado no backbone do Google Cloud, preferi utilizar por padrão os servidores do DNS do Google.

VPN grátis - executar o script instalação OpenVPN - habilitar compressão
VPN grátis - executar o script instalação OpenVPN - customizar encriptação
VPN grátis - executar o script instalação OpenVPN - finalizar instalação

Neste momento o script já instalou e configurou o OpenVPN. No próximo passo será solicitado um nome para criação do primeiro cliente habilitado para conexão VPN. Neste exemplo, criei um cliente com o nome de “vinicius”.

VPN grátis - executar o script instalação OpenVPN - criar configuração de acesso para cliente
VPN grátis - executar o script instalação OpenVPN - configurar senha no arquivo de conexão do cliente
VPN grátis - executar o script instalação OpenVPN - instalação concluída

Tudo pronto! OpenVPN criado e arquivo de configuração/acesso de cliente criado. Neste exemplo criei um cliente com o nome de “vinicius”, então o arquivo de configuração terá o nome:

vinicius.ovpn

Para criar novos arquivos de configuração para outros clientes, basta executar o script novamente. Quando o menu do script abrir, escolha a opção número 1:

Como mencionado, o nome escolhido para o cliente vai gerar um arquivo no formato:

nomecliente.ovpn

VPN grátis - executar o script instalação configurar novo usuário cliente

Passo 4 – Copiar arquivo de configuração do cliente .ovpn para seu computador pessoal

Com o OpenVPN instalado e configurado, assim como o arquivo de configuração do cliente, agora precisamos enviar este arquivo para nosso computador pessoal.

A opção mais simples é verificar o conteúdo do arquivo, copiar (control+c) e colar o conteúdo (control+v) em um arquivo do bloco de notas e salvar com a extensão .ovpn. Para verificar o conteúdo do arquivo de configuração, execute o comando:

cat nomecliente.ovpn

VPN grátis - verificar conteúdo arquivo .ovpn de configuração de cliente criado

A segunda opção é abrir outro prompt de comando no seu computador pessoal com sistema operacional Windows, e copiar o arquivo de configuração por SCP (ssh) do seu servidor para a pasta Downloads, utilizando o comando:

scp debian@34.148.148.148:~/nomecliente.ovpn "%userprofile%\Downloads"

VPN grátis - como transferir arquivo do servidor para o windows por scp

Caso utilize linux ou Mac OS, abra o terminal e execute o comando (irá salvar o arquivo na pasta pessoal do seu usuário):

scp debian@34.148.148.148:~/nomecliente.ovpn ~/

VPN grátis - como transferir arquivo do servidor para o mac e linux por scp

Passo 5 – Abrir a porta de conexão VPN no seu servidor

No Google Cloud Platform, acesse a página de dashboard do Compute Engine / Instâncias de VM:

https://console.cloud.google.com/compute/instances

Nesta tela você irá ver uma linha com a instância da sua máquina virtual. No fim da linha haverá 3 pontos alinhados em pé. Ao clicar neles, um menu irá aparecer com algumas opções. Selecione a opção:

Ver detalhes da rede

Servidor Google Cloud - mais opções
Servidor Google Cloud - ver detalhes de rede

Nesta nova página que abriu, haverá novas opções no menu lateral esquerdo. Clique na opção:

Firewall

Servidor Google Cloud - detalhes de rede
Servidor Google Cloud - detalhes de rede - menu firewall

Agora no menu superior, clique na opção:

CRIAR REGRA DE FIREWALL

As opções que precisa definir/selecionar:

  • Nome: openvpn
  • Descrição: conexão vpn
  • Registros: desativado
  • Rede: default
  • Prioridade: 1000
  • Direção do tráfego: Entrada
  • Ação se houver correspondência: Allow (Permitir)
  • Destinos: Todas as instâncias da rede
  • Filtro de origem: Intervalos IPv4
  • Intervalos IPV4 de origem: 0.0.0.0/0
  • Segundo filtro de origem: Nenhum
  • Filtro de destino: Nenhum
  • Protocolos e portas: Portas e protocolos especificados:
    • Selecione: UDP
    • Número porta: 1194

Agora basta clicar no botão:

CRIAR

Servidor Google Cloud - crir regra de firewall parte
Servidor Google Cloud - crir regra de firewall parte 2
Servidor Google Cloud - crir regra de firewall parte 3
Servidor Google Cloud - crir regra de firewall parte 4

Servidor Google Cloud - crir regra de firewall parte 5 - criar regra

Passo 6 – Instalar e configurar o software OpenVPN Connect em seu dispositivo pessoal

Para recapitular o que foi feito até o momento, já temos o servidor de nível gratuito configurado. Temos o OpenVPN corretamente instalado no servidor, já geramos o arquivo de configuração do cliente e criamos a regra de firewall para permitir a conexão pela porta 1194. O próximo passo então é efetivamente realizar a conexão VPN do cliente até o servidor para verificar o funcionamento. Desta forma, vamos precisar do software “OpenVPN Connect” instalado no dispositivo “cliente”. Vamos importar neste software o arquivo de configuração (nomecliente.ovpn) para que possamos realizar a conexão.

Caso queira conectar um computador com Microsoft Windows na VPN, faça o Download:

Caso esteja em um computador configurado com o Mac OS na VPN, faça o Download:

Para o Sistema Operacional Linux conectado na VPN, faça o Download:

Caso queira utilizar a conexão VPN pelo celular ou tablet com Android, faça a instalação:

Caso queira utilizar a conexão VPN no iPhone ou ipad, acesse o aplicativo na apple store:

 

No exemplo abaixo, vou configurar a conexão do meu computador pessoal com Sistema Operacional Windows. Após instalar e executar o OpenVPN Connect, vamos ter uma tela semelhante a imagem abaixo. Como nossa configuração não é feita por URL e sim pelo arquivo .ovpn, vamos clicar na opção:

FILE

OpenVPN Connect - tela importar perfil - destaque para opção de importar por arquivo

Agora estamos na aba de importação do perfil de configuração por arquivo. Você pode arrastar o arquivo .ovpn gerado e soltar dentro do campo do file upload, ou selecionar o seu arquivo, clicando no botão:

BROWSE

OpenVPN Connect - tela importar perfil por arquivo ovpn

Caso o arquivo de importação de perfil tenha sido carregado corretamente, você será redirecionado para a tela de perfis. Neste exemplo, temos o perfil vinicius configurado:

OpenVPN Connect - Novo perfil carregado

Passo 7 – Ativar o serviço de VPN Grátis configurado

Nesta etapa já temos todo o setup configurado. Para habilitar uma conexão segura por VPN em seu dispositivo, basta clicar no botão ao lado do seu perfil. No exemplo abaixo, temos a conexão VPN estabelecida para o cliente “vinicius“.

OpenVPN Connect - Conexão VPN grátis habilitada

Atenção! Caso receba algum problema de conexão, possivelmente não configurou corretamente a abertura da porta do OpenVPN no Firewall na interface do servidor, como descrito no Passo 5!

 

Lembrando que a conexão VPN possivelmente será mais lenta que sua internet contratada, um dos fatores é o poder de processamento do servidor de vpn grátis. Neste exemplo, eu tenho um plano de internet de 500/250Mbps, que a provedora costuma entregar algo perto de 750/350Mbps. Minha latência varia entre 20-30ms (já não é lá muito boa). Segue abaixo os testes de velocidade executados com a conexão VPN ativa:

VPN grátis - teste velocidade openvpn google cloud e2-micro - speedtest VPN grátis - teste velocidade openvpn google cloud e2-micro - speed cloudflare VPN grátis - teste velocidade openvpn google cloud e2-micro - fast.com

Como é possível verificar nos testes acima, minha velocidade de conexão foi limitada, principalmente pelo poder de processamento do servidor, como era esperado. Minha latência também subiu para algo perto de 160ms, que faz sentido, pois a minha rota agora sai pelo servidor sediado nos Estados Unidos (mais longe geograficamente). Para termos de comparação, se executo um ping do meu computador para o servidor VPN, com a VPN desligada, tenho algo perto de 150ms de latência.

VPN grátis - ping servidor vpn com a conexão vpn desligada

Conclusão

Com este tutorial foi possível criar de forma bem simples um servidor VPN de nível gratuito utilizando o software OpenVPN. É uma opção viável para se obter uma VPN grátis e segura. Existem diversas empresas que ofertam também os serviços de VPN e com muitos mais recursos, onde você pode mudar sua rota de saída para diferentes países e cidades. Os planos pagos geralmente ainda garantem conexões mais rápidas e para múltiplos clientes, sendo uma opção caso queira implantar uma VPN para todo seu tráfego da rede doméstica, configurando esta opção diretamente em seu roteador.

 

Caso tenha alguma dúvida ou sugestão na implantação de uma VPN grátis, basta informar aí nos comentários!