Um Raspberry Pi 5 de 8 GB é um excelente servidor WireGuard sempre ligado. Espere um débito na ordem do seu upload doméstico (comumente ~80 Mbps), um consumo de energia em torno de 6-8W, e um custo total de 5 anos bem abaixo de uma única subscrição anual do NordVPN. Este guia fornece todos os comandos, na ordem correta, sem omissões.
Para decidir se um Pi 5 é a escolha certa em comparação com um VPS na nuvem ou Tailscale, comece com a nossa comparação das melhores soluções VPN auto-hospedadas de 2026.
Por que escolher o Raspberry Pi 5 para uma VPN doméstica
Preços verificados em outubro de 2026: a subida do custo da memória levou o Raspberry Pi 5 de 8 GB de 80 $ no lançamento para 175 $ de preço oficial (aumentos anunciados pela Raspberry Pi a 2 de fevereiro e a 1 de abril de 2026, depois de um primeiro em dezembro de 2025), e o modelo de 4 GB para 110 $. Um kit completo de 8 GB custa agora cerca de 220 $. Face a um VPS a 5,50 €/mês, descontando cerca de 11 €/ano de eletricidade do Pi, o retorno demora cerca de 4 anos (cerca de 3 anos com uma placa de 4 GB, suficiente para WireGuard + Pi-hole). Se já tem um Pi 4 ou Pi 5 numa gaveta, o servidor em casa sai quase de graça; se o compraria só para a VPN, um Contabo Cloud VPS 4 a 5,50 €/mês (link de afiliado) custa menos nos primeiros anos. Se preferir um fornecedor dos EUA com 30 dias de reembolso, o VPS Basic da Ultahost custa 5,52 $ por mês em 24 meses (1 GB de RAM, IPv4 dedicado, lido a 21 de outubro de 2026), suficiente para um servidor WireGuard com poucos dispositivos.
Mas o custo não é a única razão. Argumentos concretos para um Pi em vez de um VPS:
- Controlo total de hardware e logs - Nada sai de sua casa. Um VPS, mesmo encriptado, envolve um fornecedor a gerir o hipervisor.
- Acesso LAN nativo - A partir da sua conexão VPN, pode aceder ao seu NAS, impressoras, câmaras IP diretamente via IP local. Impossível com um VPS.
- Co-instalação do Pi-hole - Bloqueio de anúncios DNS para todos os seus dispositivos móveis, em qualquer lugar do mundo. Uma lista de bloqueio típica elimina uma parte significativa das consultas DNS (pode ver o valor exato no painel do Pi-hole).
- Aprendizagem prática de redes - A melhor maneira de entender NAT, encaminhamento IP, PKI e WireGuard é configurar tudo você mesmo.
Limitações honestas: depende da conectividade e energia doméstica. Para uma VPN de viagem crítica, veja a seção de manutenção.
Hardware necessário
Aqui está uma configuração de hardware típica para esta montagem, com preços indicativos em EUR/USD no início de 2026:
| Componente | Modelo | Preço indicativo |
|---|---|---|
| Raspberry Pi 5 | 8 GB RAM (recomendado) | 175 $ preço oficial, out. 2026 (4 GB: 110 $) |
| Fonte de alimentação | USB-C 27W oficial (PI-PSU) | ~$12 / €12 |
| microSD | SanDisk Extreme 32 GB UHS-I | ~$12 / €12 |
| Caixa + dissipador | Argon NEO 5 ou caixa oficial + Cooler Ativo | ~$15-20 / €15-20 |
| Cabo Ethernet | Cat 5e/6, 2 m | ~$5 / €5 |
| Total | ~220 $ uma vez (~155 $ com 4 GB) |
Por que 8 GB de RAM? Se co-instalar Pi-hole + potencialmente Nextcloud ou Home Assistant, 4 GB podem ser insuficientes. Com 8 GB, tem margem para 3 anos de evolução da configuração.
Por que a fonte oficial de 27W? O Pi 5 sob carga de VPN + Pi-hole pode consumir até 12W no rail USB-C. Uma fonte barata de 15W causa estrangulamento silencioso da CPU (subtensão). A oficial garante tensão estável.
Ethernet é obrigatório: nunca coloque um servidor VPN em WiFi. A latência extra (2-5 ms) e micro-desconexões WiFi tornam o túnel instável. Cabo direto ao router.
Configuração do SO - Raspberry Pi OS 64-bit
Gravação do cartão
- Descarregue o Raspberry Pi Imager (Windows/Mac/Linux)
- Selecione Raspberry Pi OS Lite 64-bit (Bookworm - Debian 12) - não é necessário ambiente de trabalho
- Clique no ícone de engrenagem (opções avançadas):
- Nome do host:
vpn-pi - Ativar SSH: chave pública (cole o seu
~/.ssh/id_ed25519.pub) - Nome de utilizador:
eric(nãopi, desativado por padrão desde 2022) - Localização: o seu fuso horário, layout de teclado correto
- Nome do host:
- Grave no microSD. Insira no Pi, ligue o Ethernet, ligue a energia.
Primeiro acesso SSH e IP estático
# Do seu Mac/PC, encontre o Pi na sua rede local
ssh eric@vpn-pi.local
# IP estático em /etc/dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Adicione no final do arquivo:
interface eth0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
sudo reboot
# Reconectar no IP fixo:
ssh eric@192.168.1.10
Firewall UFW
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH (mude se alterar a porta)
sudo ufw allow 51820/udp # WireGuard
sudo ufw enable
sudo ufw status verbose
Instalação do WireGuard
Prefere não copiar as chaves à mão? O nosso gerador de configuração WireGuard gratuito escreve o wg0.conf do Pi e uma configuração por cliente (com código QR para os telemóveis) num minuto, com as chaves geradas no seu navegador e nunca enviadas. Defina como endpoint o seu nome DuckDNS (configurado mais abaixo), confirme que eth0 na linha PostUp corresponde à interface do Pi e retome o guia no passo de reencaminhamento IP e arranque. O gerador é gratuito e sem conta, até 250 dispositivos, e a sua exportação ZIP junta cada .conf de cliente e o seu código QR em PNG, prático para configurar um escritório ou uma família inteira de uma só vez.
Gere aqui as suas configurações WireGuard
Introduza o endereço do servidor, escolha o número de dispositivos e leia cada código QR na app.
Todas as chaves são geradas no seu navegador (Curve25519 / X25519). Nada é enviado para os nossos servidores - a sua configuração permanece 100% privada.
IPv4 público ou domínio da máquina que vai correr o WireGuard. Ainda sem servidor? Deixe vazio e adicione depois.
Grátis, sem conta: até 250 clientes, cada .conf com o seu código QR, e um ZIP com todos os ficheiros.
Tudo o que o dispositivo envia para a internet passa pelo seu servidor.
Definições avançadasSub-rede do túnel, DNS, redes site-to-site. Os valores predefinidos servem para a maioria dos casos.
Opcional. Indique a sub-rede local atrás do servidor e/ou atrás de um cliente que funciona como gateway do local (um router, um Raspberry Pi, um NAS). O gerador adiciona cada rede aos AllowedIPs do servidor, dá a cada peer as rotas para as outras redes e escreve as regras de reencaminhamento nos gateways. Deixe um campo vazio para um cliente normal.
O que descarregas
wg0.conf
para o servidor
client1.conf
um por dispositivo
QR (exemplo)
para a app móvel
Pré-visualização ilustrativa: linhas e QR fictícios, nenhuma chave real. Os teus ficheiros reais são gerados no teu navegador ao clicar.
Pacotes e geração de chaves
sudo apt update && sudo apt upgrade -y
sudo apt install -y wireguard qrencode
# Gerar chaves do servidor
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
sudo chmod 600 /etc/wireguard/server_private.key
# Exibir chaves
SERVER_PRIVKEY=$(sudo cat /etc/wireguard/server_private.key)
SERVER_PUBKEY=$(sudo cat /etc/wireguard/server_public.key)
echo "Privada: $SERVER_PRIVKEY"
echo "Pública: $SERVER_PUBKEY"
Configuração do servidor wg0.conf
sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVKEY>
# NAT - substitua eth0 pela sua interface (verifique com: ip route | grep default)
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
Encaminhamento IP e inicialização
# Ativar encaminhamento IP
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# Iniciar WireGuard
sudo systemctl enable --now wg-quick@wg0
sudo wg show # deve exibir a interface wg0 ativa
Configuração de rede - router, DuckDNS, MTU
Encaminhamento de portas no seu router
Cada ISP tem uma interface de administração diferente, mas a regra é a mesma: UDP, porta externa 51820 → IP local 192.168.1.10, porta interna 51820.
Teste a partir de outra rede (4G móvel): nc -zvu YOUR_PUBLIC_IP 51820.
Porta reencaminhada mas o teste continua a falhar? Verifique o CGNAT
Muitas ligações de fibra, cabo e 4G/5G já não lhe dão um IPv4 público só seu: o operador partilha um endereço entre vários clientes (CGNAT), e nenhuma regra no router consegue abrir uma porta que está atrás do NAT do operador. Veja o endereço WAN na página de estado do router: se começar por 100.64 a 100.127, ou for diferente do que mostra curl -4 ifconfig.me num computador de casa, está atrás de um CGNAT. O nosso verificador de porta WireGuard gratuito faz essa comparação no navegador.
Três saídas: pedir um IPv4 público ao operador (alguns fazem-no de graça, muitos não), ligar por IPv6 se a sua linha o tiver (falha no Wi-Fi de hotéis e em redes móveis sem IPv6), ou instalar o servidor WireGuard num VPS pequeno com o seu próprio IPv4 público e deixar o Pi ligar-se a ele como cliente com PersistentKeepalive = 25, para continuar a chegar à rede de casa. Esse relé é explicado passo a passo em WireGuard atrás de CGNAT.
★ Datacenter GDPR em Nuremberg · ✓ IPv4 dedicado incluído · porta de 200 Mbit/s
Um IPv4 público sempre acessível ao Pi e aos telemóveis → Contabo Cloud VPS 45,50 €/mês (verificado a 18/10/2026, primeiros 24 meses) · IPv4 público fixo · 4 vCPU, 8 GB de RAM→O link da Contabo é um link de afiliado: se encomendar através dele recebemos uma comissão, sem custo adicional para si. O tráfego de internet sai então com o endereço do VPS, não com o de casa, a menos que o volte a encaminhar pelo Pi.
DuckDNS - DNS dinâmico gratuito
# Crie uma conta em duckdns.org, anote o seu token
# Crie o script de atualização
mkdir -p ~/duckdns
cat > ~/duckdns/duck.sh << 'EOF'
#!/bin/bash
echo url="https://www.duckdns.org/update?domains=myvpn&token=YOUR_TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -
EOF
chmod +x ~/duckdns/duck.sh
# Cron a cada 5 minutos
(crontab -l 2>/dev/null; echo "*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1") | crontab -
Otimização de MTU
O WireGuard tem por padrão MTU 1420. Se vir pacotes fragmentados:
# Testar fragmentação
ping -M do -s 1392 8.8.8.8
# Se falhar, adicione em wg0.conf [Interface]:
# MTU = 1380
Para detalhes completos sobre templates de configuração do WireGuard e casos de borda de MTU, veja o nosso guia de templates de configuração do WireGuard.
Configuração do cliente - Mac, Windows, iOS, Android
Gerar uma configuração de cliente
# No servidor, para cada cliente:
CLIENT_PRIVKEY=$(wg genkey)
CLIENT_PUBKEY=$(echo $CLIENT_PRIVKEY | wg pubkey)
cat << EOF
[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.8.0.2/32
DNS = 10.8.0.1
[Peer]
PublicKey = $SERVER_PUBKEY
Endpoint = myvpn.duckdns.org:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF
Adicione o cliente ao servidor:
sudo wg set wg0 peer $CLIENT_PUBKEY allowed-ips 10.8.0.2/32
sudo wg-quick save wg0 # persiste a configuração
Código QR para iOS e Android
# Salvar configuração do cliente num arquivo
cat > /tmp/client1.conf << 'EOF'
[Interface]
PrivateKey = CLIENT_PRIVKEY_HERE
Address = 10.8.0.2/32
DNS = 10.8.0.1
[Peer]
PublicKey = SERVER_PUBKEY_HERE
Endpoint = myvpn.duckdns.org:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF
# Exibir código QR no terminal
qrencode -t ansiutf8 < /tmp/client1.conf
# Apagar após escanear (não deixe chaves privadas por aí)
rm /tmp/client1.conf
Escaneie com a aplicação oficial do WireGuard (App Store iOS / Google Play). A conexão é estabelecida em <2 segundos.
macOS e Windows: descarregue a aplicação oficial do WireGuard, importe o arquivo .conf diretamente.
Para comparar com a alternativa Tailscale que elimina toda esta configuração manual, leia o guia do nó de saída do Tailscale. E para entender como o Cloudflare WARP se compara à sua configuração no Pi, veja WARP vs WireGuard auto-hospedado.
Para utilizadores que viajam para países censurados (China, Irão, Rússia): WireGuard num Pi 5 será bloqueado - o GFW identifica sessões WireGuard. Utilizadores avançados podem preferir V2Ray com VLESS + REALITY para melhor resistência à censura num VPS na nuvem com um nó de saída em Singapura ou Tóquio. A configuração do Pi 5 continua ideal para privacidade doméstica, acesso LAN local e países sem inspeção profunda de pacotes.
Otimizações e manutenção
Atualizações de segurança automáticas
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
# Escolha "Sim" para ativar atualizações automáticas de segurança
Monitorização com journalctl
# Logs do WireGuard em tempo real
sudo journalctl -u wg-quick@wg0 -f
# Ver peers conectados e estatísticas
sudo wg show
# Tráfego por peer (bytes recebidos/enviados)
sudo wg show all dump
fail2ban contra scans SSH
sudo apt install -y fail2ban
cat | sudo tee /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 3600
findtime = 600
EOF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Backup da configuração do WireGuard
# Backup automático semanal para drive USB ou NAS local
(crontab -l; echo "0 3 * * 0 sudo cp -r /etc/wireguard ~/backup/wg-$(date +%Y%m%d)") | crontab -
Swap se usar 4 GB de RAM
Se estiver a usar o modelo de 4 GB com Pi-hole + WireGuard ativo:
sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile # Defina CONF_SWAPSIZE=1024
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
Monitorizar temperatura
Verifique a temperatura sob a sua própria carga. Sem caixa nem dissipador, um Pi 5 funciona muito mais quente - o estrangulamento da CPU começa aos 80°C, por isso é recomendado um dissipador ou caixa.
# Temperatura em tempo real
watch -n 2 vcgencmd measure_temp
Para uma visão completa sobre a configuração avançada de rede que precisará ao executar múltiplos clientes simultâneos, veja o nosso guia de VPN multi-cliente WireGuard da Contabo - os conceitos de NAT são idênticos no Pi.
Para ter o essencial à mão: a WireGuard Cheat Sheet gratuita (PDF de 5 páginas em inglês, download direto, sem registo) reúne as tabelas de keepalive e MTU, os comandos wg genkey/wg pubkey/wg genpsk e as quatro verificações de servidor numa linha a correr primeiro quando um túnel não passa tráfego. O WireGuard Self-Hosting Kit pago (9 USD, em inglês) acrescenta uma checklist de diagnóstico com 12 causas e 11 modelos de configuração.
O que esperar: débito na ordem do seu upload doméstico, latência adicional de milissegundos de um dígito na LAN, um consumo de energia de ~6-8W, e segurança sólida com fail2ban e SSH apenas com chave. Uma coisa a planear: uma falha de energia em casa derruba o túnel - um pequeno UPS (por exemplo, um APC 500VA) mantém-no ativo durante cortes breves.
O WireGuard é suficiente para a maioria dos casos de uso de auto-hospedagem. No entanto, utilizadores avançados podem preferir V2Ray para melhor resistência à censura - particularmente útil se precisar de se conectar a partir da China, Irão ou Rússia, onde os protocolos VPN padrão são ativamente bloqueados.
Para ligar os seus pares rapidamente, o nosso gerador de configuração WireGuard gratuito cria uma configuração de servidor e cliente coerente no seu navegador, pronta a colocar no Pi.
Link de afiliado
★ Datacenter GDPR em Nuremberg · ✓ IPv4 dedicado incluído · porta de 200 Mbit/s
Aloje a sua VPN no seu próprio VPS → ContaboCloud VPS 4 · 5,50 €/mês · Cartão ou PayPal · pedidos de fora da UE aceites→Preço verificado em 17/10/2026, prazo de 24 meses


