VPNSmith
self-host-vpnINFO

Configuração passo a passo de VPN no Contabo VPS (Ubuntu 22.04) — guia 2026

Tutorial completo: encomendar Contabo VPS S, reforçar SSH + UFW, instalar WireGuard, gerar peers, testar fugas. 20 minutos, scripts incluídos.

Por Eric Gerard · Fondateur · VPNSmith — Spécialiste self-host VPN & VPS GDPR9 min de leituraPhoto via Unsplash

Quer uma VPN própria. Sem auditoria anual de "não-registos", sem IP partilhado com 4.000 estranhos, sem duplicação de preço quando a promoção termina. Este guia coloca o WireGuard a funcionar num Contabo VPS em 20 minutos, desde a inscrição até ao primeiro curl ifconfig.me devolvendo o IP do seu VPS alemão.

Esta é a configuração exata que recomendamos para um túnel auto-hospedado em produção. A Contabo anuncia uma ligação de 200 Mbit/s, e a localização em Nuremberga, no centro da Europa, mantém a latência baixa para clientes FR/EU.

Porquê Contabo em vez de Hetzner, OVH ou DigitalOcean

A escolha do fornecedor de VPS para uma VPN auto-hospedada não é trivial e condiciona a relação preço-desempenho-jurisdição que terá nos próximos 3 a 5 anos. Comparando as especificações publicadas da Contabo, Hetzner Cloud e OVH, o veredicto resume-se a três eixos: preço, desempenho, jurisdição.

No preço, o Contabo VPS S Cloud a €4,99/mês para 4 vCPU / 8 GB RAM / 200 Mbps é imbatível na Europa. O Hetzner CX22 tem um equivalente a €4,15/mês, mas apenas 2 vCPU e 4 GB RAM, metade da capacidade se quiser hospedar Nextcloud, Pi-hole ou Vaultwarden juntamente com a VPN. O OVH VPS Value a €4,50/mês oferece 2 vCPU / 4 GB / 1 vCPU limitado a 20% de roubo de CPU em certos períodos — o pior negócio dos três na prática.

No desempenho, ambos os hosts anunciam largura de banda ampla para uma VPN pessoal (Contabo uma ligação de 200 Mbit/s, Hetzner uma porta gigabit partilhada). Para uma VPN auto-hospedada, mesmo uma ligação de 200 Mbit/s é mais do que suficiente para saturar a maioria das ligações domésticas, por isso o débito máximo raramente é o fator decisivo — jurisdição e preço geralmente importam mais. Execute iperf3 você mesmo a partir da sua própria ligação se precisar de números exatos.

Na jurisdição, a Contabo tem o seu principal DC em Nuremberga (Alemanha), Hetzner em Falkenstein (também Alemanha), OVH em Roubaix ou Estrasburgo (França). Alemanha e França têm quadros comparáveis de GDPR e ambos estão fora do US CLOUD Act. Diferença prática: a empresa-mãe da Contabo é puramente alemã (GmbH Munique), Hetzner igual (GmbH Gunzenhausen), OVHcloud está listada na bolsa de Paris desde 2021, o que adiciona uma camada de pressão de acionistas que as outras duas não têm. Para uma VPN com foco na privacidade, preferimos ligeiramente as GmbHs alemãs não listadas.

O diferenciador final é o suporte por email. A Contabo responde tipicamente entre 4 e 24h em tickets, Hetzner entre 2 e 12h, OVH entre 24h e 5 dias. Para uma VPN pessoal onde pode resolver a maioria dos problemas você mesmo via SSH, o suporte importa pouco — exceto no dia em que o seu VPS não reinicia após uma atualização de kernel e precisa de acesso à consola de resgate. Nesse dia, Hetzner ganha facilmente.

Passo 1 — Encomendar o Contabo VPS

Vá a contabo.com via nosso link /go/contabo-vps-2y e escolha:

  • Plano: VPS S Cloud (4 vCPU AMD EPYC, 8 GB RAM, 50 GB NVMe, 200 Mbps garantidos, 32 TB/mês de tráfego)
  • Compromisso: 24 meses (fixa o preço em 4,99 €/mês, mensal é 8,49 €)
  • SO: Ubuntu 22.04 LTS (24.04 também funciona, mas 22.04 mantém-se mais estável para pacotes WireGuard)
  • Datacenter: Nuremberga (DE) — melhor latência França/Europa + jurisdição GDPR alemã
  • Senha root: gere uma forte, guarde temporariamente no seu gestor de senhas (apague após criar utilizador não-root)
  • Add-ons: desmarque tudo (backups Contabo não são necessários, fazemos backup nós mesmos)

Total antecipado ~119 € ao longo de 24 meses. Na ativação, recebe um email com o IP público e senha root. Planeie de 5 minutos a 4 horas dependendo do horário. Horas de pico (18h-22h CET, terça/quarta-feira) são mais lentas.

Divulgação: /go/contabo-vps-2y é um link patrocinado. Se adquirir o VPS, ganhamos uma comissão sem custo para si. Os nossos preços não são afetados. Não escreveríamos este guia se não estivéssemos a usar a Contabo nós mesmos.

Passo 2 — Primeiro SSH e reforço

No seu terminal local:

ssh root@SEU.IP.PUBLICO
# Aceite a impressão digital, cole a senha root

Uma vez conectado, atualize primeiro:

apt update && apt upgrade -y
apt install -y curl wget unzip fail2ban

Crie um utilizador não-root (SSH root será desativado):

adduser eric
# Siga as instruções (senha forte, nome completo opcional)
usermod -aG sudo eric

Copie a sua chave pública SSH do seu MacBook local (em outro terminal):

ssh-copy-id eric@SEU.IP.PUBLICO
# Se ssh-copy-id estiver em falta: cat ~/.ssh/id_ed25519.pub | ssh root@IP "mkdir -p /home/eric/.ssh && cat >> /home/eric/.ssh/authorized_keys && chown -R eric:eric /home/eric/.ssh && chmod 700 /home/eric/.ssh && chmod 600 /home/eric/.ssh/authorized_keys"

Teste o login não-root num novo terminal sem fechar o primeiro:

ssh eric@SEU.IP.PUBLICO
# Deve fazer login apenas com a frase-passe da chave SSH

Se funcionar, desative o SSH root e a autenticação por senha em /etc/ssh/sshd_config (a partir do shell root):

sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd

Agora a porta 22 permanece aberta mas apenas com chave SSH e apenas para eric. Sem mais risco de força bruta no root.

Passo 3 — Firewall UFW

# Ainda como root
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp comment 'SSH'
ufw allow 51820/udp comment 'WireGuard'
ufw enable
# Responda y
ufw status verbose

O UFW está agora ativo. Saia da sessão root e continue como eric com sudo.

Passo 4 — Instalar WireGuard

# Como eric com sudo
sudo apt install -y wireguard qrencode iptables-persistent

Gerar chaves do servidor:

sudo bash -c 'umask 077 && wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub'
sudo cat /etc/wireguard/server.pub
# Anote a chave pública, vai precisar dela para os clientes

Identifique a interface pública (pode ser eth0, ens3, ens18, etc.):

ip route | awk '/default/ {print $5}'
# Na Contabo geralmente eth0 ou ens18

Passo 5 — Configurar /etc/wireguard/wg0.conf

Filas de servidores num data center
Filas de servidores num data center

Edite (ajuste eth0 se diferente acima):

sudo nano /etc/wireguard/wg0.conf

Cole isto (substitua SERVER_PRIVATE_KEY pelo conteúdo de /etc/wireguard/server.key):

[Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 10.66.66.1/24
ListenPort = 51820
MTU = 1420

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Ativar ip_forward:

sudo bash -c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf'
sudo sysctl -p
# Verifique: sysctl net.ipv4.ip_forward (deve dizer 1)

Iniciar WireGuard:

sudo systemctl enable --now wg-quick@wg0
sudo wg show
# Deve mostrar a interface wg0, chave pública, porta de escuta

Passo 6 — Criar o primeiro peer (cliente)

No servidor, gere uma chave de cliente:

sudo mkdir -p /etc/wireguard/clients
sudo bash -c 'umask 077 && wg genkey | tee /etc/wireguard/clients/mac.key | wg pubkey > /etc/wireguard/clients/mac.pub'
sudo cat /etc/wireguard/clients/mac.pub
# Anote esta chave pública

Adicione o peer ao servidor wg0.conf:

sudo bash -c 'cat >> /etc/wireguard/wg0.conf <<EOF

[Peer]
# MacBook
PublicKey = CLIENT_MAC_PUBKEY
AllowedIPs = 10.66.66.2/32
EOF'

Recarregue a configuração sem desligar:

sudo wg syncconf wg0 <(wg-quick strip wg0)

Gerar o ficheiro do cliente (transfira de forma segura para MacBook/iPhone):

sudo bash -c 'cat > /etc/wireguard/clients/mac.conf <<EOF
[Interface]
PrivateKey = $(cat /etc/wireguard/clients/mac.key)
Address = 10.66.66.2/24
DNS = 9.9.9.9, 149.112.112.112
MTU = 1420

[Peer]
PublicKey = $(cat /etc/wireguard/server.pub)
Endpoint = SEU.IP.PUBLICO:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
EOF'

Para iPhone / Android, codifique como QR:

sudo qrencode -t ansiutf8 &lt; /etc/wireguard/clients/mac.conf

Digitalize este QR a partir da app WireGuard (App Store, Play Store) e o túnel está configurado.

Para macOS / Linux desktop, obtenha o .conf localmente:

# No seu Mac
scp eric@SEU.IP.PUBLICO:/etc/wireguard/clients/mac.conf ~/Downloads/
# Importe da app oficial WireGuard

Passo 7 — Testes de fuga

Ative o túnel no seu cliente, depois num navegador:

  1. ipleak.net: o seu IP público deve ser o VPS Contabo Nuremberga. Geo = Alemanha. Se ainda vir o IP do seu ISP francês → o túnel não está a encaminhar, verifique AllowedIPs do cliente.
  2. dnsleaktest.com → botão "Extended test": o DNS retornado deve ser Quad9 (9.9.9.9) ou o seu VPS. Se vir DNS Orange/SFR/Free → fuga de DNS, verifique DNS = 9.9.9.9 no .conf do cliente.
  3. browserleaks.com/webrtc: nenhum IP local deve vazar via WebRTC. Se vazar → desative WebRTC no navegador (uBlock Origin → "Prevent WebRTC from leaking").
  4. curl ifconfig.me a partir do terminal do cliente: deve retornar o IP do VPS.

Tudo verde: a sua VPN auto-hospedada funciona. Bem-vindo.

Passo 8 — Backups e manutenção

O túnel está a funcionar. Bons hábitos:

Custo total ao longo de 5 anos

Para comparar honestamente com um serviço VPN comercial:

OpçãoCusto 24 mesesCusto 5 anos (extrapolado)Largura de banda
Contabo VPS S Cloud (auto-hospedado)119 €~298 €200 Mbps, 32 TB/mês
NordVPN 2 anos + renovação anual72 €~600 €"Ilimitado" partilhado
ExpressVPN 1 ano + renovação100 €~750 €"Ilimitado" partilhado

E no VPS Contabo também pode hospedar: um DNS Pi-hole, Nextcloud, Vaultwarden, um bot Discord, uma instância pessoal Mastodon. A VPN em si usa ~1% de CPU e RAM em uso pessoal normal.

Veredicto

WireGuard no Contabo VPS S a 4,99 €/mês continua a ser a nossa escolha #1 para VPN auto-hospedada. Configuração em ~20 minutos, uma ligação anunciada de 200 Mbit/s, baixa latência da Europa Ocidental, jurisdição GDPR alemã. A verdadeira desvantagem: suporte apenas por email, não ideal durante uma interrupção urgente.

Para começar: Contabo VPS S Cloud via nosso link /go/contabo-vps-2y. Pode cancelar nos primeiros 30 dias se a configuração não se adequar, conforme os termos da Contabo.

A nossa revisão completa do Contabo VPS detalha pontos fortes e fracos em 5 categorias (desempenho, preço, RAM/CPU, suporte, painel) com a divisão de pontuação.

★ Datacenter GDPR em Nuremberg · ✓ IPv4 dedicado incluído · 200+ Mbps garantidos

Self-host your VPN on your own VPS → ContaboFull root access · public IPv4 · pick your region