Skip to content
BotServBotServ
OllamaRedRemotoOLLAMA_HOSTOLLAMA_ORIGINSFirewallReverse ProxySeguridad

Acceso remoto a Ollama: Configuración de red

Hacer Ollama accesible en la red: OLLAMA_HOST, OLLAMA_ORIGINS, Firewall, Reverse Proxy y configuración segura.

S

schutzgeist

10 min read
Acceso remoto a Ollama: Configuración de red

Acceso a Ollama por red: configurar acceso remoto

Qué trata este artículo sobre acceso a Ollama por red

  • Cómo alcanzar Ollama desde otros dispositivos en la red.
  • Qué variables de entorno debes establecer.
  • Cómo configurar correctamente el firewall.
  • Qué riesgos de seguridad existen y cómo minimizarlos.
  • Cómo asegurar Ollama con Reverse Proxy, TLS y VPN.

Introducción: acceso a Ollama por red explicado

Tras la instalación, Ollama se ejecuta por defecto únicamente en local. Esto significa que solo los programas en la misma máquina pueden acceder a la API. Sin embargo, si ejecutas Ollama en un servidor o quieres usarlo desde una laptop, tablet u otro miembro del equipo, necesitas acceso por red. Este artículo te muestra paso a paso cómo hacer que Ollama sea accesible en la red y qué medidas de seguridad son importantes.

¿Por qué necesito acceso por red?

Imagina que tienes un servidor potente con una buena GPU en el sótano. En ese servidor se ejecuta Ollama con un modelo grande como Llama 3.1. Tu laptop en la sala de estar no tiene GPU propia y sería demasiado lenta para este modelo. Si haces que Ollama sea accesible en la red, puedes acceder al servidor desde tu laptop y aún así obtener respuestas rápidas.

Otro ejemplo: en un equipo, cada desarrollador quiere usar la misma IA local sin tener que descargar y ejecutar su propio modelo. Un servidor Ollama centralizado en la red resuelve este problema. Encontrarás más información al respecto en el artículo LLM ejecutado localmente.

Acceso a Ollama por red explicado brevemente

Ollama escucha por defecto solo en 127.0.0.1, es decir, localhost. Para hacerlo accesible en la red, estableces la variable de entorno OLLAMA_HOST en 0.0.0.0:11434. Luego abres el puerto en el firewall y configuras OLLAMA_ORIGINS si quieres acceder desde el navegador. Para configuraciones seguras, se recomienda un Reverse Proxy con TLS o una VPN como Tailscale.

¿Para quién es este artículo?

Este artículo está dirigido a principiantes que quieren hacer que Ollama sea accesible en la red local por primera vez. No necesitas conocimientos profundos de redes, pero deberías saber trabajar con la línea de comandos. Si aún no has instalado Ollama, comienza con la descripción general de Ollama y la instalación.

Términos importantes alrededor del acceso a Ollama por red

TérminoSignificado
OLLAMA_HOSTVariable de entorno que establece la dirección y puerto de Ollama
OLLAMA_ORIGINSVariable de entorno para orígenes permitidos en solicitudes CORS
localhostDirección 127.0.0.1, accesible solo desde tu propia máquina
0.0.0.0Dirección que escucha en todas las interfaces de red
PortNúmero de conexión de red, Ollama usa 11434 por defecto
FirewallFiltro de red que controla conexiones entrantes y salientes
CORSCross-Origin Resource Sharing, mecanismo para accesos desde navegador
Reverse ProxyServidor que se coloca delante de Ollama y reenvía solicitudes
TLSProtocolo de cifrado para conexiones de red seguras
TailscaleSolución VPN para conexiones de red simples y seguras

Comportamiento por defecto: solo localhost

Tras la instalación, Ollama escucha en 127.0.0.1:11434. Esto significa que solo los programas en la misma máquina pueden acceder a la API. Una llamada desde otro dispositivo en la red fallará porque la conexión ni siquiera se acepta.

Puedes verificarlo revisando en qué direcciones escucha Ollama:

ss -tlnp | grep ollama

En macOS y Windows puedes utilizar los comandos netstat o lsof. La salida muestra que Ollama está enlazado únicamente a 127.0.0.1. Esta es una medida de seguridad deliberada, pues así nadie de la red puede acceder sin autorización a tus modelos.

Paso 1: Establecer OLLAMA_HOST

Para hacer que Ollama escuche en todas las interfaces de red, estableces la variable de entorno OLLAMA_HOST en 0.0.0.0:11434. En Linux, añades esto al archivo de servicio:

sudo systemctl edit ollama

En el editor añades lo siguiente:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

Luego recarga la configuración e inicia el servicio:

sudo systemctl daemon-reload
sudo systemctl restart ollama

En macOS puedes establecer la variable en tu shell antes de iniciar Ollama:

export OLLAMA_HOST=0.0.0.0:11434
ollama serve

En Windows utiliza las variables de entorno del sistema. Abre la configuración de variables de entorno, añade OLLAMA_HOST con el valor 0.0.0.0:11434 e inicia Ollama de nuevo.

Después de este cambio, Ollama escucha en todas las interfaces de red disponibles. Puedes verificarlo nuevamente con ss -tlnp. Encontrarás más detalles sobre la configuración en el artículo Configuración de Ollama.

Paso 2: Configurar OLLAMA_ORIGINS

Si quieres acceder a Ollama desde el navegador, por ejemplo mediante Open WebUI o tu propia aplicación web, necesitas la variable OLLAMA_ORIGINS. Sin ella, Ollama bloquea las solicitudes que provienen de otro origen con un error CORS.

Establece los orígenes permitidos separados por comas:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=http://192.168.1.50:3000,http://mein-server:3000"

Para pruebas también puedes permitir todos los orígenes, aunque no se recomienda para configuraciones permanentes:

Environment="OLLAMA_ORIGINS=*"

Inicia el servicio después. Si ves errores CORS en el navegador, generalmente significa que OLLAMA_ORIGINS no está configurado correctamente.

Paso 3: Abrir el firewall

Aunque Ollama ahora escucha en 0.0.0.0, el firewall podría bloquear aún las conexiones externas. Debes abrir el puerto 11434.

Linux con ufw:

sudo ufw allow 11434/tcp
sudo ufw reload

Es mejor restringir el acceso a tu red local en lugar de abrir el puerto globalmente:

sudo ufw allow from 192.168.1.0/24 to any port 11434

Encontrarás más información sobre la configuración del firewall en el artículo Firewall.

Windows:

New-NetFirewallRule -DisplayName "Ollama" -Direction Inbound -Protocol TCP -LocalPort 11434 -Action Allow

macOS:

El firewall de macOS no bloquea las conexiones entrantes por defecto, a menos que esté explícitamente activado. Si utilizas una aplicación de firewall, añade una excepción para el puerto 11434.

Paso 4: Acceder desde otros dispositivos

Ahora puedes acceder a Ollama desde otra máquina en la red. Primero encuentra la dirección IP del servidor Ollama:

ip addr

Supongamos que la dirección es 192.168.1.100. Entonces pruebas desde otro dispositivo:

curl http://192.168.1.100:11434/api/tags

Si recibes una respuesta JSON con los modelos disponibles, el acceso a la red funciona. Una solicitud simple de generación se ve así:

curl http://192.168.1.100:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Hola desde la red",
  "stream": false
}'

En el navegador puedes utilizar Open WebUI e introducir http://192.168.1.100:11434 como dirección de Ollama. Encontrarás más información sobre la API en el artículo API de Ollama.

Seguridad: qué debes tener en cuenta

Ollama no tiene autenticación por defecto. Cualquiera que alcance el puerto puede cargar modelos, enviar consultas y recibir respuestas. Esto es aceptable en una red local, pero se convierte en un problema cuando Ollama es accesible desde Internet.

Los riesgos principales son:

  • Personas no autorizadas pueden usar tus modelos y consumir recursos computacionales.
  • Los modelos pueden proporcionar respuestas sensibles visibles para terceros.
  • Con una configuración incorrecta del firewall, Ollama es accesible desde cualquier lugar del mundo.

Por eso debes seguir estas reglas:

  1. Nunca expongas Ollama directamente a Internet. Utiliza siempre un firewall, un reverse proxy o una VPN.
  2. Abre el puerto 11434 solo para redes de confianza. Restringe el acceso a tu LAN o VPN.
  3. Autenticación mediante reverse proxy. Coloca Nginx con Basic Auth o un plugin de autenticación delante.
  4. TLS para conexiones encriptadas. Sin TLS, las consultas viajan en texto plano a través de la red.

Encontrarás más información sobre este tema en Seguridad de red.

Reverse proxy con Nginx

Un reverse proxy es el método más seguro para ofrecer Ollama en la red o por Internet. Nginx recibe las consultas, verifica permisos y las reenvía a Ollama.

Una configuración básica de Nginx se ve así:

server {
    listen 80;
    server_name ollama.example.local;

    location / {
        proxy_pass http://127.0.0.1:11434;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Streaming unterstützen
        proxy_buffering off;
        proxy_read_timeout 300s;
    }
}

Para Basic Auth, creas un archivo de contraseñas:

sudo htpasswd -c /etc/nginx/.htpasswd meinuser

Y complementas la configuración de Nginx:

auth_basic "Ollama";
auth_basic_user_file /etc/nginx/.htpasswd;

Para TLS, usa Let’s Encrypt o un certificado autofirmado. Con certbot configuras TLS automáticamente:

sudo certbot --nginx -d ollama.example.com

Después, Ollama es accesible a través de https://ollama.example.com con autenticación y encriptación. Más detalles en el artículo Reverse Proxy.

Solución VPN con Tailscale

Si no quieres hacer que Ollama sea accesible a través de un reverse proxy, una VPN es una buena alternativa. Tailscale es particularmente fácil de configurar y no requiere redirecciones de puertos en el firewall.

Así funciona:

  1. Instala Tailscale en el servidor Ollama y en todos los dispositivos que necesiten acceder.
  2. Registra todos los dispositivos con la misma cuenta de Tailscale.
  3. Establece OLLAMA_HOST en la IP de Tailscale del servidor o en 0.0.0.0:11434.
  4. Accede a Ollama a través de la IP de Tailscale.
curl http://100.x.y.z:11434/api/tags

Tailscale encripta la conexión automáticamente. No necesitas un reverse proxy ni redirecciones de puertos. Esto es especialmente útil cuando quieres acceder a Ollama desde fuera de tu red. Más detalles en el artículo Tailscale.

Problemas típicos con el acceso de red

  1. OLLAMA_HOST no está configurada. Ollama sigue escuchando solo en localhost, y las conexiones desde otros dispositivos fallan.
  2. El firewall bloquea el puerto. Ollama está configurado correctamente, pero el firewall no permite conexiones.
  3. Errores CORS en el navegador. OLLAMA_ORIGINS no está configurada o no contiene el origen correcto.
  4. Dirección IP incorrecta. Intentas acceder a localhost en lugar de la IP de red del servidor.
  5. Sin reinicio después de cambios. Las variables de entorno se activan solo después de reiniciar el servicio.
  6. Puerto ya en uso. Otro servicio utiliza el puerto 11434. Verifica con ss -tlnp | grep 11434.
  7. Docker port mapping olvidado. Con Docker debes reenviar el puerto con -p 11434:11434.
  8. Ollama en WSL2. WSL2 tiene su propia dirección IP, diferente de la IP de Windows. Necesitas port forwarding o una configuración de red WSL2 mirror.

Para más problemas, consulta el artículo Solución de problemas de Ollama.

Hardware, costos y seguridad con acceso de red

Los requisitos de hardware no cambian con el acceso de red. El servidor donde corre Ollama sigue necesitando suficiente RAM e idealmente una GPU. Los dispositivos que acceden no necesitan su propia GPU, ya que el cálculo ocurre en el servidor.

Los costos surgen solo por hardware y electricidad. Ollama es gratuito y de código abierto. Con un reverse proxy y Let’s Encrypt tampoco hay costos adicionales. Tailscale es gratuito para uso privado con hasta 100 dispositivos.

Desde el punto de vista de la seguridad, el acceso de red es la parte más crítica de tu configuración de Ollama. Sin autenticación y encriptación, Ollama es una puerta abierta. Invierte tiempo en un reverse proxy o una VPN antes de hacer que Ollama sea accesible en la red.

Enlaces adicionales e información sobre acceso de red

FAQ: Acceso de red a Ollama - Preguntas frecuentes

¿Cómo hago que Ollama sea accesible en la red?

Establece la variable de entorno OLLAMA_HOST en 0.0.0.0:11434, abre el puerto 11434 en el firewall y reinicia el servicio. Después podrás acceder desde otros dispositivos usando la dirección IP del servidor.

¿Qué hace OLLAMA_HOST?

OLLAMA_HOST especifica en qué dirección y puerto escucha Ollama. El valor predeterminado es 127.0.0.1:11434, es decir, solo localhost. Con 0.0.0.0:11434, Ollama escucha en todas las interfaces de red.

¿Qué es OLLAMA_ORIGINS?

OLLAMA_ORIGINS controla qué orígenes se permiten en las solicitudes del navegador. Sin esta variable, Ollama bloquea las solicitudes CORS. Especificas las direcciones de tus aplicaciones web separadas por comas.

¿Cómo accedo a Ollama desde el navegador?

Necesitas OLLAMA_ORIGINS con el origen de tu aplicación web, por ejemplo http://192.168.1.50:3000. Luego puedes enviar llamadas fetch a la API de Ollama desde JavaScript.

¿Es seguro Ollama sin autenticación?

No. Ollama no tiene autenticación por defecto. Cualquiera que alcance el puerto puede usar los modelos. Utiliza un reverse proxy con Basic Auth o una VPN como Tailscale.

¿Puedo hacer que Ollama sea accesible desde Internet?

Sí, pero solo con un reverse proxy que tenga TLS y autenticación, o a través de una VPN. Nunca expongas Ollama directamente a Internet sin protección.

¿Qué puerto utiliza Ollama?

Por defecto el puerto 11434. Puedes cambiarlo a través de OLLAMA_HOST, por ejemplo 0.0.0.0:8080 para el puerto 8080.

¿Por qué obtengo un error CORS?

Probablemente OLLAMA_ORIGINS no está configurada o no contiene el origen desde el que accedes. Especifica el origen de tu aplicación y reinicia Ollama.

¿Funciona Ollama con Tailscale?

Sí. Instala Tailscale en el servidor y en los dispositivos que acceden, establece OLLAMA_HOST en 0.0.0.0:11434 y accede a través de la IP de Tailscale. La conexión se encripta automáticamente.

¿Necesito ajustar el firewall?

Sí, si Ollama debe ser accesible desde otros dispositivos. Abre el puerto 11434 para TCP, idealmente restringido a tu red local o VPN.

¿Cómo verifico que Ollama es accesible en la red?

Desde otro dispositivo, ejecuta curl http://SERVER-IP:11434/api/tags. Si recibes una respuesta JSON con los modelos, el acceso funciona.

¿Puedo ejecutar múltiples instancias de Ollama en la red?

Sí. Cada instancia usa su propio puerto y dirección IP. Configura OLLAMA_HOST correspondientemente y abre los puertos necesarios en el firewall.

Fuentes y lecturas complementarias

Volver al blog
Share:

Entradas relacionadas