Generador de exit node de Tailscale
Elige el servidor de control, el nombre de host, el modo de inicio de sesión y el cortafuegos: el generador escribe el script completo para un VPS Linux, el paso de aprobación, una política de autoaprobación opcional y los comandos para usar y comprobar el exit node desde tus dispositivos. Nada sale de tu navegador.
Todo se genera en tu navegador. No se envía ni se guarda nada. No pegues nunca una clave de autenticación real en un sitio web: deja el texto de ejemplo y sustitúyelo en el servidor.
Nombre que aparece en el menú Exit node de tus dispositivos. Minúsculas, cifras y guiones.
Con una etiqueta como tag:exit, una regla autoApprovers aprueba el exit node automáticamente. Déjalo vacío para aprobar a mano.
Una clave de autenticación permite a un script o a cloud-init iniciar sesión sin navegador. Créala en Settings > Keys (Tailscale) o con headscale preauthkeys create.
El script nunca activa un cortafuegos. Solo añade las reglas que Tailscale necesita al que ya esté en uso.
- El script se detiene en tailscale up y muestra una URL de inicio de sesión: ábrela en tu navegador para añadir el servidor a tu tailnet.
Generado para exit-vps · 5 pasos
#!/usr/bin/env bash
set -euo pipefail
# 1. Instalar Tailscale con el script oficial
curl -fsSL https://tailscale.com/install.sh | sh
# 2. Activar el IP forwarding (obligatorio para un 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 el rendimiento
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 sesión y anunciar el exit node
sudo tailscale up \
--advertise-exit-node \
--hostname=exit-vps
# 5. Comprobar: nodo en línea y forwarding activo (= 1)
tailscale status
sysctl net.ipv4.ip_forward
Aprobar el exit node
En la consola de administración, abre Machines, el menú del nodo, elige Edit exit node y marca Use as exit node. Solo un administrador puede hacerlo.
# Listar los exit nodes que puede usar este dispositivo
tailscale exit-node list
# Enviar todo el tráfico por el exit node
sudo tailscale set --exit-node=exit-vps
# Igual, pero conservando el acceso a la red local
sudo tailscale set --exit-node=exit-vps --exit-node-allow-lan-access=true
# Debe mostrar la IP pública del VPS
curl -4 https://ifconfig.me
# Dejar de usar el exit node
sudo tailscale set --exit-node=
En Windows, macOS, iOS y Android, la app de Tailscale muestra los exit nodes aprobados en su menú Exit node: elige el nombre de host de arriba. Permite el acceso a la red local si aún necesitas la impresora o el NAS.
Un exit node necesita un servidor siempre encendido
Un VPS pequeño te da una IP pública fija en el país que elijas, ejecuta este script tal cual y puede alojar Headscale o un servidor WireGuard en la misma máquina.
Enlace de afiliado: podemos recibir una comisión sin coste extra para ti. El generador sigue siendo gratis y no depende de ello.
Qué hace el script, paso a paso
Un exit node es un dispositivo de tu tailnet que da salida al tráfico de internet de tus otros dispositivos. En Linux necesita tres cosas que la instalación por defecto no hace: IP forwarding activado en el kernel, la opción --advertise-exit-node y la aprobación de un administrador del tailnet. El script resuelve las dos primeras; la aprobación es un clic en la página Machines o automática mediante una etiqueta y una regla autoApprovers.
El paso UDP GRO es un ajuste de rendimiento opcional que Tailscale documenta para exit nodes y subnet routers con kernel Linux 6.2 o posterior. No sobrevive a un reinicio salvo que lo añadas a networkd-dispatcher o NetworkManager, y falla sin consecuencias en kernels más antiguos; por eso el script ignora sus errores.
Varios dispositivos pueden ser exit nodes en el mismo tailnet. Cada cliente usa uno a la vez: por nombre, por IP de Tailscale o con --exit-node=auto:any para seguir el nodo sugerido. Ejecuta el script en cada servidor que quieras ofrecer, con un nombre de host distinto cada vez.
Dónde ejecutar tu exit node
El exit node decide qué IP ven los sitios. Cada opción responde a una necesidad distinta.
| Exit node en | IP que ven los sitios | Útil para | Límite |
|---|---|---|---|
| Un VPS | Una IP de centro de datos en el país elegido | Salida siempre encendida, Wi-Fi público, IP estable para listas blancas | Coste mensual; la IP está a tu nombre, no es anónima |
| Un equipo o router en casa | Tu IP de casa | Acceder a servicios de casa, tu catálogo de streaming habitual | Depende de la subida y de la luz en casa |
| Complemento Mullvad | Una IP de servidor Mullvad | Muchos países, IP compartidas | Complemento de pago, sin control del servidor |