Skip to content
BotServBotServ
TailscaleVPNWireGuardRedOllamaSeguridadAuto-hospedaje

Tailscale: Red segura para servicios IA

Tailscale para servicios IA: VPN seguro sin port-forwarding. Usa Ollama y servicios IA de forma remota segura. Guía de configuración.

S

schutzgeist

12 min read
Tailscale: Red segura para servicios IA

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érminoSignificado
TailscaleServicio VPN basado en WireGuard que crea una red mesh
VPNRed privada virtual, túnel cifrado entre dispositivos
WireGuardProtocolo VPN moderno en el que se basa Tailscale
Mesh NetworkTopología de red donde los dispositivos están conectados directamente entre sí
TailnetLa red privada que comprende todos tus dispositivos Tailscale
NodeUn dispositivo en el Tailnet, por ejemplo servidor, portátil o móvil
Exit NodeUn dispositivo Tailscale a través del cual puedes encaminar todo el tráfico de internet
Subnet RouterUn dispositivo Tailscale que hace accesible una red local completa en el Tailnet
ACLLista de control de acceso, reglas que definen quién puede acceder a quién en el Tailnet
MagicDNSFunció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

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

Volver al blog
Share:

Nächster Artikel in Auto-hospedaje

Weiterlesen
Nginx Proxy Manager: Reverse Proxy fácil

Entradas relacionadas