Tailscale: red segura para servicios de IA
Qué cubre este artículo sobre Tailscale
- Cómo instalar Tailscale y conectar tus dispositivos en una red segura
- Cómo acceder a Ollama de forma remota a través de Tailscale sin abrir puertos a internet
- Cómo usar routers de subred para hacer accesible toda tu red local
- Cómo controlar con listas de control de acceso quién puede acceder a cada servicio
- Qué obstáculos encontrarás con DNS, firewall y nodos de salida
Introducción: Tailscale explicado
Si ejecutas servicios de IA en casa, a menudo quieres acceder a ellos desde cualquier lugar. Tu servidor Ollama funciona en casa, pero estás en una cafetería y necesitas consultar un modelo. Convencionalmente, tendrías que abrir puertos en el router, configurar DynDNS y esperar que nadie encuentre la brecha. Es complicado y riesgoso.
Tailscale lo resuelve de otra forma. Crea una red mesh cifrada entre todos tus dispositivos, basada en WireGuard. Cada dispositivo obtiene una dirección IP fija dentro de esa red, conocida como Tailnet. Mientras un dispositivo esté en línea, puedes alcanzarlo sin importar dónde esté. Sin port forwarding, sin agujeros en el firewall, sin DynDNS.
Este artículo te guía a través de la instalación, los primeros pasos y la configuración de Ollama con Tailscale. Si quieres saber más sobre autohospedaje, consulta la descripción general en Self-Hosting. Encontrarás los fundamentos de seguridad en Operación segura.
¿Por qué necesito Tailscale?
Imagina que ejecutas Ollama en tu servidor doméstico. En casa accedes a la API mediante http://localhost:11434. Ahora estás con tu portátil en una cafetería y quieres consultar el mismo modelo. Sin Tailscale, tendrías que abrir el puerto 11434 en el router y reenviarlo al servidor. Cualquiera que conozca tu IP pública podría intentar acceder a Ollama. Por defecto, Ollama no tiene autenticación, sería una puerta abierta.
Con Tailscale es diferente. Tu servidor doméstico y tu portátil están registrados en el Tailnet. El servidor recibe una IP de Tailscale, por ejemplo 100.64.0.1. Desde la cafetería accedes a http://100.64.0.1:11434. La conexión viaja cifrada a través de WireGuard, solo tu portátil puede alcanzar el servidor. Ningún puerto está abierto hacia afuera, ningún atacante puede entrar.
El principio funciona para cualquier servicio, no solo Ollama. Interfaces web, bases de datos, servidores de archivos, todo es accesible a través de Tailscale sin abrir ni un solo puerto a internet. Más información sobre seguridad en redes en Seguridad de red y en el artículo sobre Firewall.
Tailscale brevemente explicado
Tailscale es un servicio VPN basado en WireGuard que crea una red mesh entre tus dispositivos. Instalas el cliente de Tailscale en cada dispositivo, inicia sesión y el dispositivo se convierte en parte de tu Tailnet. Cada dispositivo obtiene una dirección IP fija en el rango 100.64.0.0/10. Las conexiones entre dispositivos están cifradas de extremo a extremo y viajan directamente cuando es posible, de lo contrario a través de servidores relay. No necesitas abrir puertos ni configurar el router.
¿Para quién es Tailscale?
Tailscale está dirigido a todos los que quieren acceder de forma segura a servicios desde lejos sin exponerse su red local a internet. Son autohospedadores que ejecutan Ollama, Nextcloud u otros servicios en casa y quieren acceder desde cualquier lugar. Son desarrolladores que necesitan acceder a servidores internos y bases de datos sin configurar una VPN clásica. Y son equipos que quieren conectar varios sitios o dispositivos de forma segura sin gestionar infraestructura de red.
Si quieres usar Ollama de forma segura desde la distancia, Tailscale es una de las soluciones más simples. Más información sobre Ollama en red en el artículo Acceso de red a Ollama.
Términos importantes
| Término | Significado |
|---|---|
| Tailscale | Servicio VPN basado en WireGuard que crea una red mesh |
| VPN | Red privada virtual, túnel cifrado entre dispositivos |
| WireGuard | Protocolo VPN moderno en el que se basa Tailscale |
| Mesh Network | Topología de red donde los dispositivos están conectados directamente entre sí |
| Tailnet | La red privada que comprende todos tus dispositivos Tailscale |
| Node | Un dispositivo en el Tailnet, por ejemplo servidor, portátil o móvil |
| Exit Node | Un dispositivo Tailscale a través del cual puedes encaminar todo el tráfico de internet |
| Subnet Router | Un dispositivo Tailscale que hace accesible una red local completa en el Tailnet |
| ACL | Lista de control de acceso, reglas que definen quién puede acceder a quién en el Tailnet |
| MagicDNS | Función de Tailscale que usa nombres de dispositivos en lugar de direcciones IP para las conexiones |
Instalar Tailscale
Tailscale está disponible para Linux, macOS, Windows y plataformas móviles. La instalación es similar en cada plataforma: instala el cliente, inicia sesión, listo.
Linux (Ubuntu)
En Ubuntu instala Tailscale desde el repositorio oficial:
curl -fsSL https://tailscale.com/install.sh | sh
Después inicia Tailscale e inicia sesión:
sudo tailscale up
El comando abre un enlace en el navegador. Allí inicias sesión con tu cuenta de Tailscale, Google, Microsoft, GitHub o correo electrónico. El dispositivo se añade a tu Tailnet. Más información sobre Ubuntu en el artículo Ubuntu.
macOS
En macOS instala Tailscale desde la Mac App Store. Después del inicio, inicia sesión y el dispositivo se convierte en parte del Tailnet. Alternativamente, usa Homebrew:
brew install --cask tailscale
Windows
En Windows descarga el instalador del sitio web de Tailscale e instálalo. Después del inicio, inicia sesión. Tailscale se ejecuta como una app de bandeja del sistema y se conecta automáticamente al iniciar.
Móvil (iOS y Android)
Instala la app de Tailscale desde la App Store o Google Play. Inicia sesión y el dispositivo se añade al Tailnet. Ahora puedes acceder a tus servicios desde cualquier lugar.
Primeros pasos
Después de instalar en varios dispositivos verifica el estado:
tailscale status
El comando lista todos los dispositivos en tu Tailnet con sus IPs y estado de conexión. Ves qué dispositivos están disponibles y cómo se establece la conexión, directamente o a través de relay.
Tailscale asigna automáticamente las direcciones IP. Si activas MagicDNS, puedes acceder a los dispositivos por su nombre, por ejemplo ollama-server en lugar de 100.64.0.1. Activa MagicDNS en la consola de administración de Tailscale en DNS.
Prueba la conexión entre dos dispositivos con ping:
ping 100.64.0.1
Si el ping funciona, la red mesh está activa y puedes alcanzar servicios a través de la IP de Tailscale.
Hacer Ollama accesible a través de Tailscale
Para que Ollama sea accesible a través de Tailscale, necesitas ajustar dos cosas: Ollama debe escuchar en la IP de Tailscale, y el firewall debe permitir el puerto.
Paso 1: Establecer OLLAMA_HOST
Por defecto, Ollama escucha en 127.0.0.1:11434, solo localmente. Para que sea accesible también a través de la IP de Tailscale, establece la variable de entorno OLLAMA_HOST a 0.0.0.0:11434:
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
Para operación permanente, añade la variable al servicio systemd. Más detalles en el artículo Configuración de Ollama.
Paso 2: Abrir el puerto en el firewall
Si usas un firewall, por ejemplo UFW en Ubuntu, abre el puerto para la interfaz de Tailscale:
sudo ufw allow in on tailscale0 to any port 11434
Esto permite conexiones al puerto 11434 solo a través de la interfaz de Tailscale, no a través de tu interfaz de red pública. Más información sobre firewalls en el artículo Firewall.
Paso 3: Acceder desde otro dispositivo
Desde tu portátil o móvil en el Tailnet accedes a Ollama:
curl http://100.64.0.1:11434/
Si has activado MagicDNS, también puedes usar el nombre:
curl http://ollama-server:11434/
La conexión está cifrada y solo es accesible para dispositivos en el Tailnet. Nadie fuera puede acceder. Más información sobre acceso en red en Acceso de red a Ollama.
Subnet Router
A veces quieres que tu red doméstica completa sea accesible a través de Tailscale, no solo un dispositivo individual. Para esto utilizas un Subnet Router, que es un dispositivo Tailscale que funciona como puerta de enlace para toda una subred IP.
Habilita un Subnet Router en tu servidor:
sudo tailscale up --advertise-routes=192.168.1.0/24
Esto le comunica a Tailscale que el servidor puede enrutar la subred 192.168.1.0/24. Después, en la consola de administración de Tailscale, debes aprobar la ruta en “Edit route settings” del dispositivo correspondiente.
En los otros dispositivos aceptas la ruta:
sudo tailscale up --accept-routes
Ahora puedes acceder a todos los dispositivos de tu red doméstica desde cualquier lugar, por ejemplo a tu NAS en 192.168.1.50 o a tu impresora en 192.168.1.100. Esto funciona sin necesidad de instalar Tailscale en cada dispositivo.
Access Control Lists
Tailscale te permite controlar exactamente quién puede acceder a qué en tu Tailnet mediante Access Control Lists (ACLs). Por defecto, cada dispositivo puede alcanzar cualquier otro. En configuraciones más grandes o con múltiples usuarios, querrás restringir esto.
Define las ACLs en la consola de administración de Tailscale bajo “Access Controls”. La sintaxis se basa en JSON. Un ejemplo simple:
{
"acls": [
{
"action": "accept",
"src": ["laptop"],
"dst": ["ollama-server:11434"]
},
{
"action": "deny",
"src": ["*"],
"dst": ["ollama-server:*"]
}
]
}
Esta regla permite al dispositivo laptop acceder al puerto 11434 del ollama-server, pero bloquea todos los demás accesos al servidor. El orden es importante: la primera regla coincidente gana.
Puedes usar etiquetas para agrupar dispositivos, por ejemplo tag:server para todos los servidores y tag:client para todos los clientes. Esto hace que las ACLs sean más legibles cuando tienes muchos dispositivos. Encontrarás más información sobre seguridad de redes en Netzwerksicherheit.
Ejemplo: Usar Ollama desde cualquier lugar
Aquí hay un ejemplo completo de cómo configurar Ollama en casa y usarlo desde cualquier sitio.
Paso 1: Instalar Tailscale en el servidor
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Inicia sesión en el navegador. El servidor obtiene una IP de Tailscale, por ejemplo 100.64.0.1.
Paso 2: Configurar OLLAMA_HOST
sudo systemctl edit ollama
Añade:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Reinicia Ollama:
sudo systemctl restart ollama
Paso 3: Ajustar el firewall
sudo ufw allow in on tailscale0 to any port 11434
Paso 4: Instalar Tailscale en el portátil
Instala Tailscale en tu portátil e inicia sesión con la misma cuenta.
Paso 5: Acceder desde cualquier lugar
En una cafetería te conectas al WiFi, inicias Tailscale en tu portátil y accedes a Ollama:
curl http://100.64.0.1:11434/api/generate -d '{
"model": "llama3",
"prompt": "Hallo aus dem Café"
}'
La conexión se realiza de forma cifrada a través de WireGuard. Ningún puerto está expuesto hacia afuera, ningún atacante puede acceder.
Errores comunes
Ollama solo escucha en localhost. Por defecto, Ollama se vincula a 127.0.0.1. Sin establecer OLLAMA_HOST=0.0.0.0:11434, no es accesible a través de Tailscale. Verifica con ss -tlnp | grep 11434 en qué dirección está escuchando Ollama.
El firewall bloquea la interfaz de Tailscale. Si utilizas UFW e introduces solo ufw allow 11434, abres el puerto para todas las interfaces. Usa en su lugar ufw allow in on tailscale0 to any port 11434 para abrir el puerto solo en la interfaz de Tailscale.
Los dispositivos no aparecen como conectados. A veces tarda un momento hasta que Tailscale establece la conexión. Verifica con tailscale status si se reconoce el dispositivo. Si permanece desconectado, reinicia el servicio Tailscale con sudo systemctl restart tailscaled.
MagicDNS no funciona. MagicDNS debe estar habilitado en la consola de administración. Si quieres usar nombres de dispositivo como ollama-server, asegúrate de que MagicDNS esté activado y de que se está utilizando el servidor DNS de Tailscale. En algunos sistemas necesitas limpiar la caché DNS.
Las Subnet Routes no se aceptan. Debes aprobar explícitamente las rutas en la consola de administración. Además, los otros dispositivos deben aceptar las rutas con --accept-routes. Sin este paso, la subred permanece inaccesible.
El Exit Node no reenvía tráfico. Si utilizas un Exit Node y tu tráfico de Internet no está pasando a través del servidor, verifica si IP forwarding está habilitado en el Exit Node. En Linux, establece net.ipv4.ip_forward=1 en /etc/sysctl.conf.
Una ACL bloquea accidentalmente conexiones. Las ACLs son estrictas una vez que defines tus propias reglas. Si una regla deny es demasiado amplia, bloquearás conexiones legítimas. Prueba las ACLs paso a paso y usa tailscale ping para diagnosticar problemas de conectividad.
Hardware, costos y seguridad
Hardware: Tailscale funciona en casi cualquier dispositivo. El servidor no necesita hardware especial, el cliente consume pocos recursos. Para servicios de IA como Ollama, los requisitos de hardware dependen del servicio en sí, no de Tailscale.
Costos: Tailscale tiene un plan gratuito para uso personal con hasta 100 dispositivos. Para equipos y empresas hay planes pagos con funciones avanzadas como ACLs personalizadas, Audit Logs y SSO. Para la mayoría de configuraciones de self-hosting, el plan gratuito es suficiente.
Seguridad: Tailscale utiliza WireGuard para el cifrado, que se considera muy seguro. Las conexiones están cifradas de extremo a extremo, Tailscale no puede leer el tráfico. La autenticación se realiza a través de tu proveedor de identidad, por ejemplo Google o GitHub. Habilita la autenticación de dos factores para tu cuenta de Tailscale para mejorar la seguridad. Encontrarás más información sobre seguridad en Sicherer Betrieb.
Enlaces útiles
- Self-Hosting para una visión general del tema
- Sicherer Betrieb para fundamentos de seguridad
- Netzwerksicherheit para seguridad de redes
- Firewall para configuración del firewall
- Ollama Netzwerkzugriff para acceso remoto seguro a Ollama
- Ollama Konfiguration para variables de entorno y rutas
- Ubuntu para fundamentos del sistema operativo
FAQ: Tailscale para servicios de IA
¿Es Tailscale gratuito?
Para uso personal con hasta 100 dispositivos, sí. Para equipos y empresas hay planes pagos. La mayoría de configuraciones de self-hosting funcionan con el plan gratuito.
¿Necesito reenvío de puertos para Tailscale?
No. Tailscale establece conexiones directamente entre dispositivos o utiliza servidores relay si no es posible una ruta directa. No necesitas abrir puertos en tu router.
¿Puede Tailscale leer mi tráfico?
No. Las conexiones están cifradas de extremo a extremo con WireGuard. Tailscale solo facilita el establecimiento de la conexión, el tráfico real se ejecuta cifrado entre tus dispositivos.
¿Puedo usar Ollama a través de Tailscale sin cambiar OLLAMA_HOST?
No. Por defecto, Ollama escucha en 127.0.0.1 y solo es accesible localmente. Debes establecer OLLAMA_HOST=0.0.0.0:11434 para que escuche en la IP de Tailscale.
¿Cuál es la diferencia entre Subnet Router y Exit Node?
Un Subnet Router hace accesible toda una red local dentro del Tailnet. Un Exit Node reenvía todo tu tráfico de Internet a través de otro dispositivo Tailscale, similar a una VPN clásica.
¿Funciona Tailscale detrás de un firewall restrictivo?
Sí. Tailscale utiliza varios métodos para establecer conexiones, incluyendo servidores relay a través de HTTPS. Mientras tu dispositivo tenga acceso a Internet, Tailscale generalmente funciona.
¿Puedo tener múltiples usuarios en un Tailnet?
Sí. En el plan gratuito puedes invitar a múltiples usuarios. Cada usuario gestiona sus propios dispositivos. Con ACLs controlas quién puede acceder a qué servicios.
¿Qué sucede si mi servidor está desconectado?
No será accesible a través de Tailscale. Tailscale solo establece conexiones con dispositivos que estén en línea. Tan pronto como el servidor se inicie y Tailscale comience, volverá a ser accesible automáticamente.
¿Necesito MagicDNS?
No, es opcional. Sin MagicDNS utilizas las direcciones IP de Tailscale. Con MagicDNS puedes usar nombres de dispositivos como ollama-server, lo que es más conveniente.
¿Puedo usar Tailscale y una VPN clásica al mismo tiempo?
Sí. Tailscale funciona en paralelo con otras VPNs porque utiliza su propia interfaz de red. Solo ten cuidado con conflictos de enrutamiento si ambas VPNs utilizan los mismos rangos IP.
¿Es Tailscale Open Source?
El cliente es Open Source, la parte del servidor que realiza la coordinación es propietaria. Existe Headscale como alternativa Open Source para el servidor, que puedes alojar tú mismo.
Fuentes
- Documentación de Tailscale: https://tailscale.com/kb
- Proyecto WireGuard: https://www.wireguard.com/
- Documentación de ACL en Tailscale: https://tailscale.com/kb/1018-acls
- Subnet Router de Tailscale: https://tailscale.com/kb/1019-subnets


