↓Salta al contenuto principale
Alemasone

VPN self-hosted: as melhores soluções para a tua rede

Compara WireGuard, OpenVPN e Tailscale para criar uma VPN pessoal no Raspberry Pi ou num servidor: desempenho, configuração e limites.

8 min de leitura Atualizado a
Raspberry Pi ligado a um router com cabos de rede numa secretária
Nesta página
Uma VPN instalada em tua casa serve para uma coisa específica: aceder à tua rede de fora de forma cifrada, para chegares ao servidor de ficheiros, às câmaras ou ao computador do escritório. Não esconde a navegação, porque o tráfego sai de qualquer forma da tua linha com o teu endereço IP. Se a instalares num servidor alugado, por outro lado, tudo muda: veremos isso mais abaixo.

Esta é a distinção que decide tudo. Se queres esconder-te do teu operador ou contornar bloqueios geográficos, uma VPN em casa não faz esse trabalho. Se, pelo contrário, queres aceder aos teus dispositivos remotamente com segurança, geri-la tu próprio é a melhor solução: de graça e sem intermediários.

As opções #

SoluçãoDificuldadeDesempenhoNotas
WireGuardMédiaExcelenteO padrão atual, super leve
OpenVPNAltaBomMaduro, atravessa melhor redes restritivas
TailscaleBaixaExcelenteBaseado em WireGuard, configuração automática
wg-easyBaixaComo o WireGuardWireGuard em Docker com painel web
PiVPNBaixaComo o WireGuardInstalação guiada no Raspberry Pi, já não é desenvolvido
NetBird e HeadscaleMédiaExcelenteAlternativas open source com coordenação gerida por ti

WireGuard #

É o padrão de hoje. O código é minimalista, a cifragem é moderna, é muito mais rápido que o OpenVPN e consome menos bateria no telemóvel. Está integrado no kernel Linux e muitos routers já o suportam. A autenticação funciona como com SSH: cada dispositivo tem um par de chaves e o servidor aceita apenas as que conhece.

Logótipo do WireGuard, o protocolo VPN leve integrado no kernel Linux e em routers recentes
O WireGuard é hoje a referência para uma VPN auto-hospedada

A configuração não é difícil, mas é toda manual: geras as chaves, escreves um ficheiro de configuração para o servidor e outro para cada dispositivo, e abres uma porta no router. Se preferires um painel web, o wg-easy executa o WireGuard num contentor Docker e permite-te adicionar dispositivos com um clique, através de um QR code para digitalizar.

OpenVPN #

É mais antigo, mais pesado e mais lento, mas tem duas vantagens reais: pode funcionar em TCP na porta 443, permitindo passar por redes empresariais e de hotéis que bloqueiam todo o resto, e é suportado praticamente em todo o lado.

Logótipo do OpenVPN, o protocolo maduro capaz de passar pela porta 443 em redes restritivas
O OpenVPN continua a ser útil onde tudo o resto é bloqueado

Se tiveres de te ligar através de redes com muitos bloqueios, continua a ser a escolha mais fiável entre as VPNs clássicas.

Tailscale #

Aqui a abordagem muda: utiliza o WireGuard como motor, mas gere ela própria a ligação entre os dispositivos. Não precisas de abrir portas no router nem de ter um IP público: os dispositivos encontram-se através de um serviço de coordenação e, quando podem, ligam-se diretamente.

O plano Personal é gratuito, com dispositivos ilimitados até seis utilizadores, mas apenas para uso não comercial. É o caminho mais simples de todos: instalas a app em cada dispositivo, fazes login com a tua conta e está feito. Com um exit node, podes também fazer com que todo o tráfego saia pelo PC de casa, como uma VPN clássica.

Painel de administração do Tailscale com a lista de dispositivos ligados e os respetivos endereços
Cada dispositivo que acede aparece aqui com um endereço fixo

O preço é que a coordenação passa por um serviço externo, embora o tráfego continue cifrado entre os teus dispositivos. Se quiseres eliminar também esse passo, o Headscale é uma versão open source do servidor de coordenação para instalares tu, compatível com as apps do Tailscale. O NetBird faz algo semelhante e é totalmente open source, incluindo o painel.

PiVPN #

Não é um protocolo, mas sim um programa de instalação: num Raspberry Pi ou num servidor Debian, configura o WireGuard ou o OpenVPN através de um assistente e cria os perfis dos clientes como QR codes para digitalizar com o telemóvel.

Terminal com o assistente do PiVPN a gerar o QR code de um perfil de cliente
O PiVPN entrega o perfil como um QR code para digitalizar com o telemóvel

Durante anos foi a forma mais rápida de ter uma VPN sem escrever configurações à mão, mas em abril de 2024 os desenvolvedores encerraram o projeto com a versão 4.6.0. As instalações existentes continuam a funcionar, porque o WireGuard se atualiza com o sistema, mas para uma nova instalação recomendo o wg-easy ou o Tailscale.

WireGuard ou OpenVPN no Raspberry Pi #

Num Raspberry Pi a diferença é visível, porque o hardware é limitado.

O WireGuard aguenta sem esforço a velocidade da linha de casa mesmo nos modelos mais antigos, porque a cifragem é muito mais eficiente. O processador trabalha descansado e a ligação recupera sozinha quando o telemóvel passa do Wi-Fi para os dados móveis: é a diferença que vais notar mais no dia a dia.

O OpenVPN no mesmo hardware torna-se o gargalo: num Raspberry Pi de há alguns anos, custa superar algumas dezenas de megabits por segundo, porque a cifragem exige muito mais processamento.

Na prática: WireGuard, a menos que precises de te ligar através de redes que o bloqueiem. Nesse caso, OpenVPN na porta 443.

Antes de instalares qualquer coisa, olha para o router. Muitos modelos recentes, como os FRITZ!Box e vários routers de gama média, já têm WireGuard ou OpenVPN no painel de administração: ativa-se em cinco minutos, sem hardware extra e sem consumo adicional.

O que é necessário para a fazer funcionar #

Um endereço acessível de fora. Este é o obstáculo mais comum: muitas linhas domésticas, especialmente em FWA e rede móvel, utilizam endereços partilhados entre vários clientes (o chamado CGNAT), que bloqueiam as ligações entrantes. Para perceberes isto, compara o IP que vês no painel do router com o que te mostra um site como o whatismyipaddress.com: se forem diferentes, terás de pedir ao operador um IP público (por vezes mediante pagamento) ou usar uma solução como o Tailscale, que não precisa disso.

Um nome que siga o endereço. Se o teu IP mudar, um serviço de DNS dinâmico como o DuckDNS associa-lhe um nome fixo. Muitos routers já suportam isto.

Uma porta aberta no router para o dispositivo que aloja a VPN, exceto nas soluções que dispensam este passo.

Uma cópia das configurações. Guarda as chaves dos clientes num local seguro: se as perderes, terás de recriar os perfis um a um.

O que uma VPN pessoal não faz #

Não te torna anónimo. Quando te ligas à VPN de casa e navegas, o tráfego sai da tua linha com o teu endereço IP: para os sites que visitas, é como se estivesses em casa. É conveniente quando queres usar serviços ligados à tua rede, mas é exatamente o oposto do que precisas para manter a privacidade.

Pelo mesmo motivo, não supera os bloqueios geográficos de outros países: sais sempre da Itália.

O que faz bem é proteger o tráfego nas redes em que não confias, como o Wi-Fi de um hotel, de um aeroporto ou de um café, e permitir que acedas aos teus dispositivos onde quer que estejas.

E num servidor alugado? #

Se instalares a VPN numa VPS, um pequeno servidor alugado por poucos euros por mês num data center, o cenário muda. O tráfego sai do endereço do servidor, não da tua casa: tens um IP dedicado e fixo, útil para as whitelists de serviços empresariais, e podes escolher o país do data center. Os logs controlas tu, em vez de confiares na promessa «no log» de um provider. No entanto, continua a ser um IP registado em teu nome: a privacidade é maior perante o teu operador, mas não és anónimo.

Numa VPS também se utilizam frequentemente ferramentas pensadas para passar onde as VPNs normais são bloqueadas:

OpenConnect é a versão open source do protocolo Cisco AnyConnect. Passa pela porta 443 e o seu tráfego assemelha-se ao de um site HTTPS normal, pelo que contorna muitos firewalls empresariais. Tem clientes para todos os sistemas.

Logo de OpenConnect VPN
OpenConnect: na porta 443, confunde-se com o tráfego HTTPS

SoftEther VPN é um servidor multiprotocolo criado na Universidade de Tsukuba: num único programa gere OpenVPN, L2TP/IPsec, SSTP e um protocolo próprio, conseguindo passar até encapsulando o tráfego em ICMP ou DNS.

Logo de SoftEther VPN
SoftEther: mais protocolos num único servidor

V2Ray e o seu fork Xray não são VPNs, mas sim proxies criados para contornar a censura: escondem o tráfego dentro de uma ligação TLS que parece navegação normal. Servem para quem se encontra em países com filtros pesados.

Logo de V2Ray
V2Ray: um proxy pensado para superar a censura

Se instalares mais do que um no mesmo servidor, atenção às portas: OpenConnect e SoftEther utilizam ambas a TCP 443 e não podem estar juntas sem alterares uma delas. Para começares rapidamente numa VPS, o script Algo configura WireGuard e IPsec automaticamente.

Perguntas frequentes #

Uma VPN self-hosted substitui um serviço pago? #

Não, fazem coisas diferentes. A VPN de casa serve para acederes à tua rede a partir do exterior de forma cifrada; um serviço comercial serve para esconder a navegação ao teu operador e parecer que estás noutro país, misturando-te com milhares de outros utilizadores. Uma VPN numa VPS está a meio: muda o país, mas o IP é apenas teu. Se precisares de ambas as coisas, usas ambas.

Quanto consome um Raspberry Pi ligado como servidor VPN? #

Poucos watts: alguns euros de eletricidade por ano. É um dos usos mais sensatos para essas placas, porque a carga é mínima e pode ficar ligada sem ruído nem calor.

É seguro abrir uma porta no router? #

Se por trás dessa porta houver uma VPN atualizada, sim: o WireGuard nem sequer responde a pacotes não autenticados, pelo que, do exterior, a porta parece fechada. O risco surge se não atualizares o software ou se abrires outras portas para serviços menos protegidos.

O Tailscale é gratuito? #

O plano Personal sim, com dispositivos ilimitados até seis utilizadores, mas apenas para uso não comercial. Para grupos maiores ou para empresas, existem planos pagos. Se quiseres prescindir totalmente de um serviço externo, podes instalar o Headscale.

Posso usar a VPN para ver serviços de streaming italianos no estrangeiro? #

Tecnicamente sim, porque o tráfego sai da tua linha de casa e, portanto, consta como italiano: é um dos usos mais comuns de uma VPN pessoal em viagem. Verifica, porém, as condições do serviço de streaming, pois alguns limitam o uso fora do país da subscrição. Na União Europeia, de qualquer forma, as subscrições podem ser usadas noutro país da UE durante uma estadia temporária.

Leia a seguir