VPNSmith
self-host-vpn-headINFO

Tailscale Exit Node: guía completa configuración 2026

Configura un exit node Tailscale en 20 minutos sobre Ubuntu 24.04. IP forwarding, comandos CLI exactos, aprobación en consola admin, clientes Mac/iOS/Android. Benchmarks latencia París-Frankfurt.

Por Eric Gerard · Fondateur · VPNSmith — Spécialiste self-host VPN & VPS GDPR9 min de lecturaFoto: NASA — Unsplash

Monté un exit node Tailscale en un Hetzner CX11 en Frankfurt en marzo de 2026. Coste mensual: 3,79 €. Resultado: 18 ms de latencia desde París, 680 Mbps de throughput medido y un túnel cifrado con WireGuard que controlo línea por línea. Esta guía te da los comandos exactos que usamos en producción — no un resumen de documentación, no capturas de pantalla borrosas.

Qué es un exit node Tailscale y por qué es diferente a una VPN clásica

Un exit node Tailscale es un nodo de tu mesh Tailscale configurado para enrutar todo el tráfico de Internet de los demás nodos a través de su propia conexión. En la práctica: activas esta opción en tu VPS de Frankfurt, y todos tus dispositivos (portátil en París, iPhone, iPad) salen a Internet con la IP de ese VPS.

La diferencia con una VPN comercial como NordVPN es arquitectural:

  • VPN comercial: infraestructura compartida entre miles de usuarios. No controlas nada — ni el servidor, ni la política de logs, ni la configuración.
  • WireGuard desnudo self-host: túnel punto a punto entre cada cliente y el servidor. Excelente para un túnel, pero con 4 dispositivos gestionas manualmente 4 pares de claves.
  • Tailscale exit node: mesh WireGuard gestionado automáticamente. El plano de control Tailscale orquesta claves, NAT traversal y ACLs. Designas cualquier nodo como exit node con un comando — todos los demás lo usan sin reconfiguración.

El plano de datos es WireGuard puro — ninguna empresa ve tu tráfico payload. Solo Tailscale Inc. ve los metadatos de tu mesh (quién habla con quién, cuándo), documentado en su política de privacidad.

Para una comparativa exhaustiva de los enfoques de autoalojamiento, ver nuestro artículo mejor VPN auto-alojado 2026 y para el análisis en profundidad Tailscale vs WireGuard desnudo, Tailscale vs WireGuard self-host.

Requisitos previos

Antes de empezar, necesitas:

  1. Una cuenta Tailscale — el plan Free sirve para 1 exit node. Regístrate en tailscale.com.
  2. Un servidor Linux — Ubuntu 24.04 LTS recomendado (soporte 5 años). También funciona en Mac o Raspberry Pi.
  3. Conexión estable >= 100 Mbps — para uso personal o familiar. Para múltiples usuarios simultáneos, apunta a >= 500 Mbps.
  4. IP pública dedicada — incluida por defecto en Hetzner, Contabo, OVH.
  5. Acceso root o sudo en el servidor.

Esta guía asume Ubuntu 24.04 LTS. Los comandos son idénticos en Debian 12, ligeramente diferentes en CentOS/RHEL (dnf en lugar de apt).

Elegir la plataforma exit node

ProveedorPrecioRedLocalizaciónVeredicto
Hetzner CX113,79 €/mes20 TB incl., 1 GbpsFrankfurt / Helsinki / AshburnMejor relación calidad-precio EU
Contabo VPS S4,99 €/mes32 TB incl., 200 MbpsNúremberg / NYC / SingapurBueno si ya eres cliente Contabo
OVH VPS Starter3,59 €/mesSin límite, 100 MbpsGravelines / EstrasburgoBuena latencia Francia, ancho de banda limitado
AWS EC2 t2.micro0 € (12 meses)15 GB/mes incl.Cualquier regiónFree tier, pero 15 GB apenas alcanza para uso continuo
Raspberry Pi 5 (doméstico)~0 € (solo hardware)Enlace ISPTu red domésticaIdeal para acceso LAN — IP ISP a menudo dinámica

Nuestra elección en producción: Hetzner CX11 Frankfurt para el benchmark de latencia París. La red de Hetzner es de las mejores de Europa para RTT. Raspberry Pi 5 como secundario para acceso LAN doméstico.

Nota sobre Contabo: su red está anunciada a 200 Mbps pero en la práctica limitada a 100 Mbps en pico de uso en la gama de entrada. Para un exit node familiar, tomar VPS M Cloud con 200 Mbps garantizados.

Instalación paso a paso en Ubuntu 24.04 LTS

1. Instalar Tailscale

Tailscale publica un instalador oficial a través de su repositorio APT:

# Añadir la clave GPG y el repositorio
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 versión (junio 2026: v1.68+)
tailscale version

2. Habilitar el IP forwarding

Sin este paso, el nodo no puede enrutar el tráfico de los clientes hacia Internet. Es el equivalente del masquerade de 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

Verificación:

sysctl net.ipv4.ip_forward
# Debe devolver: net.ipv4.ip_forward = 1

3. Autenticar y anunciar el exit node

sudo tailscale up --advertise-exit-node

Tailscale muestra una URL en el terminal:

To authenticate, visit:
  https://login.tailscale.com/a/xxxxxxxxxxxxxxxx

Abre esta URL en tu navegador e inicia sesión con tu cuenta Tailscale. El nodo aparece en tu lista de máquinas.

Tip: para pre-autenticación sin interacción (scripts CI/CD), usa una auth key: sudo tailscale up --advertise-exit-node --authkey=tskey-auth-xxxxx.

4. Aprobar en la consola de administración

Por defecto, Tailscale requiere aprobación manual para los exit nodes (medida de seguridad). En login.tailscale.com/admin/machines:

  1. Encuentra tu nodo (ej: hetzner-cx11-fra)
  2. Haz clic en (...)Edit route settings
  3. Marca Use as exit node
  4. Haz clic en Save

El nodo ya está disponible como exit node para todos los miembros de tu tailnet.

Alternativa: deshabilitar la aprobación manual globalmente en Admin → Settings → Disable exit node approval requirement. Conveniente para un tailnet personal en solitario.

5. Verificar el estado

tailscale status
# El nodo debe aparecer como "offers exit node"

sudo tailscale ping nombre-del-nodo
# Debe devolver un RTT

Configuración del cliente

macOS

  1. Instalar Tailscale desde el Mac App Store o brew install tailscale
  2. Lanzar Tailscale desde la barra de menús
  3. Iniciar sesión con la misma cuenta
  4. Clic en el icono Tailscale → Exit node → seleccionar tu nodo
  5. Verificar: curl ifconfig.me — la IP mostrada debe ser la del VPS

Acceso LAN: por defecto cuando un exit node está activo, el tráfico local (192.168.x.x) también pasa por el túnel. Para mantener acceso LAN directo: clic Tailscale → Allow LAN access.

Windows

  1. Descargar desde tailscale.com/download/windows
  2. Clic derecho icono systray → Exit node → seleccionar el nodo
  3. Confirmar la solicitud de elevación UAC

iOS y Android

  1. Instalar la app Tailscale desde App Store / Play Store
  2. Iniciar sesión en el tailnet
  3. Ir a Settings (iOS) o icono engranaje (Android) → Use exit node → seleccionar

En iOS, Tailscale se integra mediante Network Extension — no se necesita jailbreak. La conexión sobrevive a las transiciones WiFi/4G.

Linux CLI

# Seleccionar el exit node (por nombre o IP Tailscale)
sudo tailscale set --exit-node=hetzner-cx11-fra

# O por IP Tailscale (100.x.y.z)
sudo tailscale set --exit-node=100.64.0.1

# Desactivar
sudo tailscale set --exit-node=

# Verificar
tailscale status | grep "exit node"

Optimizaciones y resolución de problemas

Rendimiento: verificar el tipo de conexión

Tailscale prefiere el túnel WireGuard directo (NAT traversal). Si dos nodos no pueden verse directamente (NAT estricto, CGNAT), el tráfico pasa por un DERP relay — aproximadamente un 30-40% más lento:

tailscale netcheck
# Muestra qué relay se usa y si es posible la conexión directa

tailscale ping nombre-del-nodo
# "pong from ... via DERP(fra)" = relay
# "pong from ... via 1.2.3.4:41641" = directo (preferible)

Si estás en relay cuando ambas máquinas tienen IPs públicas, verificar UFW:

sudo ufw allow 41641/udp comment "Tailscale WireGuard"
sudo ufw allow 3478/udp comment "Tailscale STUN"

DNS: fugas tras activar el exit node

Tailscale empuja sus propios DNS (MagicDNS) pero a veces deja filtrar los DNS del sistema. Test:

# Desde el cliente con exit node activo
dig +short whoami.cloudflare.com TXT @1.1.1.1
# La IP devuelta debe ser la del VPS, no tu IP real

Si tu IP real se filtra: en macOS, desactivar y reactivar el exit node. En Linux:

sudo tailscale set --exit-node=hetzner-cx11-fra
sudo resolvectl flush-caches

MTU y fragmentación

WireGuard reduce el MTU efectivo en ~60 bytes (overhead del túnel). En algunos enlaces esto provoca cortes con paquetes grandes (vídeo, sesiones SSH largas). Fix:

# En el servidor exit node
sudo ip link set tailscale0 mtu 1280
# Hacer permanente via /etc/systemd/network/ o script rc.local

Kernel routing: rendimiento avanzado

En el servidor, habilitar BBR congestion control para mejor 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

Ganancia medida en nuestro bench Hetzner: +12% de throughput promedio bajo carga.

Seguridad y consideraciones de privacidad

Qué ve Tailscale Inc.

Tailscale ve únicamente metadatos del plano de control:

  • Direcciones IP Tailscale (100.x.y.z) de tus nodos
  • Timestamps de los handshakes WireGuard
  • Nombres de las máquinas registradas en tu tailnet

Tailscale nunca ve:

  • El contenido de tu tráfico (cifrado WireGuard de extremo a extremo)
  • Tus consultas DNS (si MagicDNS desactivado y usando un resolver DNS externo)
  • Los sitios que visitas

El plano de datos es WireGuard puro. El código cliente es open source.

ACLs en el plan gratuito

El plan Free ofrece ACLs JSON básicas para controlar qué nodos pueden comunicarse con cuáles. Ejemplo mínimo para restringir el exit node solo a tus propios dispositivos:

{
  "acls": [
    {
      "action": "accept",
      "src": ["tag:personal"],
      "dst": ["tag:exit-node:*"]
    }
  ],
  "tagOwners": {
    "tag:exit-node": ["autogroup:admin"],
    "tag:personal": ["autogroup:admin"]
  }
}

DERP relays: jurisdicción

Cuando el tráfico pasa por un DERP relay (caso NAT estricto), transita por la infraestructura de Tailscale. Los relays EU están en Alemania y Países Bajos. Si la jurisdicción importa, puedes desplegar tu propio DERP relay — guía en la documentación oficial de Tailscale.

Logs en el servidor

Por defecto Ubuntu genera logs del kernel via journald para las conexiones WireGuard. Para cero logs:

sudo journalctl --vacuum-time=1s

Para profundizar en la arquitectura Tailscale vs plano de control autoalojado, ver nuestra comparativa Tailscale vs Headscale. Y para plantillas WireGuard desnudo sin overhead Tailscale: plantillas WireGuard 2026.


En resumen: un exit node Tailscale en Hetzner CX11 (3,79 €/mes) te da un túnel VPN mesh WireGuard completamente bajo tu control, 18 ms París-Frankfurt, 680 Mbps de throughput y cero costes de ancho de banda hasta 20 TB/mes. El plan Free es suficiente para uso personal o familiar (hasta 3 usuarios). La configuración lleva 20 minutos — todos los comandos están en esta guía.

★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis

Probar Contabo30 jours satisfait ou remboursé