Como Criar o Seu Próprio Servidor VPN Grátis com OpenVPN

Aprenda a criar um servidor VPN grátis com OpenVPN no Linux, garantindo segurança e privacidade online.

Por que hospedar o seu próprio servidor VPN caseiro ou em nuvem?
Dica DomineTec: Criar a sua própria VPN dá controle total de segurança, mas você usará o seu próprio IP. Para navegar de forma anônima com IPs rotativos, leia sobre a melhor VPN sem registro de logs.
Hospedar seu próprio servidor VPN oferece uma série de vantagens em relação ao uso de serviços VPN comerciais. Primeiramente, você tem controle total sobre sua privacidade e segurança, evitando a coleta de dados pessoais por provedores terceiros. Além disso, você pode personalizar suas configurações de acordo com suas necessidades específicas, garantindo que sua conexão seja otimizada para desempenho e segurança. Outra vantagem é o custo: criar um servidor VPN grátis pode ser feito utilizando hospedagem em nuvem ou até mesmo um computador doméstico, reduzindo significativamente os gastos com serviços de VPN pagos.

Passo 1: Preparando o ambiente (VPS gratuita ou PC Linux doméstico)
| Etapa do Servidor | Comando Shell Linux | Finalidade do Processo |
|---|---|---|
| Instalação do Pacote | sudo apt install openvpn easy-rsa -y | Instala binários de VPN e chaves |
| Habilitar IP Forwarding | sysctl -w net.ipv4.ip_forward=1 | Permite o roteamento de pacotes |
Para começar, você precisa de um ambiente Linux para instalar o OpenVPN. Você pode optar por uma VPS gratuita ou usar um PC com Linux. Para este exemplo, vamos usar o Ubuntu 20.04, mas o procedimento é similar em Debian e outras distribuições baseadas em Debian.
Escolhendo a hospedagem
Se você decidir usar uma VPS, várias opções gratuitas estão disponíveis, como a Amazon Web Services (AWS) com sua camada gratuita, a Google Cloud Platform (GCP) ou o Oracle Cloud. Caso prefira um ambiente local, você pode usar um PC que tenha pelo menos 1 GB de RAM e uma conexão com a Internet estável.
Atualizando o sistema
Antes de instalar o OpenVPN, é fundamental garantir que seu sistema esteja atualizado. Para isso, execute os seguintes comandos:
sudo apt update
sudo apt upgrade -y
Instalando dependências
O OpenVPN e o Easy-RSA dependem de alguns pacotes que precisam ser instalados antes da configuração. Execute o comando abaixo para instalar as dependências necessárias:
sudo apt install openvpn easy-rsa ufw -y

Passo 2: Instalando e configurando o servidor OpenVPN e Easy-RSA
A instalação do OpenVPN e do Easy-RSA é feita em poucos passos. O Easy-RSA é um conjunto de scripts que ajuda a gerenciar uma Autoridade Certificadora (CA) para o OpenVPN.
Configurando o Easy-RSA
Primeiro, copie os arquivos do Easy-RSA para um diretório que você pode usar para a configuração:
make-cadir ~/openvpn-ca
Em seguida, navegue até o diretório criado:
cd ~/openvpn-ca
Configurando as variáveis da CA
Agora, você deve editar o arquivo vars para definir as variáveis da sua CA. Utilize um editor de texto como o nano:
nano vars
Localize e atualize as seguintes linhas com suas informações:
export KEY_COUNTRY="BR"
export KEY_PROVINCE="SP"
export KEY_CITY="São Paulo"
export KEY_ORG="DomineTec"
export KEY_EMAIL="seu-email@dominetec.com"
export KEY_OU="IT"
Salve e saia do editor. Agora, você pode gerar a CA.
Gerando a Autoridade Certificadora (CA)
Para gerar a CA, execute os seguintes comandos:
source vars
./clean-all
./build-ca
Você será solicitado a inserir informações. A maioria das vezes, você pode simplesmente pressionar Enter para aceitar os padrões.
Configurando o servidor OpenVPN
Agora que temos a CA, vamos prosseguir para gerar os certificados e chaves do servidor. Execute o seguinte comando:
./build-key-server servidor
Novamente, pressione Enter para aceitar os padrões. Lembre-se de responder “y” quando solicitado a confirmar a geração da chave.
Gerando Diffie-Hellman
O próximo passo é gerar os parâmetros Diffie-Hellman, que são essenciais para a troca de chaves:
./build-dh
Gerando chave HMAC
Para maior segurança, é recomendado gerar uma chave HMAC:
openvpn --genkey --secret keys/ta.key
Configurando o arquivo de configuração do servidor
O OpenVPN vem com um arquivo de configuração de exemplo. Copie-o para o diretório de configuração do OpenVPN:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn
sudo gzip -d /etc/openvpn/server.conf.gz
Agora, edite o arquivo de configuração:
sudo nano /etc/openvpn/server.conf
Localize e altere as seguintes linhas para corresponder ao seu ambiente:
ca /home/seu-usuario/openvpn-ca/keys/ca.crt
cert /home/seu-usuario/openvpn-ca/keys/servidor.crt
key /home/seu-usuario/openvpn-ca/keys/servidor.key
dh /home/seu-usuario/openvpn-ca/keys/dh2048.pem
tls-auth /home/seu-usuario/openvpn-ca/keys/ta.key 0
Além disso, ative as opções de roteamento e redirecionamento de IP descomentando as linhas apropriadas no arquivo.

Passo 3: Gerando as chaves de segurança e certificados digitais dos clientes
Agora que o servidor está configurado, é hora de gerar os certificados dos clientes. Retorne ao diretório do Easy-RSA:
cd ~/openvpn-ca
Para cada cliente que você deseja conectar ao servidor, execute os comandos:
source vars
./build-key cliente1
Assim como antes, siga as instruções e confirme a geração da chave.

Passo 4: Configurando rotas IP no servidor e abrindo portas no firewall
Agora que você tem o servidor e os clientes configurados, é crucial ajustar as regras de firewall e as rotas IP para permitir a comunicação adequada.
Configurando o UFW (Uncomplicated Firewall)
Ative o UFW e abra a porta 1194 (padrão do OpenVPN) para UDP:
sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable
Ativando o encaminhamento de IP
Edite o arquivo /etc/sysctl.conf para permitir o encaminhamento de IP:
sudo nano /etc/sysctl.conf
Descomente a linha:
net.ipv4.ip_forward=1
Após fazer isso, aplique as mudanças:
sudo sysctl -p
Iniciando o servidor OpenVPN
Finalmente, inicie o servidor OpenVPN com o seguinte comando:
sudo systemctl start openvpn@server
Para garantir que o serviço inicie automaticamente no boot do sistema, use:
sudo systemctl enable openvpn@server
Conclusão
Criar seu próprio servidor VPN grátis com OpenVPN é uma maneira eficaz de garantir sua privacidade e segurança online. Com as etapas detalhadas acima, você deve ser capaz de configurar seu servidor VPN com facilidade. Não se esqueça de testar sua configuração utilizando um cliente OpenVPN e verifique se tudo está funcionando corretamente. Se você seguir estas instruções, terá uma solução robusta que protege sua navegação e permite acesso remoto seguro à sua rede.
Configurações Avançadas do OpenVPN
Para garantir uma implementação robusta e segura do OpenVPN, é crucial entender as opções de configuração avançadas disponíveis. O arquivo de configuração do servidor OpenVPN, geralmente nomeado como server.conf, possui várias diretivas que permitem ajustar o comportamento do servidor de acordo com as necessidades específicas da rede.
Uma das primeiras configurações a serem consideradas é a diretiva port, que especifica a porta na qual o servidor OpenVPN escuta as solicitações. Por padrão, o OpenVPN utiliza a porta UDP 1194, mas pode ser configurado para utilizar outra porta, caso haja conflitos ou necessidades específicas de segurança. Para alterar a porta, basta modificar a linha port 1194 para port 443, por exemplo, se você desejar uma porta mais comum, que pode passar por firewalls mais restritivos.
Outra configuração essencial é o protocolo de transporte, que pode ser definido como UDP ou TCP. O UDP é mais rápido e é recomendado para a maioria das aplicações VPN, enquanto o TCP pode ser mais confiável em redes instáveis. Para alterar o protocolo, você pode usar a diretiva proto, como em proto tcp ou proto udp.
A configuração de endereçamento IP também é fundamental. A diretiva server permite que você defina um intervalo de endereços IP que serão atribuídos aos clientes conectados. Por exemplo, server 10.8.0.0 255.255.255.0 configura o servidor para atribuir endereços IP no intervalo de 10.8.0.2 a 10.8.0.254. Além disso, a configuração ifconfig-pool-persist pode ser utilizada para manter a persistência dos endereços IP atribuídos aos clientes entre as sessões.
O roteamento de tráfego também deve ser considerado. Para permitir que os clientes acessem a rede local, a diretiva push pode ser utilizada para enviar rotas específicas para os clientes. Por exemplo, push "route 192.168.1.0 255.255.255.0" permite que os clientes acessem a sub-rede 192.168.1.0/24. Além disso, a configuração de client-to-client permite que os clientes se comuniquem entre si, o que pode ser útil em várias aplicações, como jogos ou compartilhamento de arquivos.
Por fim, a segurança é uma preocupação primordial. O OpenVPN suporta criptografia forte através da diretiva cipher. A configuração padrão é a AES-256-CBC, que é altamente recomendada. Para garantir a integridade dos dados, utilize a diretiva auth, que pode ser configurada para SHA256, por exemplo. Além disso, a implementação de certificados X.509 para autenticação de cliente e servidor é vital, e a configuração de tls-auth adiciona uma camada extra de segurança, protegendo o controle de conexão contra ataques de negação de serviço (DoS).
Padrões de Segurança e Considerações de Firewall
A segurança em uma implementação de OpenVPN vai além das configurações do próprio software; envolve também a configuração de firewalls e políticas de segurança da rede. É essencial que as portas utilizadas pelo OpenVPN estejam abertas no firewall do servidor, bem como nas configurações de rede. Se o OpenVPN estiver rodando na porta UDP 1194, por exemplo, certifique-se de que essa porta esteja permitida nos firewalls em ambos os lados, servidor e cliente.
No Linux, você pode usar o iptables para gerenciar regras de firewall. Uma regra básica para permitir o tráfego na porta 1194 seria:
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
Se você estiver configurando um servidor em um ambiente onde o tráfego é mais restrito, considere também implementar regras que limitam o acesso ao servidor apenas a endereços IP confiáveis. Isso pode ser feito utilizando a diretiva --source no iptables para restringir quais IPs podem se conectar ao servidor OpenVPN.
Além disso, a implementação de uma política de segurança de rede é crucial. Certifique-se de que o servidor OpenVPN esteja sempre atualizado com as últimas correções de segurança. Utilize um sistema de autenticação forte e, se possível, implemente autenticação multifatorial (MFA) para aumentar a segurança das credenciais dos usuários.
Ao configurar o OpenVPN, considere também o uso de VPN Kill Switch, uma funcionalidade que interrompe todo o tráfego de internet caso a conexão VPN caia. Isso pode ser configurado através de scripts de monitoramento e é uma boa prática para evitar vazamentos de dados acidentais.
Por fim, é importante realizar auditorias regulares de segurança e monitoramento do tráfego VPN. Ferramentas como Wireshark podem ser usadas para analisar pacotes e verificar se não há tráfego não autorizado passando pela VPN. Além disso, a implementação de logs detalhados no OpenVPN pode ajudar a identificar e responder rapidamente a atividades suspeitas.
Em resumo, uma configuração bem-sucedida do OpenVPN não se limita apenas à instalação do software, mas envolve uma série de considerações de segurança e configuração de rede que garantem uma operação segura e eficiente.
Configuração Detalhada do Servidor OpenVPN
Para configurar um servidor OpenVPN de maneira eficaz, é crucial entender os parâmetros necessários no arquivo de configuração. O arquivo principal, geralmente localizado em /etc/openvpn/server.conf, contém diretrizes que definem como o servidor opera. Um dos parâmetros mais importantes é port, que especifica a porta pela qual o servidor escutará as conexões. O padrão é 1194, mas você pode alterá-lo para outras portas se necessário, como 443, para transitar por firewalls que bloqueiam portas não padrão.
Outro parâmetro essencial é proto, que define o protocolo de transporte. O OpenVPN pode operar sobre UDP ou TCP. O UDP é geralmente preferido para VPNs devido à sua eficiência e menor latência, mas o TCP pode ser usado em situações onde a confiabilidade da conexão é mais crítica. É importante também configurar a túnel e dev para garantir que o OpenVPN crie uma interface de rede virtual, tipicamente usando dev tun para tunelamento IP.
Além disso, você deve definir as rotas que o servidor deve usar. O parâmetro push "route" permite que você envie rotas para os clientes assim que eles se conectam. Por exemplo:
- push "route 192.168.1.0 255.255.255.0" - permite que os clientes acessem a sub-rede local.
As opções de segurança também não devem ser negligenciadas. A configuração de criptografia é vital, e você pode especificar o método de criptografia usando o parâmetro cipher. Por exemplo, cipher AES-256-CBC é uma escolha comum por seu equilíbrio entre segurança e desempenho. Além disso, a utilização de tls-auth adiciona uma camada de segurança extra, ajudando a proteger contra ataques de negação de serviço (DoS).
Políticas de Roteamento e Segurança em uma VPN OpenVPN
Uma vez que o servidor OpenVPN está configurado, é crucial estabelecer políticas de roteamento e segurança para garantir que o tráfego da VPN seja gerenciado de forma eficiente. Para permitir que os clientes se comuniquem com a rede interna e acessem a Internet, você deve implementar regras de roteamento apropriadas. Isso pode ser feito no arquivo de configuração do servidor, onde você pode definir o parâmetro push "redirect-gateway def1". Essa linha redireciona todo o tráfego através da VPN, essencial para a proteção da privacidade do usuário.
Além disso, a configuração de uma firewall é vital para proteger o servidor OpenVPN. Utilizando o iptables, você pode criar regras que permitam apenas o tráfego desejado. Por exemplo:
- iptables -A INPUT -p udp --dport 1194 -j ACCEPT - permite conexões na porta padrão do OpenVPN.
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - permite o tráfego de retorno.
- iptables -A FORWARD -i tun0 -j ACCEPT - permite que o tráfego passe pela interface de túnel.
Por fim, a implementação de um sistema de autenticação forte é crucial. O OpenVPN permite a autenticação de dois fatores (2FA) através de integração com ferramentas como Google Authenticator, aumentando significativamente a segurança do acesso à rede. Assegure-se de manter o software do servidor OpenVPN atualizado para proteger contra vulnerabilidades conhecidas e realizar revisões regulares das políticas de segurança.
Recursos Adicionais e Links Recomendados
Para mais tutoriais de segurança e roteamento doméstico, consulte nossos guias de melhor VPN sem logs e instalar vpn no ubuntu terminal. Caso necessite de assistência direta com o equipamento, acesse o Site Oficial do Projeto OpenVPN.



