Gerador de exit node Tailscale
Escolha o servidor de controlo, o nome do host, o modo de login e a firewall: o gerador escreve o script completo para um VPS Linux, o passo de aprovação, uma política de autoaprovação opcional e os comandos para usar e verificar o exit node a partir dos seus dispositivos. Nada sai do seu navegador.
Tudo é gerado no seu navegador. Nada é enviado nem guardado. Nunca cole uma chave de autenticação real num site: mantenha o texto de exemplo e substitua-o no servidor.
Nome mostrado no menu Exit node dos seus dispositivos. Minúsculas, algarismos e hífenes.
Com uma tag como tag:exit, uma regra autoApprovers aprova o exit node automaticamente. Deixe vazio para aprovar à mão.
Uma chave de autenticação permite a um script ou ao cloud-init iniciar sessão sem navegador. Crie-a em Settings > Keys (Tailscale) ou com headscale preauthkeys create.
O script nunca ativa uma firewall. Apenas acrescenta as regras de que a Tailscale precisa à que já estiver em uso.
- O script para no tailscale up e mostra um URL de login: abra-o no navegador para adicionar o servidor à sua tailnet.
Gerado para exit-vps · 5 passos
#!/usr/bin/env bash
set -euo pipefail
# 1. Instalar a Tailscale com o script oficial
curl -fsSL https://tailscale.com/install.sh | sh
# 2. Ativar o IP forwarding (obrigatório para um exit node)
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
# 3. Opcional: UDP GRO forwarding para o débito
command -v ethtool >/dev/null || { sudo apt-get install -y ethtool 2>/dev/null || sudo dnf install -y ethtool; }
NETDEVS=$(
(ip -4 -o route get 8.8.8.8; ip -6 -o route get 2001:4860:4860::8888) 2>/dev/null |
awk '{for (i = 1; i < NF; i++) if ($i == "dev") print $(i + 1)}' |
sort -u
)
for NETDEV in $NETDEVS; do
sudo ethtool -K "$NETDEV" rx-udp-gro-forwarding on rx-gro-list off || true
done
# 4. Iniciar sessão e anunciar o exit node
sudo tailscale up \
--advertise-exit-node \
--hostname=exit-vps
# 5. Verificar: nó online e forwarding ativo (= 1)
tailscale status
sysctl net.ipv4.ip_forward
Aprovar o exit node
Na consola de administração, abra Machines, o menu do nó, escolha Edit exit node e marque Use as exit node. Só um administrador o pode fazer.
# Listar os exit nodes que este dispositivo pode usar
tailscale exit-node list
# Enviar todo o tráfego pelo exit node
sudo tailscale set --exit-node=exit-vps
# Igual, mantendo o acesso à rede local
sudo tailscale set --exit-node=exit-vps --exit-node-allow-lan-access=true
# Deve mostrar o IP público do VPS
curl -4 https://ifconfig.me
# Deixar de usar o exit node
sudo tailscale set --exit-node=
No Windows, macOS, iOS e Android, a app Tailscale lista os exit nodes aprovados no menu Exit node: escolha o nome do host acima. Permita o acesso à rede local se ainda precisar da impressora ou do NAS.
Um exit node precisa de um servidor sempre ligado
Um VPS pequeno dá-lhe um IP público fixo no país que escolher, executa este script tal como está e pode alojar o Headscale ou um servidor WireGuard na mesma máquina.
Link de afiliado: podemos receber uma comissão, sem custo extra para si. O gerador continua gratuito e não depende disso.
O que o script faz, passo a passo
Um exit node é um dispositivo da sua tailnet que encaminha o tráfego de internet dos outros dispositivos. No Linux precisa de três coisas que a instalação padrão não faz: IP forwarding ativo no kernel, a opção --advertise-exit-node e a aprovação de um administrador da tailnet. O script trata das duas primeiras; a aprovação é um clique na página Machines ou automática através de uma tag e de uma regra autoApprovers.
O passo UDP GRO é um ajuste opcional de débito, documentado pela Tailscale para exit nodes e subnet routers com kernel Linux 6.2 ou posterior. Não sobrevive a um reinício, a menos que o adicione ao networkd-dispatcher ou ao NetworkManager, e falha sem consequências em kernels mais antigos; por isso o script ignora os seus erros.
Vários dispositivos podem ser exit nodes na mesma tailnet. Cada cliente usa um de cada vez: pelo nome, pelo IP Tailscale ou com --exit-node=auto:any para seguir o nó sugerido. Execute o script em cada servidor que quiser oferecer, com um nome de host diferente de cada vez.
Onde correr o seu exit node
O exit node decide que IP os sites veem. Cada opção responde a uma necessidade diferente.
| Exit node em | IP que os sites veem | Bom para | Limite |
|---|---|---|---|
| Um VPS | Um IP de data center no país escolhido | Saída sempre ligada, Wi-Fi público, IP estável para listas de permissões | Custo mensal; o IP está em seu nome, não é anónimo |
| Um computador ou router em casa | O seu IP de casa | Aceder a serviços de casa, o catálogo de streaming habitual | Depende do upload e da eletricidade em casa |
| Extra Mullvad | Um IP de servidor Mullvad | Muitos países, IP partilhados | Extra pago, sem controlo do servidor |