← todos os artigos
/// Infraestrutura ///

Criando uma VPN grátis com OCI (Oracle Cloud Infrastructure)

Passo a passo completo para criar sua própria VPN pessoal usando o plano Always Free da Oracle Cloud — com PiVPN (WireGuard ou OpenVPN), UFW, fail2ban e dicas de manutenção de segurança.

13 de March de 2024 · ~12 min de leitura · #always-free #cloud #free-tier ·

Moro fora do Brasil e, em diversas situações, preciso acessar serviços brasileiros que bloqueiam conexões vindas do exterior por questões de segurança. Foi pesquisando uma solução gratuita que descobri como usar uma VM do OCI (Oracle Cloud Infrastructure) para instalar o WireGuard ou o OpenVPN via PiVPN e conseguir, sem pagar nada, um endereço de IP no país que eu precisar.

Cartão de crédito necessário — mas nada é cobrado
O plano Always Free exige um cartão de crédito válido (cartões pré-pagos ou de débito não são aceitos). Uma pequena cobrança de verificação (menos de 10 unidades da moeda local) é feita e estornada automaticamente assim que a conta é validada. Enquanto você permanecer no plano Always Free e dentro dos limites, nenhum valor será cobrado. O cartão é apenas para evitar contas falsas — cada pessoa tem direito a uma conta Always Free.
· · ·
01

O que o plano Always Free oferece?

A Oracle Cloud oferece, permanentemente e sem prazo de expiração, os seguintes recursos no plano Always Free:

2 VMs AMD
Instâncias VM.Standard.E2.1.Micro com 1 OCPU e 1 GB de RAM cada — mais que suficiente para uma VPN pessoal.
10 TB de tráfego/mês
Largura de banda de saída muito acima do necessário para uso pessoal de VPN.
IP público fixo
É possível reservar um endereço IP público estático — gratuito enquanto associado a uma instância ativa.
Armazenamento em bloco
200 GB total de armazenamento em bloco entre todas as instâncias.

Confira a lista completa de recursos gratuitos na documentação oficial.

· · ·
02

Passo 1 — Criar a conta no OCI

Acesse oracle.com/br/cloud/free e clique em Iniciar gratuitamente.

Durante o cadastro, preste atenção nos seguintes pontos:

Endereço: use exatamente o mesmo endereço cadastrado no cartão de crédito que você vai utilizar. Divergências causam falha na verificação do pagamento.

Região do datacenter (Home Region): esta é a escolha mais importante de todo o processo.

A escolha da região NÃO pode ser alterada depois
Escolha o datacenter do país cujo IP você deseja ter. Se quiser um IP brasileiro, selecione Brazil East (São Paulo). Para acessar serviços do Reino Unido (ex.: jogos no Xbox/PlayStation), selecione um datacenter britânico. Essa decisão é permanente para a conta.

Verificação do cartão: uma cobrança de verificação será feita (menos de 10 unidades da moeda local — ex: R$ 3–7, €5–7, £5). O valor é estornado automaticamente após a validação.

Falha na verificação?
Se a validação do cartão falhar, envie um e-mail para o suporte da Oracle. No meu caso, resolveram em menos de 48 horas e pude continuar o cadastro normalmente.

Após criar a conta, ative o 2FA (autenticação de dois fatores) imediatamente em Perfil → Configurações de segurança. Ative o 2FA em todos os serviços que utilizar na internet.

· · ·
03

Passo 2 — Criar a instância de computação

No console da OCI, acesse Compute → Instances → Create Instance.

Nome: dê um nome descritivo, como vpn-server.

Availability Domain: clique em Edit na seção Placement e selecione um domínio marcado como Always Free eligible.

Imagem: clique em Edit em Image and Shape → Change image → selecione Canonical Ubuntu 22.04 (ou 20.04).

Shape: clique em Change shape → selecione VM.Standard.E2.1.Micro (o único shape Always Free para AMD).

Rede (VCN): clique em Edit na seção Networking. Se não tiver uma VCN criada, o console oferece criar uma automaticamente. Em Public IPv4 address, selecione Assign a public IPv4 address — você vai reservar um IP fixo no próximo passo.

Chaves SSH: em Add SSH keys, clique em Generate a key pair for me e faça o download das chaves privada e pública. Guarde o arquivo .key em local seguro — ele é sua única forma de acesso à VM.

Clique em Create e aguarde a instância iniciar (status: Running).

Reservar um IP público fixo

Por padrão, o IP público pode mudar se a instância for reiniciada. Para fixá-lo:

  1. Na página da instância, acesse Resources → Attached VNICs
  2. Clique no nome da VNIC → IPv4 Addresses
  3. Nos três pontos ao lado do IP, clique em Edit
  4. Selecione Reserved IP address, dê um nome e confirme

O IP agora é fixo e permanecerá o mesmo enquanto estiver associado à instância.

· · ·
04

Passo 3 — Abrir as portas na VCN (Security List)

A OCI tem dois níveis de firewall: as Security Lists da VCN (controle de rede) e o firewall da própria instância (UFW/iptables, configurado mais à frente). Ambos precisam estar liberados.

Na página da instância, acesse Resources → Attached VNICs → nome da subnet → Security Lists.

Adicione as seguintes Ingress Rules:

ProtocoloPortaCIDR de origemFinalidade
TCP220.0.0.0/0SSH
UDP518200.0.0.0/0WireGuard
UDP11940.0.0.0/0OpenVPN
TCP11940.0.0.0/0OpenVPN (TCP fallback)

Para as Egress Rules, adicione uma regra permitindo todo o tráfego de saída (protocolo: All, destino: 0.0.0.0/0) — normalmente já existe por padrão.

· · ·
05

Passo 4 — Conectar via SSH

Linux / macOS / Windows (PowerShell)

# Ajuste as permissões do arquivo de chave (obrigatório no Linux/macOS)
chmod 600 /caminho/para/sua-chave.key

# Conectar
ssh -i /caminho/para/sua-chave.key ubuntu@SEU_IP_PUBLICO

Windows com PuTTY

  1. Abra o PuTTYgen, clique em Load key e selecione o arquivo .key baixado
  2. Clique em Save private key — isso gera um arquivo .ppk
  3. Abra o PuTTY, informe o IP público, vá em Connection → SSH → Auth e selecione o .ppk
  4. Conecte com o usuário ubuntu
Dica para Windows — use o PowerShell
O Windows 10/11 já inclui um cliente SSH nativo. O PowerShell ou o Windows Terminal dispensam o PuTTY para a maioria dos casos.
· · ·
06

Passo 5 — Atualizar o sistema e configurar segurança

Atualizar pacotes do sistema

Sempre execute estas etapas logo após conectar em uma instância nova — e regularmente depois:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get autoremove -y
sudo apt-get autoclean
Automatize as atualizações semanalmente
Adicione uma tarefa no cron para manter o sistema sempre atualizado sem intervenção manual: ```bash sudo crontab -e ``` Adicione esta linha (executa todo domingo às 02h00): ```bash 0 2 * * 0 apt-get update && apt-get upgrade -y && apt-get autoremove -y && apt-get autoclean ``` Alternativamente, ative o unattended-upgrades para aplicar patches de segurança automaticamente: ```bash sudo apt-get install unattended-upgrades -y sudo dpkg-reconfigure --priority=low unattended-upgrades ```

Configurar o UFW (Uncomplicated Firewall)

O Ubuntu inclui o UFW, que facilita a gestão do firewall local da instância.

# Instalar o UFW (geralmente já está instalado)
sudo apt-get install ufw -y

# Política padrão: bloquear tudo que entra, permitir tudo que sai
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Liberar SSH (IMPORTANTE: faça isso ANTES de ativar o UFW)
sudo ufw allow 22/tcp

# Liberar WireGuard
sudo ufw allow 51820/udp

# Liberar OpenVPN
sudo ufw allow 1194/udp
sudo ufw allow 1194/tcp

# Ativar o UFW
sudo ufw enable

# Verificar status
sudo ufw status verbose
Instâncias OCI — iptables legado
Instâncias Ubuntu na OCI têm regras de iptables pré-configuradas que podem bloquear o tráfego da VPN mesmo com o UFW ativado e a Security List liberada. Execute os comandos abaixo para garantir que os pacotes VPN passem: ```bash # Liberar portas via iptables (necessário no OCI) sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT # WireGuard sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT # OpenVPN UDP sudo iptables -I INPUT -p tcp --dport 1194 -j ACCEPT # OpenVPN TCP # Persistir as regras entre reinicializações sudo apt-get install iptables-persistent -y sudo netfilter-persistent save ```

Instalar e configurar o fail2ban

O fail2ban monitora os logs do sistema e bane automaticamente IPs que fazem muitas tentativas de login com falha — proteção essencial contra ataques de força bruta no SSH.

# Instalar
sudo apt-get install fail2ban -y

# Criar arquivo de configuração local (não edite o .conf original)
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Localize a seção [sshd] e configure:

[sshd]
enabled  = true
port     = 22
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
bantime  = 3600
findtime = 600
  • maxretry: número de falhas de login antes do ban (5 é um bom valor)
  • bantime: duração do ban em segundos (3600 = 1 hora)
  • findtime: janela de tempo para contar as tentativas (600 = 10 minutos)
# Reiniciar o fail2ban para aplicar as configurações
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

# Verificar status
sudo fail2ban-client status
sudo fail2ban-client status sshd
· · ·
07

Passo 6 — Instalar a VPN com PiVPN

O PiVPN (github.com/pivpn/pivpn) é um instalador interativo que automatiza toda a configuração do WireGuard ou OpenVPN. É a forma mais simples, segura e atualizada de instalar uma VPN em um servidor Ubuntu.

curl -L https://install.pivpn.io | bash

O instalador vai guiar você por um assistente interativo. As escolhas recomendadas:

EtapaWireGuard (recomendado)OpenVPN (alternativa)
ProtocoloWireGuardOpenVPN
Porta51820 (UDP)1194 (UDP) ou 1194 (TCP)
DNSGoogle (8.8.8.8) ou Cloudflare (1.1.1.1)Idem
IP do servidorSeu IP público reservadoIdem
WireGuard vs OpenVPN — qual escolher?
WireGuard é mais moderno, mais rápido, usa menos recursos e é mais simples de configurar. É a escolha certa para a maioria dos casos de uso pessoal. OpenVPN é mais compatível com redes corporativas e alguns firewalls restritivos que bloqueiam UDP — nesse caso, usar OpenVPN na porta 443/TCP pode contornar bloqueios.

Adicionar um cliente (perfil)

Após a instalação, adicione um perfil para o seu dispositivo:

# WireGuard
pivpn wg add

# OpenVPN
pivpn ovpn add

O PiVPN vai gerar um arquivo de configuração (.conf para WireGuard, .ovpn para OpenVPN) e também exibir um QR Code no terminal — basta escanear com o aplicativo do celular.

Listar clientes e verificar conexões

# Listar perfis criados
pivpn -l

# Verificar clientes conectados (WireGuard)
pivpn wg

# Verificar clientes conectados (OpenVPN)
pivpn ovpn
· · ·
08

Passo 7 — Configurar o cliente VPN

Baixar o arquivo de configuração

Os perfis gerados ficam em /home/ubuntu/configs/. Transfira para o seu dispositivo:

Via SCP (linha de comando):

# No seu computador local
scp -i /caminho/sua-chave.key ubuntu@SEU_IP:/home/ubuntu/configs/meu-perfil.conf .

Via FileZilla (interface gráfica):

  1. Protocolo: SFTP
  2. Host: seu IP público
  3. Porta: 22
  4. Tipo de autenticação: Arquivo de chave → selecione o .ppk gerado pelo PuTTYgen
  5. Navegue até /home/ubuntu/configs/ e baixe o arquivo

Instalar o cliente VPN

Windows / macOS
Android / iOS
WireGuard: disponível na Play Store e App Store
OpenVPN: OpenVPN Connect na Play Store e App Store
Linux
sudo apt install wireguard
ou
sudo apt install openvpn network-manager-openvpn

Importe o arquivo .conf (WireGuard) ou .ovpn (OpenVPN) no cliente e conecte. Para celulares com WireGuard, o PiVPN exibe um QR Code diretamente no terminal — basta escanear:

pivpn wg -qr nome-do-perfil
· · ·
09

Manutenção contínua

Uma instância VPN é um servidor na internet — precisa de manutenção regular para se manter segura.

# Atualizar o sistema manualmente (execute mensalmente no mínimo)
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y

# Atualizar o PiVPN
pivpn update

# Verificar IPs banidos pelo fail2ban
sudo fail2ban-client status sshd

# Desbanir um IP específico (caso necessário)
sudo fail2ban-client set sshd unbanip 1.2.3.4

# Verificar o status dos serviços
sudo systemctl status wg-quick@wg0   # WireGuard
sudo systemctl status openvpn        # OpenVPN
sudo systemctl status fail2ban
sudo systemctl status ufw
Cron com envio de notificação por e-mail
Se quiser receber um relatório das atualizações por e-mail, instale o mailutils e adicione MAILTO=seu@email.com no topo do crontab. Útil para confirmar que as atualizações automáticas estão funcionando.
· · ·

VPN pessoal, gratuita e sob seu controle

Com o plano Always Free da Oracle Cloud, é possível ter um servidor VPN próprio com IP do país que você precisar — completamente gratuito, sem anúncios, sem logs e sem limites artificiais de velocidade. O PiVPN simplifica a instalação do WireGuard ou OpenVPN para alguns minutos, e a combinação de UFW + fail2ban garante que o servidor permaneça seguro contra tentativas de invasão.

A mesma abordagem funciona em outros provedores de nuvem com free tier — AWS e Azure oferecem instâncias gratuitas por 12 meses, com limites de banda menores (≈ 100 GB/mês). Para uso pessoal e de longo prazo, o Always Free da OCI é a melhor opção disponível hoje.

 Categorias

 Tópicos deste artigo

URL copiada!