Guia

Rode Seu Próprio VPN em um VPS Offshore

VPNs comerciais pedem que você confie em uma política de não-registro escrita pelo departamento de marketing deles. Seu próprio VPS não tem nada para registrar além do que você configurar. Aqui está a configuração completa do WireGuard — e uma lista honesta das compensações.

Por que auto-hospedado supera um VPN comercial

O "sem registros" de um VPN comercial é uma política. O sem-registros do seu próprio VPS é uma arquitetura. Essa diferença importa mais do que qualquer selo de auditoria:

  • Um provedor de VPN vê tudo por design. O tráfego de milhares de utilizadores termina em servidores que a empresa controla totalmente. Uma ordem selada mais uma alteração silenciosa no registo são invisíveis para si — e já aconteceu antes, em fornecedores de que já ouviu falar.
  • No seu próprio VPS, você controla toda a pilha. Seu sshd, seu disco, sua configuração do WireGuard. Não executamos nada dentro do seu convidado e mantemos nenhum registro de atividade ou conexão no lado da rede. Não conseguimos ver dentro do seu VPS; uma empresa de VPN é definida por ver dentro do túnel dela.
  • A jurisdição trabalha a seu favor. Sua saída vive onde você a implanta — fora das alianças de vigilância se você escolher, regida pelos tribunais da jurisdição de hospedagem em vez do país de origem da empresa de VPN.

E o contrapeso honesto: um VPN auto-hospedado tem um IP dedicado que é só seu. Sites não o marcarão como VPN (uma melhoria genuína de qualidade de vida), mas todo o seu tráfego compartilha um único endereço — você não está se misturando a uma multidão de milhares. Se anonimato em massa é o requisito, use Tor. Se infraestrutura confiável é o requisito, nada supera uma máquina que você controla.

O que estamos construindo

Telefone e laptop → túnel WireGuard → um SV-Pro na localização escolhida → a internet aberta. Encaminhamento IPv4 com NAT no servidor, roteamento de túnel completo nos clientes (0.0.0.0/0), DNS via 9.9.9.9. IP de exemplo do servidor em todo o guia: 185.220.101.14 — substitua pelo seu. O SO base é Debian 13; se você ainda não endureceu a máquina, faça a lista de verificação de 30 minutos primeiro, depois volte.

Configuração do servidor no Debian 13

Instale e gere chaves

apt update && apt install -y wireguard qrencode

cd /etc/wireguard
umask 077

# server keypair
wg genkey | tee server.key | wg pubkey > server.pub

# one keypair per client device (laptop shown; repeat for phone)
wg genkey | tee laptop.key | wg pubkey > laptop.pub

Gerar chaves do cliente no servidor é aceitável para uma primeira configuração, já que você transfere configs via SSH de qualquer forma. Para higiene mais rigorosa, gere chaves em cada dispositivo e cole apenas as chaves públicas na configuração do servidor.

Escreva wg0.conf

# /etc/wireguard/wg0.conf
[Interface]
Address    = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>
PostUp     = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown   = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# laptop
[Peer]
PublicKey  = <contents of laptop.pub>
AllowedIPs = 10.10.0.2/32

# phone — repeat the block with 10.10.0.3/32

Verifique o nome da interface de uplink com ip route | grep default — nas imagens VPSRento é eth0, mas se a sua for diferente, ajuste as linhas MASQUERADE.

Ative o encaminhamento e inicie

# turn on IPv4 forwarding, persist across reboots
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl -p /etc/sysctl.d/99-wireguard.conf

# firewall: one UDP port, nothing else
ufw allow 51820/udp comment 'WireGuard'

# bring it up, now and on boot
systemctl enable --now wg-quick@wg0
wg show

wg show deve imprimir a interface, a porta de escuta e seus pares. Ainda sem linhas de handshake — elas aparecem quando um cliente conecta.

Configuração do cliente

No laptop, laptop.conf:

[Interface]
PrivateKey = <contents of laptop.key>
Address    = 10.10.0.2/32
DNS        = 9.9.9.9

[Peer]
PublicKey           = <contents of server.pub>
AllowedIPs          = 0.0.0.0/0, ::/0
Endpoint            = 185.220.101.14:51820
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0, ::/0 roteia tudo pelo túnel — mude para um túnel dividido depois, se quiser. PersistentKeepalive mantém o caminho ativo através do NAT doméstico. Para o telemóvel, não digite nada: gere o ficheiro de configuração do telemóvel no servidor e apresente-o como um código QR no seu terminal:

# prints a scannable QR in the terminal — scan it with the WireGuard app
qrencode -t ansiutf8 < phone.conf

Ative e depois verifique de qualquer cliente: curl ifconfig.me deve responder com o IP do seu VPS, e um teste de vazamento de DNS deve mostrar o operador do 9.9.9.9 — não o seu ISP.

Notas de desempenho

O WireGuard vive no kernel e fala ChaCha20 — nos nós AMD EPYC, um único túnel move realisticamente 600–900 Mbps através do NAT, ou seja, satura a porta muito antes de esforçar o CPU. A restrição vinculante nunca é a cifra; são as condições de largura de banda do plano. Uma VPN é puramente de largura de banda: cada gigabyte que descarrega conta uma vez à entrada e uma vez à saída. Nos planos com limite, essa aritmética importa. No SV-Pro — $19.99/mês, sem medição a 1 Gbps — não importa, e é por isso que o SV-Pro é o plano que indicamos para construtores de VPN. Um cliente roda uma configuração familiar completa em um único SV-Pro em Amsterdã e ainda não encontrou o teto.

Multi-hop: entre em Amsterdã, saia em Reykjavik

Para uma segunda camada, encadeie dois VPSes entre jurisdições. Nó de entrada nos Países Baixos (latência barata para você), túnel WireGuard entre os dois servidores, nó de saída na Islândia (a jurisdição de onde você realmente quer que seu tráfego saia). Seus dispositivos veem um endpoint em Amsterdã; a internet vê um IP em Reykjavik; o nó de entrada vê apenas texto cifrado passando. Mecanicamente, são as mesmas configurações que você acabou de escrever, duas vezes — uma segunda interface wg no nó de entrada cuja rota padrão aponta para o túnel de saída. O custo é aproximadamente 40–60ms de latência adicional e mais um $5.99–6.89 VPS. Vale a pena quando seu modelo de ameaça tem orçamento; é decoração quando não tem.

Limitações honestas

  • Você é o operador agora. Atualizações, rotação de chaves e uptime são seus. unattended-upgrades e a lista de verificação de endurecimento cobrem a maior parte; o resto é um apt upgrade ocasional num domingo.
  • Um IP é uma identidade. Observadores podem correlacionar tudo que sai do seu endereço. Quando importar, reimplante em outro local — 55 segundos depois você tem uma saída nova e um IP novo verificado contra mais de 40 listas negras.
  • Um VPS não é Tor. Esta configuração protege você do seu ISP, de Wi-Fi hostil e de empresas de VPN. Contra um adversário de nível estatal observando ambas as pontas do túnel, a correlação de tempo existe. Saiba em qual luta você está.

Seu túnel. Seus logs: nenhum.

SV-Pro — 4 vCPU, 8 GB RAM, 1 Gbps sem limite — é a escolha de quem constrói VPNs por $19.99/mês. Root em 55 segundos.

Português