PTENES
Saltar al contenido
MÓDULO 2.4

🔗 Red privada con Tailscale

Tu modelo funciona en una máquina en casa, pero quieres usarlo desde una cafetería, el celular o el trabajo. La respuesta no es abrir puertos en el router. Es conectar todos tus dispositivos en una red privada cifrada con Tailscale, como si estuvieran en la misma sala. Este módulo configura esa red de principio a fin.

6
Temas
~30
Minutos
Práctico
Nivel
Red
Tipo

Contenido detallado

1

🌐 El problema: usar tus modelos desde cualquier lugar

El modelo está funcionando de maravilla — solo que en la máquina de casa. Sales y queda encerrado detrás de tu router. El instinto equivocado es abrir un puerto en el router (port-forward) y apuntar a internet. Eso deja tu PC expuesta al mundo entero: cualquier bot que explore internet encuentra el puerto abierto en minutos.

🆕 ¿Eres nuevo por aquí?

"Puerto" es un número que identifica un servicio en una máquina (Ollama atiende en el 11434). "Redirección de puertos" es pedirle al router que reenvíe ese puerto a la internet pública; es cómodo, pero equivale a abrir la ventana de tu casa a la calle. "VPN" es un túnel cifrado que conecta máquinas como si estuvieran en la misma red local.

✗ Abrir puertos en el router

  • ✗Tu PC queda visible para todo internet
  • ✗Los bots rastrean e intentan vulnerar el puerto abierto
  • ✗Depende de una IP fija / DNS dinámico y de una configuración frágil
  • ✗Sin cifrado de extremo a extremo por defecto

✓ Red privada (Tailscale)

  • ✓Ningún puerto expuesto a la Internet pública
  • ✓Solo tus dispositivos con sesión iniciada pueden ver el modelo
  • ✓Funciona detrás de cualquier router, sin IP fija
  • ✓Tráfico cifrado de extremo a extremo
Modelo
atrapado en casa
Redirección de puertos
= riesgo
Meta
acceder desde fuera
Camino
red privada
2

🕸️ Qué es Tailscale

Tailscale es una VPN mesh: en lugar de que todos pasen por un servidor central, cada dispositivo habla directamente con los demás, en un túnel cifrado. Instalas, inicias sesión con la misma cuenta en cada dispositivo y listo: forman una red privada llamada tailnet, como si estuvieran conectados al mismo switch.

🆕 ¿Eres nuevo por aquí?

  • VPN mesh: red en la que cada par de dispositivos se comunica punto a punto, sin un servidor intermediario que congestione el tráfico.
  • WireGuard: el protocolo de túnel cifrado, moderno y ligero que Tailscale usa internamente: rápido y auditado.
  • tailnet: el nombre de tu red privada: el conjunto de todos tus dispositivos con sesión iniciada en la misma cuenta.

🔑 La idea central

Cada dispositivo en la tailnet obtiene una dirección fija y estable en el rango 100.x.y.z. Esta IP funciona desde cualquier lugar del mundo —en casa, con 4G, en el Wi-Fi de un café— y siempre apunta al mismo dispositivo, con tráfico cifrado.

  • •Punto a punto: los datos van directamente entre tus dispositivos (WireGuard), sin desvíos.
  • •Cero configuración de red: atraviesa NAT y firewall por sí solo; no hace falta abrir puertos en el router.
  • •Identidad, no contraseña: inicias sesión con tu cuenta (Google, GitHub...), y solo ingresan tus dispositivos.
Laptop100.x.x.11 Celular100.x.x.12 Servidor100.x.x.13 PC + GPU100.x.x.14 modelo · Ollamapuerto 11434 tailnet red privada

Los cuatro dispositivos (en azul) están interconectados en la misma tailnet — las líneas punteadas muestran que la conversación es directa, entre pares. El modelo (en cian) funciona en la PC con GPU y, al estar en la red, cualquier dispositivo con sesión iniciada puede acceder a ella por la IP 100.x.

3

⚙️ Instalar e iniciar sesión

Incorporar un dispositivo a la tailnet tres pasos: instala el cliente, inicia Tailscale y autentícate. Hazlo en cada máquina que quieras en la red (PC, servidor, laptop); el celular usa la app de la tienda.

1

Instalar el cliente

Un solo script funciona en Linux y macOS. En Windows, descarga el instalador en tailscale.com/download.

2

Iniciar y autenticar

tailscale up abre un enlace en el navegador; inicias sesión con tu cuenta (Google/GitHub/Microsoft) y el dispositivo se une a la tailnet.

3

Anotar la IP de la tailnet

Cada máquina obtiene un 100.x.y.z. Esta es la dirección que usarás para acceder a ella desde cualquier lugar.

⌨️ Ejemplo práctico: instalar e iniciar Tailscale

Objetivo: conectar esta máquina (Linux/macOS) a tu red privada. Pega en la terminal, una línea a la vez.

# 1) instalar el cliente (Linux y macOS)
curl -fsSL https://tailscale.com/install.sh | sh
# 2) inicia sesión y autentícate (abre el inicio de sesión en el navegador)
sudo tailscale up
# 3) descubre la IP de esta máquina en la tailnet
tailscale ip -4

Cómo verificar: o tailscale ip -4 debe imprimir una dirección que empiece con 100. (ej.: 100.115.92.14). Ejecuta tailscale status para listar todos tus dispositivos en línea — si aparecen, la tailnet está activa.

💡 Consejo práctico

En una máquina que siempre está encendida (tu servidor/PC del modelo), usa sudo tailscale up --ssh para también poder acceder por SSH desde cualquier lugar de la tailnet — sin abrir ningún puerto. Y activa la opción de clave que no expira en el panel de administración para no tener que volver a autenticar ese host a cada rato.

4

📡 Acceder al modelo por la red

Por defecto, Ollama solo escucha en localhost — es decir, solo la propia máquina puede verlo. Para que otros dispositivos de la tailnet llamen al modelo, haces que Ollama escuche en todas las interfaces con OLLAMA_HOST=0.0.0.0. Entonces, cualquier dispositivo con sesión iniciada se comunica con él por la IP 100.x del host.

🎯 El flujo, en dos máquinas

  • •En el host del modelo (PC + GPU): inicia Ollama escuchando en la red y descubre la IP 100.x de él.
  • •En el otro dispositivo (laptop): llama a la API de Ollama en esa IP 100.x:11434 — como si el modelo se ejecutara localmente.

⌨️ Ejemplo práctico: exponer Ollama en la tailnet y acceder desde otro device

Objetivo: ejecutar el modelo en una máquina y usarlo desde otra, a través de la red privada.

# --- EN EL HOST DEL MODELO (PC + GPU) ---
# hacer que Ollama escuche en la red, no solo en localhost
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
# ¿cuál es la IP de este host en la tailnet?
tailscale ip -4  # ej.: 100.115.92.14
# --- EN EL OTRO DEVICE (laptop, ya en la tailnet) ---
# llamar al modelo mediante la IP 100.x del host
curl http://100.115.92.14:11434/api/generate \
  -d '{"model":"llama3.2","prompt":"diga oi","stream":false}'

Cómo verificar: o curl del laptop debe devolver un JSON con el campo response completado. Si se bloquea, comprueba: (a) que el host respondió a tailscale status? (b) el firewall del host permite el puerto 11434 ¿en la interfaz de la tailnet? Una prueba rápida: curl http://100.115.92.14:11434/api/tags debe listar los modelos instalados.

🔌 El truco

Con esto, cualquier herramienta que se comunique con la API de Ollama (Open WebUI, scripts Python, tus agentes de la Trilha 4) pasa a apuntar a la IP 100.x en lugar de localhost — y funciona estés donde estés. El modelo se convierte en un servicio de tu red privada.

localhost
solo la máquina
0.0.0.0
escucha la red
IP 100.x
dirección del host
:11434
puerto de Ollama
5

📱 Del celular a la laptop

Aquí el truco se vuelve concreto: instala la app Tailscale en el celular (App Store / Play Store), inicia sesión con la misma cuenta, y el teléfono se conecta a la tailnet. Ahora, desde la calle y con 4G, abres una interfaz de chat apuntada a la IP 100.x de casa y conversa con tu modelo — ejecutándose en tu GPU, sin nube ni puertos abiertos.

1

App en el celular

Instala Tailscale, activa la VPN e inicia sesión con la misma cuenta. El teléfono obtiene su propia IP 100.x.

2

Apunta al host de casa

En el navegador del celular (o en una app de chat de LLM), usa http://100.x.y.z:11434 — la IP de tu PC con GPU, o la interfaz Open WebUI de la Trilha 3 alojada allí.

3

Úsalo desde cualquier lugar

Funciona en el Wi-Fi del café, con 4G, en casa de un amigo. La tailnet te sigue; el modelo se queda en casa.

💡 Consejo práctico

Activa el MagicDNS en el panel de Tailscale: en vez de memorizar 100.115.92.14, accedes al host con un nombre fácil de recordar, como http://pc-gpu:11434. Más fácil de recordar y no cambia si cambia la IP.

App
misma cuenta
4G/Wi-Fi
da igual
Modelo
se queda en casa
Tú
en cualquier lugar
6

🛡️ Seguridad y ACLs

La tailnet ya es privada — pero puedes reforzarla aún más. El principio es privilegio mínimo: cada dispositivo solo accede a lo que necesita. En una red con pocos dispositivos tuyos esto importa poco; cuando agregues la máquina de un colega o un servidor compartido, las ACLs se volvieron esenciales.

🆕 ¿Eres nuevo por aquí?

  • MagicDNS: recurso que asigna nombres (en vez de IP) a tus dispositivos dentro de la tailnet — pc-gpu en lugar de 100.x.y.z.
  • ACL (Access Control List): reglas que indican quién puede comunicarse con quién en la tailnet; p. ej.: "el celular puede acceder al puerto 11434 de PC-GPU, y solo a ese".

⚠️ Alerta de seguridad

  • •No expongas Ollama a la internet pública. OLLAMA_HOST=0.0.0.0 es seguro porque solo la tailnet puede acceder a la máquina; nunca combines esto con el redireccionamiento de puertos en el router.
  • •Siempre, el menor privilegio. Si compartes la tailnet con otra persona, usa ACL para habilitar solo el puerto del modelo, no todo el dispositivo.
  • •El modelo no tiene inicio de sesión. La API de Ollama no pide contraseña; tu única barrera es la red. Mantén la tailnet cerrada a quienes no sean de confianza.

✓ Buenas prácticas de red

  • ✓Acceso solo por la tailnet, sin abrir puertos en el router
  • ✓ACL que permite solo el puerto del modelo
  • ✓MagicDNS para nombres estables y legibles
  • ✓Revisar los dispositivos en el panel; eliminar los que no usas

✗ Receta para problemas

  • ✗Redirección del puerto 11434 a la internet pública
  • ✗Tailnet abierta con acceso total entre todos
  • ✗Invitar a gente sin restringir por ACL
  • ✗Creer que "0.0.0.0" basta sin entender quién escucha

⌨️ Ejemplo práctico: una ACL de mínimo privilegio

Objetivo: dejar que solo tus dispositivos accedan al puerto 11434 del host del modelo. Edítalo en el panel de administración de Tailscale (Access controls).

{
  "acls": [
    {
      "action": "accept",
      "src": ["autogroup:member"],
      "dst": ["tag:modelo:11434"]
    }
  ]
}

Cómo verificar: marca el host del modelo con la etiqueta modelo en el panel; después, desde un dispositivo autorizado, el curl 100.x:11434/api/tags responde — y si la conexión proviene de un dispositivo fuera de la regla, se rechaza. Mínimo privilegio en la práctica.

Autoevaluación (opcional): ¿cuál es la forma recomendada de acceder a tu modelo local cuando estás fuera de casa?

Privilegio
lo más pequeño posible
ACL
quién se comunica con quién
MagicDNS
nombres, no IP
Internet
nunca expuesta

📌 Resumen del módulo

✓
No abras puertos en el router — el port-forward expone tu PC al mundo; la solución es una red privada.
✓
Tailscale = VPN mesh (WireGuard) — tus dispositivos forman la tailnet; cada uno tiene una IP 100.x estable.
✓
Exponer el modelo es una línea — OLLAMA_HOST=0.0.0.0 y conéctate desde otro dispositivo usando la IP 100.x.
✓
Seguridad = mínimo privilegio — ACL y MagicDNS; nunca expuesto a la Internet pública.

Siguiente:

Ruta 3 — Instalación y técnicas. Completaste la Ruta 2: hardware elegido, base lista y red privada en marcha. Ahora es hora de instalar el primer modelo y dominar las técnicas.