Compartir Ollama en tu red local (familia, equipo)
Ejecutar Ollama como servidor en la red local lo cambia todo: una sola GPU, varios usuarios. Tu pareja desde su MacBook, el desarrollador desde su ordenador de sobremesa, el niño desde la tableta: todos envían sus solicitudes al mismo daemon, sin duplicar 30 GB de modelos. Esta guía muestra cómo hacer que Ollama sea accesible en la red local de forma adecuada, sin abrirlo al mundo entero.
#¿Por qué un servidor Ollama en red local?
Por defecto, Ollama escucha únicamente en 127.0.0.1:11434, por lo que solo la máquina en la que se ejecuta puede acceder a él. Es seguro, pero desaprovecha la GPU. Una RTX 4090 o un Mac Studio M4 Max atiende a entre 3 y 5 usuarios simultáneos sin problemas con modelos de 7B a 14B en Q4.
- Compartir la VRAM
- Un solo modelo cargado en memoria para toda la casa o el equipo — sin copias redundantes.
- Centralizar los modelos
- 150 GB de GGUF almacenados una vez en el servidor, nunca en los portátiles.
- Estandarizar las versiones
- Todo el mundo usa el mismo Qwen 3.5 9B Q4: se acabaron las diferencias de calidad entre los equipos.
- Ahorrar batería
- Los portátiles no calculan nada — envían un POST HTTP al servidor fijo.
#Prerrequisitos
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Actualizaciones de por vida
- Ollama instalado
- En la máquina que alojará el servidor (Linux, macOS o Windows). Idealmente, la máquina con la mejor GPU.
- IP fija o DNS local
- El servidor debe mantener la misma IP. Reserva DHCP en el router o IP estática. Como alternativa, hostname.local mediante mDNS.
- Red de confianza
- Wi-Fi doméstico con WPA2/3 o una VLAN del equipo. Nada de redes Wi-Fi públicas compartidas.
- Derechos de administrador
- Para modificar el firewall y el servicio del sistema (systemd, launchd, services.msc).
#1. Exponer Ollama con OLLAMA_HOST=0.0.0.0
Ollama lee dos variables de entorno clave: OLLAMA_HOST define la interfaz de escucha y OLLAMA_ORIGINS define los orígenes CORS autorizados. Para pasar al modo servidor, se cambia OLLAMA_HOST de 127.0.0.1 a 0.0.0.0 (todas las interfaces).
#Linux (systemd)
En distribuciones modernas, Ollama se ejecuta a través de systemd. Se edita el override del servicio en lugar del archivo base — así sobrevive a las actualizaciones del paquete.
En el editor que se abre, pega este bloque entre las líneas comentadas:
Comprueba que ss -tlnp muestre Ollama en 0.0.0.0:11434 y ya no solo en 127.0.0.1:11434.
#Windows
En Windows, Ollama lee las variables de entorno del usuario al arrancar. El método adecuado: añadir OLLAMA_HOST a las variables de usuario y luego reiniciar el servicio desde la barra de tareas (clic derecho en el icono → Quit Ollama y, después, volver a iniciarlo).
#2. Abrir el firewall para la LAN
Una vez que Ollama esté escuchando en 0.0.0.0, el firewall debe permitir el puerto 11434, pero solo desde la red local. Nunca abrir el puerto 11434 a Internet: Ollama no tiene autenticación nativa.
#UFW (Ubuntu, Debian)
Ajusta 192.168.1.0/24 a tu subred real (ip a para verificar). Si dejas ufw allow 11434 sin restricción de origen y la máquina está expuesta detrás de un port-forward, ofreces Ollama al mundo entero —anónimamente.
#iptables (sin UFW)
#Firewall de Windows Defender
#3. Particularidades de macOS
En macOS, Ollama funciona como una aplicación con interfaz gráfica (icono en la barra de menús) que inicia el daemon en segundo plano. La aplicación con interfaz gráfica no recibe las variables de entorno definidas en el shell: hay que usar launchctl o modificar la aplicación.
- 01Salir completamente de OllamaHaz clic en el icono de la llama en la barra de menús → Quit Ollama. Comprueba con ps aux | grep ollama que ya no quede nada en ejecución.
- 02Definir la variable a nivel de launchctlEn un terminal: launchctl setenv OLLAMA_HOST "0.0.0.0:11434" y luego launchctl setenv OLLAMA_ORIGINS "*". Todas las aplicaciones con interfaz gráfica que se inicien después heredarán estas variables.
- 03Reiniciar Ollama.appAbre Applications → Ollama.app. La aplicación volverá a leer el entorno y escuchará en 0.0.0.0.
- 04Mantener la configuración tras reiniciarlaunchctl setenv no sobrevive al reinicio. Para hacerlo permanente, crea un LaunchAgent ~/Library/LaunchAgents/com.ollama.env.plist (ver documentación de Apple) o vuelve a ejecutar los setenv desde un script de inicio.
#4. Conectar los clientes
Desde otra máquina de la LAN, la IP del servidor sustituye a localhost en todos los comandos y configuraciones.
Para la CLI ollama misma, se exporta OLLAMA_HOST desde el lado del cliente — la orden ollama run pointe hacia el servidor remoto.
- Open WebUI
- En Settings → Connections, añade la URL http://192.168.1.42:11434 como Ollama API URL. La interfaz funciona en cualquier máquina de la LAN.
- Continue.dev (VS Code)
- En config.json, el campo apiBase del proveedor ollama apunta hacia http://192.168.1.42:11434.
- LangChain Python
- Ollama(base_url="http://192.168.1.42:11434", model="qwen3.5:9b") — igual que al usar localhost en la propia máquina.
#5. Reverse proxy Nginx + autenticación básica
Exponer Ollama sin protección adicional en la LAN es aceptable para la familia, pero para un equipo es mejor añadir al menos autenticación HTTP Basic y algo de registro de actividad. Nginx lo hace en 20 líneas.
Importante: con esta configuración, Ollama debe volver a 127.0.0.1:11434 (no a 0.0.0.0). Nginx escucha públicamente en el puerto 8080, verifica la IP y la contraseña y luego reenvía las solicitudes a Ollama en local. Los clientes ahora acceden a http://alice:motdepasse@192.168.1.42:8080.
#Buenas prácticas de seguridad
- Restringir por IP de origen en el firewall
- Doble precaución: incluso con Nginx, mantén la regla UFW/iptables. Un fallo de Nginx o una vinculación incorrecta a una dirección de escucha puede exponer directamente el puerto 11434.
- Desactivar /api/create desde el exterior
- Esta ruta permite enviar un Modelfile arbitrario. Con Nginx, añade location /api/create { return 403; }.
- Registrar las solicitudes
- El access_log de Nginx muestra quién llama a qué. Es útil para detectar una exposición de la IP del servidor o un cliente mal configurado que envía solicitudes de forma masiva.
- Cuotas por usuario
- Ollama no lo ofrece de forma nativa. Para ponerle límites a Bob cuando lanza una tarea de generación pesada a las 3 de la madrugada, considera LiteLLM u Open WebUI como capa de middleware.
- Hacer una copia de seguridad de ~/.ollama
- El servidor centralizado se convierte en un punto único de falla. El directorio de modelos puede pesar 100+ GB — al menos un script rsync hacia un disco externo.
#Solución de problemas
- Error «Connection refused» desde un cliente
- Ollama sigue escuchando en 127.0.0.1. Comprueba ss -tlnp | grep 11434 en el servidor: si muestra 127.0.0.1:11434, el servicio no está reconociendo la variable OLLAMA_HOST. Vuelve a comprobar systemctl show ollama | grep Environment.
- Connection timed out
- El firewall bloquea la conexión. Prueba nc -zv 192.168.1.42 11434 desde el cliente: si aparece timeout, es el firewall. Si aparece refused, es Ollama el que no está escuchando.
- Error CORS en Open WebUI
- OLLAMA_ORIGINS=* faltante o no aplicado. Para depuración: curl -H "Origin: http://autre-machine" -I http://192.168.1.42:11434 — la respuesta debe contener Access-Control-Allow-Origin.
- macOS: variable ignorada tras reinicio
- launchctl setenv no persiste. Se necesita un LaunchAgent. Alternativa práctica: un script ~/start-ollama.sh que haga launchctl setenv + open Ollama.app, que se debe lanzar manualmente tras cada reinicio.
- Lentitud repentina con varios usuarios
- Ollama procesa las consultas en cola por modelo. Con 3 usuarios simultáneos en un 14B, el 3.º espera. OLLAMA_NUM_PARALLEL=2 (variable de entorno) permite 2 consultas en paralelo a cambio de más VRAM.
- El modelo se libera de la memoria entre las peticiones
- Por defecto, Ollama retira un modelo de la memoria 5 minutos después de la última solicitud. OLLAMA_KEEP_ALIVE=24h obliga a mantenerlo en VRAM, algo crucial para un servidor compartido.
#Para ir más allá
El servidor Ollama compartido es la base de una configuración multiusuario. A partir de ahí, hay tres caminos naturales:
- Añadir una interfaz de chat compartida
- La guía «Open WebUI con Ollama: guía completa» detalla cómo configurar una interfaz similar a ChatGPT para varios usuarios que se conecta a este servidor.
- Desplegar en producción con Docker
- La guía 'Desplegar un LLM en producción con Docker Compose' muestra la misma arquitectura en contenedores con Traefik y HTTPS.
- Extender a un chatbot de intranet
- La guía Desplegar un chatbot de IA para tu equipo en la intranet añade autenticación SSO, monitorización y copias de seguridad de las conversaciones.
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.