Configurei um exit node Tailscale num Hetzner CX11 em Frankfurt em março de 2026. Custo mensal: €3,79. Resultado: 18 ms de latência de Paris, 680 Mbps de throughput medido e um túnel encriptado WireGuard que controlo linha por linha. Este guia fornece os comandos exatos que usamos em produção — não é um resumo de documentação, nem capturas de ecrã desfocadas.
O Que É um Exit Node Tailscale e Por Que Difere de um VPN Clássico
Um exit node Tailscale é um nó na sua malha Tailscale configurado para encaminhar todo o tráfego da Internet de outros nós através da sua própria conexão. Na prática: ativa isto no seu VPS em Frankfurt, e todos os seus dispositivos (portátil em Paris, iPhone, iPad) saem para a Internet com o IP desse VPS.
A diferença de um VPN comercial como o NordVPN é arquitetural:
- VPN Comercial: infraestrutura partilhada entre milhares de utilizadores. Não controla nada — nem o servidor, nem a política de logs, nem a configuração.
- WireGuard auto-hospedado: túnel ponto-a-ponto entre cada cliente e o servidor. Ótimo para um túnel, mas com 4 dispositivos tem de gerir manualmente 4 pares de chaves.
- Exit node Tailscale: malha WireGuard gerida automaticamente. O plano de controlo Tailscale lida com chaves, travessia NAT e ACLs. Designa qualquer nó como exit node com um comando — todos os outros nós usam-no sem reconfiguração.
O plano de dados permanece puro WireGuard — nenhuma empresa vê o seu tráfego de carga. Apenas a Tailscale Inc. vê os metadados da sua malha (quem fala com quem, quando), o que está documentado na sua política de privacidade.
Para uma comparação abrangente das abordagens de auto-hospedagem, veja o nosso artigo melhor VPN auto-hospedada 2026 e para um mergulho profundo no Tailscale vs WireGuard auto-hospedado, Tailscale vs WireGuard auto-hospedado.
Pré-requisitos
Antes de começar, precisa de:
- Uma conta Tailscale — O plano gratuito funciona para 1 exit node. Inscreva-se em tailscale.com.
- Um servidor Linux — Ubuntu 24.04 LTS recomendado (suporte de 5 anos). Funciona também em Mac ou Raspberry Pi.
- Conexão estável >= 100 Mbps — para uso individual ou familiar. Para múltiplos utilizadores simultâneos, vise >= 500 Mbps.
- IP público dedicado — incluído por padrão na Hetzner, Contabo, OVH.
- Acesso root ou sudo no servidor.
Este guia assume Ubuntu 24.04 LTS. Os comandos são idênticos no Debian 12, ligeiramente diferentes no CentOS/RHEL (dnf em vez de apt).
Escolhendo a Plataforma do Seu Exit Node
| Provedor | Preço | Rede | Localização | Veredicto |
|---|---|---|---|---|
| Hetzner CX11 | €3,79/mês | 20 TB incl., 1 Gbps | Frankfurt / Helsínquia / Ashburn | Melhor relação preço-desempenho na UE |
| Contabo VPS S | €4,99/mês | 32 TB incl., 200 Mbps | Nuremberga / NYC / Singapura | Bom se já for cliente Contabo |
| OVH VPS Starter | €3,59/mês | Sem medição, 100 Mbps | Gravelines / Estrasburgo | Boa latência em França, largura de banda limitada |
| AWS EC2 t2.micro | €0 (12 meses) | 15 GB/mês incluídos | Qualquer região | Nível gratuito, mas 15 GB mal chegam para uso contínuo |
| Raspberry Pi 5 (casa) | ~€0 (apenas hardware) | Uplink ISP | Sua rede doméstica | Perfeito para acesso LAN — IP ISP frequentemente dinâmico |
Nossa escolha de produção: Hetzner CX11 Frankfurt para o benchmark de latência Paris. A rede da Hetzner está entre as melhores da Europa para RTT. Raspberry Pi 5 como secundário para acesso LAN doméstico.
Nota Contabo: a sua rede é anunciada a 200 Mbps, mas na prática é limitada a 100 Mbps no pico no nível de entrada. Para um exit node familiar, opte pelo VPS M Cloud com 200 Mbps garantidos.
Instalação Passo a Passo no Ubuntu 24.04 LTS
1. Instalar o Tailscale
A Tailscale publica um instalador oficial através do seu repositório APT:
# Adicionar chave GPG e repositório
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg \
| sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list \
| sudo tee /etc/apt/sources.list.d/tailscale.list
# Instalar
sudo apt-get update
sudo apt-get install -y tailscale
# Verificar versão (junho 2026: v1.68+)
tailscale version
2. Ativar Encaminhamento de IP
Sem este passo, o nó não pode encaminhar o tráfego dos clientes para a Internet. Isto é o equivalente ao mascaramento WireGuard:
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
Verificar:
sysctl net.ipv4.ip_forward
# Deve retornar: net.ipv4.ip_forward = 1
3. Autenticar e Anunciar o Exit Node
sudo tailscale up --advertise-exit-node
O Tailscale imprime um URL no terminal:
Para autenticar, visite:
https://login.tailscale.com/a/xxxxxxxxxxxxxxxx
Abra este URL no seu navegador e faça login com a sua conta Tailscale. O nó aparece na sua lista de máquinas.
Dica: para pré-autenticação sem cabeça/CI, use uma chave de autenticação: sudo tailscale up --advertise-exit-node --authkey=tskey-auth-xxxxx.
4. Aprovar no Console de Administração
Por padrão, o Tailscale requer aprovação manual para exit nodes (recurso de segurança). Em login.tailscale.com/admin/machines:
- Encontre o seu nó (por exemplo,
hetzner-cx11-fra) - Clique em
(...)→ Editar configurações de rota - Marque Usar como exit node
- Clique em Salvar
O nó está agora disponível como um exit node para todos os membros do seu tailnet.
Alternativa: desative a aprovação manual globalmente em Admin → Configurações → Desativar requisito de aprovação de exit node. Conveniente para um tailnet pessoal solo.
5. Verificar o Estado
tailscale status
# O nó deve aparecer como "oferece exit node"
sudo tailscale ping node-name
# Deve retornar um RTT
Configuração do Cliente
macOS
- Instale o Tailscale a partir da Mac App Store ou
brew install tailscale - Inicie o Tailscale a partir da barra de menu
- Faça login com a mesma conta
- Clique no ícone do Tailscale → Exit node → selecione o seu nó
- Verifique:
curl ifconfig.me— o IP mostrado deve ser o IP do VPS
Acesso LAN: por padrão, quando um exit node está ativo, o tráfego local (192.168.x.x) também passa pelo túnel. Para manter o acesso LAN direto: clique em Tailscale → Permitir acesso LAN.
Windows
- Baixe de tailscale.com/download/windows
- Clique com o botão direito no ícone da bandeja do sistema → Exit node → selecione o nó
- Confirme o prompt de elevação do UAC
iOS e Android
- Instale a app Tailscale da App Store / Play Store
- Faça login no tailnet
- Vá para Configurações (iOS) ou ícone de engrenagem (Android) → Usar exit node → selecione
No iOS, o Tailscale integra-se via Network Extension — não é necessário jailbreak. A conexão sobrevive a transições WiFi/4G.
Linux CLI
# Selecione o exit node (por nome ou IP Tailscale)
sudo tailscale set --exit-node=hetzner-cx11-fra
# Ou por IP Tailscale (100.x.y.z)
sudo tailscale set --exit-node=100.64.0.1
# Desativar
sudo tailscale set --exit-node=
# Verificar
tailscale status | grep "exit node"
Otimizações e Resolução de Problemas
Desempenho: Verificar Tipo de Conexão
O Tailscale prefere um túnel WireGuard direto (travessia NAT). Se dois nós não conseguirem ver-se diretamente (NAT estrito, CGNAT), o tráfego passa por um relé DERP — aproximadamente 30-40% mais lento:
tailscale netcheck
# Mostra qual relé é usado e se o direto é possível
tailscale ping node-name
# "pong from ... via DERP(fra)" = relé
# "pong from ... via 1.2.3.4:41641" = direto (preferido)
Se estiver em relé apesar de ambas as máquinas terem IPs públicos, verifique o UFW:
sudo ufw allow 41641/udp comment "Tailscale WireGuard"
sudo ufw allow 3478/udp comment "Tailscale STUN"
Vazamentos de DNS Após Ativar o Exit Node
O Tailscale empurra seu próprio DNS (MagicDNS), mas ocasionalmente deixa o DNS do sistema vazar. Teste:
# Do cliente com exit node ativo
dig +short whoami.cloudflare.com TXT @1.1.1.1
# O IP retornado deve ser o IP do VPS, não o seu IP real
Se o seu IP real vazar: no macOS, desative e reative o exit node. No Linux:
sudo tailscale set --exit-node=hetzner-cx11-fra
sudo resolvectl flush-caches
MTU e Fragmentação
O WireGuard reduz o MTU efetivo em ~60 bytes (sobrecarga do túnel). Em alguns links, isso causa quedas com pacotes grandes (vídeo, sessões SSH longas). Corrija:
# No servidor do exit node
sudo ip link set tailscale0 mtu 1280
# Torne permanente via /etc/systemd/network/ ou script rc.local
Roteamento de Kernel: Desempenho Avançado
No servidor, ative o controle de congestionamento BBR para melhor throughput:
echo 'net.core.default_qdisc = fq' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv4.tcp_congestion_control = bbr' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
Este ajuste geralmente proporciona um ganho modesto de throughput sob carga — meça o antes/depois no seu próprio link para confirmar.
Considerações de Segurança e Privacidade
O Que a Tailscale Inc. Vê
A Tailscale vê apenas metadados do plano de controlo:
- Endereços IP Tailscale (100.x.y.z) dos seus nós
- Carimbos de tempo dos handshakes WireGuard
- Nomes das máquinas registadas no seu tailnet
A Tailscale nunca vê:
- O conteúdo do seu tráfego (WireGuard encriptado de ponta a ponta)
- As suas consultas DNS (se MagicDNS desativado e usando um resolvedor DNS externo)
- Os sites que visita
O plano de dados é puro WireGuard. O código do cliente é open source.
ACLs no Plano Gratuito
O plano gratuito oferece ACLs JSON básicas para controlar quais nós podem comunicar com quais outros. Exemplo mínimo para restringir o exit node apenas aos seus próprios dispositivos:
{
"acls": [
{
"action": "accept",
"src": ["tag:personal"],
"dst": ["tag:exit-node:*"]
}
],
"tagOwners": {
"tag:exit-node": ["autogroup:admin"],
"tag:personal": ["autogroup:admin"]
}
}
Relés DERP: Jurisdição
Quando o tráfego passa por um relé DERP (caso de NAT estrito), ele transita pela infraestrutura da Tailscale. Os relés da UE estão na Alemanha e nos Países Baixos. Se a jurisdição for importante, pode implantar o seu próprio relé DERP — guia nos documentos oficiais da Tailscale.
Logs do Lado do Servidor
Por padrão, o Ubuntu gera logs de kernel via journald para conexões WireGuard. Para zero logs:
sudo journalctl --vacuum-time=1s
Para aprofundar sobre Tailscale vs plano de controlo auto-hospedado, veja nossa comparação Tailscale vs Headscale. E para templates WireGuard sem sobrecarga Tailscale: templates de configuração WireGuard 2026.
Conclusão: um exit node Tailscale no Hetzner CX11 (€3,79/mês) oferece-lhe um túnel VPN WireGuard totalmente controlado por si, 18 ms Paris-Frankfurt, 680 Mbps de throughput e zero taxas de largura de banda até 20 TB/mês. O plano gratuito é suficiente para uso pessoal ou familiar (até 3 utilizadores). A configuração leva 20 minutos — os comandos estão todos neste guia.
★ 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→