
Auto-hospede uma VPN WireGuard em um VPS.
Quinze minutos para sua própria VPN pessoal.
Cinco etapas de "sem servidor" a "minha própria VPN pessoal" — sem KYC no cadastro, pago em cripto, sem provedor VPN de terceiros na cadeia de confiança. Testado no Debian 12 com WireGuard 1.0+ no kernel principal.
- 01
Provisionar
Um VPS Nordic
- 02
Instalar
apt install wireguard
- 03
Configurar
Chaves + wg0.conf
- 04
Firewall
UDP 51820 + encaminhamento
- 05
Conectar
wg-quick up wg0
Escolha um bastion Nordic perto de onde você mora.
No painel: Solicitar → VPS → Sentinel ($5,90/mês, 2 vCPU / 4 GB / 120 GB NVMe). O Sentinel tem bandwidth ilimitado e uplink de 1 Gbps — mais que suficiente para uma VPN pessoal mesmo em streaming completo. Escolha o bastion mais próximo de onde você está fisicamente, porque cada byte que você envia passa pelo VPS antes de chegar ao destino. Um cliente europeu escolhe Stockholm ou Helsinki; um cliente das Américas / Ásia escolhe Reykjavík (menor latência transatlântica) ou Oslo.
Imagem de SO: Debian 12 é a recomendação. Ubuntu 22.04+ funciona de forma idêntica. Alpine funciona, mas usa nomes de pacotes diferentes (apk add wireguard-tools). FreeBSD também funciona, mas a sintaxe de configuração diverge. O servidor inicializa em cerca de 90 segundos; as credenciais root são exibidas uma vez no painel.
Um pacote, já no kernel.
Acesse via SSH como root. Em seguida:
apt update
apt install -y wireguard qrencode
É isso. O WireGuard está no kernel Linux principal desde a versão 5.6 (março de 2020), então o apt instala apenas as ferramentas do espaço do usuário (wg, wg-quick) — sem compilação de módulo, sem DKMS, sem reconstrução do kernel. O pacote qrencode será útil no passo 5 para enviar a configuração do cliente para um telefone como QR.
Ative o encaminhamento IP agora para não esquecer na etapa 4:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
Gerar chaves, escrever wg0.conf. Dois minutos.
Gerar um par de chaves do servidor:
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
Agora gere um par de chaves de cliente por dispositivo:
wg genkey | tee laptop_private.key | wg pubkey > laptop_public.key
wg genkey | tee phone_private.key | wg pubkey > phone_public.key
Crie /etc/wireguard/wg0.conf com as configurações do servidor + um bloco [Peer] por cliente:
[Interface]
PrivateKey = <contents of server_private.key>
Address = 10.66.66.1/24, fd00:66::1/64
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# laptop
PublicKey = <contents of laptop_public.key>
AllowedIPs = 10.66.66.2/32
[Peer]
# phone
PublicKey = <contents of phone_public.key>
AllowedIPs = 10.66.66.3/32
Abra UDP 51820. Bloqueie o restante.
Se você usar UFW (padrão no Ubuntu):
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH (consider port-knocking or VPN-only in production)
ufw allow 51820/udp # WireGuard
ufw enable
Os bastions da NordBastion também têm um firewall upstream gerenciado a partir do painel — você pode replicar as mesmas regras lá para defesa em profundidade. O firewall no nível do bastion bloqueia antes que o pacote chegue ao VPS, o que economiza CPU em varredura volumétrica.
Uma dica de privacidade que vale seguir: altere o ListenPort do WireGuard de 51820 (o padrão, que os scanners procuram) para uma porta aleatória entre 1024 e 65535. Isso não melhora a segurança contra um adversário determinado, mas reduz o ruído de scanners aleatórios.
Inicie o túnel. Primeiro cliente conectado em segundos.
No servidor:
systemctl enable --now wg-quick@wg0
wg # status: should show interface up
Crie um arquivo de configuração do cliente (laptop.conf) no servidor e copie-o para o laptop:
[Interface]
PrivateKey = <contents of laptop_private.key>
Address = 10.66.66.2/24, fd00:66::2/64
DNS = 1.1.1.1, 9.9.9.9 # or your favourite privacy resolver
[Peer]
PublicKey = <contents of server_public.key>
Endpoint = <server-ip>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Para celular, passe a configuração pelo qrencode e escaneie com o aplicativo WireGuard:
qrencode -t ansiutf8 < phone.conf
É isso. O cliente conecta, o túnel sobe, e o laptop / telefone está agora acessando a internet pelo bastion Nórdico. Verifique com: curl https://api.ipify.org — o IP retornado é o IP público do VPS, não o da sua casa.
Perguntas, respondidas.
Oito perguntas que um cliente VPN self-hosted de primeira vez faz.
Por que auto-hospedar uma VPN WireGuard em vez de usar NordVPN / Mullvad / ProtonVPN?
Três motivos reais. (1) A cadeia de confiança encolhe. Uma VPN comercial é "confie nesta empresa para não registrar você"; uma auto-hospedada é "confie neste provedor de VPS para não registrar você" — um participante a menos. (2) O endpoint da VPN é exclusivamente seu. IPs de saída de VPN comerciais são compartilhados entre milhares de usuários e bloqueados por muitos serviços; seu endpoint auto-hospedado é um IP novo e limpo que ninguém sinalizou. (3) Custo. Um Sentinel NordBastion custa $5,90/mês e executa uma VPN com largura de banda ilimitada; VPNs comerciais custam $5-$15/mês para infraestrutura compartilhada.
Por que WireGuard em vez de OpenVPN?
O WireGuard é menor (4.000 linhas de código de kernel vs ~100.000 do OpenVPN), mais rápido (frequentemente 3-5× maior throughput no mesmo hardware), mais simples de configurar (um único arquivo de configuração em vez de toda a plumbing de CA/cert/dhparam) e amigável para auditoria. Está no kernel Linux principal desde a versão 5.6 (2020), sem etapa de compilação. O OpenVPN continua útil para compatibilidade legada e tráfego baseado em TCP; para todo o resto, o WireGuard é o padrão moderno.
Meu ISP sabe que estou rodando uma VPN?
Seu ISP vê tráfego UDP criptografado na porta 51820 indo para um IP NordBastion. Esse padrão é reconhecível como tráfego VPN; o que está do outro lado não é. Se "usar uma VPN" é sensível no seu contexto, execute o WireGuard na porta 443 (ele fala UDP e não TCP, mas a porta é a mesma do HTTPS), e considere um wrapper de ofuscação como udp2raw se o ISP bloquear ativamente os handshakes do WireGuard.
Posso usar o VPS como VPN E como servidor para outras coisas?
Sim, padrão comum. O VPS roda WireGuard mais o que mais você precisar — um site pessoal, um nó Bitcoin, uma instância Mastodon. As regras de firewall mantêm o tráfego VPN e os serviços públicos isolados; iptables/nft pode rotear clientes VPN para serviços locais específicos e não para outros.
E quanto à geolocalização de IP — os sites vão achar que estou na Suécia?
Sim — seu IP de saída é o bastion NordBastion que você escolheu. Serviços de streaming que restringem por IP vão tratá-lo como sueco (bastion Stockholm), finlandês (Helsinki), norueguês (Oslo) ou islandês (Reykjavík). Sites bancários que sinalizam "login de novo país" vão acionar suas regras de fraude; esse é o comportamento normal, não um problema de VPN.
Quantos clientes um servidor WireGuard consegue lidar?
Praticamente ilimitado para uso pessoal. Cada peer adiciona alguns KB de memória. A restrição é o bandwidth e o uplink do bastion, não o daemon WireGuard em si. O tier Sentinel com bandwidth ilimitado e uplink de 1 Gbps vai saturar muito antes do processo WireGuard perceber.
Devo rodar isso em um VPS dedicado ou compartilhar com outros workloads?
Um VPS dedicado é mais limpo do ponto de vista de OPSEC — a única coisa associada ao IP é "minha VPN pessoal". Se você misturar cargas de trabalho, o tráfego da VPN e o tráfego da outra carga compartilharão um IP de saída, e qualquer problema de reputação de um deles se espalha para o outro. Por $5,90/mês é razoável mantê-los separados.
WireGuard self-hosted tem capacidade de kill-switch?
Sim, do lado do cliente. As configurações do WireGuard suportam um bloco PostUp / PostDown onde você adiciona regras iptables que descartam tráfego não-VPN quando o túnel está ativo; você também pode configurar o SO do cliente para recusar conexões não-VPN por padrão. Vários aplicativos gerenciadores de código aberto (wg-easy, WireGuard-UI, Pi-VPN) fazem isso por você.
Solicite um Sentinel e inicie sua própria VPN.
Última revisão · 2026-05-20 · Testado · Debian 12 · WireGuard 1.0.20210914
Anonymous VPS hosting in 2026 — the cluster.
This guide is one spoke of a larger series. The pillar walks the three privacy layers end to end — the sibling spokes below dive into the specifics.
Three independent layers — signup, payment, network — explained, legal context included, common mistakes flagged.
A v3 .onion address that survives reboots and IP changes.
What “no KYC” actually means — and what it does not.
Why Sweden, Finland, Norway and Iceland — the legal floor of each.
XMR end-to-end — wallet, transfer, confirmations, change.