- The default Ollama port is 11434, servido sobre HTTP plano y vinculado a
127.0.0.1(solo localhost). - Cámbialo con la variable de entorno
OLLAMA_HOST— por ejemplo,OLLAMA_HOST=127.0.0.1:11435. No existe la variableOLLAMA_PORT. - Para acceder a Ollama desde otra máquina, vincula a
0.0.0.0:11434y abre el firewall — pero la API no tiene autenticación, así que restringe a una red de confianza o coloca un proxy inverso delante. - Verifica con
curl http://127.0.0.1:11434, que devuelveOllama is running.
Ollama escucha en el puerto 11434 por defecto, sobre HTTP, vinculado a la dirección loopback 127.0.0.1. Entonces la URL base de la API en la máquina misma es http://127.0.0.1:11434. Como se vincula a loopback en lugar de todas las interfaces, nada fuera de esa máquina puede alcanzarlo hasta que cambies deliberadamente la dirección de vinculación.
- Qué Se Ejecuta Realmente en el Puerto 11434
- OLLAMA_HOST: La Única Variable Que Controla el Puerto
- Cambiar el Puerto de Ollama en Linux
- Cambiar el Puerto de Ollama en macOS
- Cambiar el Puerto de Ollama en Windows
- Verificar Que el Servidor Esté Escuchando
- Hacer Ollama Accesible Desde Otras Máquinas
- Diagnosticar un Conflicto de Puerto
- Docker y WSL
- Preguntas frecuentes
- Referencia Rápida
Qué Se Ejecuta Realmente en el Puerto 11434
El puerto 11434 es el servidor HTTP de Ollama — el mismo proceso que ollama serve inicia, y el mismo que la aplicación de escritorio inicia en segundo plano. Todas las partes de Ollama hablan con él: la ollama CLI, la ventana de chat de escritorio, y cualquier cliente de terceros que apuntes hacia él.
| Endpoint | Propósito |
|---|---|
GET / |
Verificación de salud — devuelve el texto plano Ollama is running |
GET /api/tags |
Lista los modelos instalados localmente como JSON |
POST /api/generate, POST /api/chat |
Endpoints de inferencia nativa de Ollama |
POST /api/pull, DELETE /api/delete |
Gestión de modelos — descarga y elimina modelos |
/v1/chat/completions |
Capa compatible con OpenAI, para SDKs que esperan una URL base de OpenAI |
Ten en cuenta la fila para /api/pull y /api/delete. Cualquiera que pueda alcanzar el puerto puede descargar modelos de varios gigabytes en tu disco o eliminar los que tengas. Esa es la historia de seguridad en una línea, y es por eso que el vinculado por defecto es loopback. Si todavía estás decidiendo qué instalar localmente, el Lista de modelos de Ollama cubre qué está disponible y cuán grande es cada uno.
OLLAMA_HOST: La Única Variable Que Controla el Puerto
Tanto la dirección de vinculación como el puerto provienen de una sola variable de entorno, OLLAMA_HOST. No hay un ajuste de puerto separado ni un archivo de configuración que lo anule.
| Valor | Resultado |
|---|---|
| sin establecer | Escucha en 127.0.0.1:11434 |
127.0.0.1:11435 |
Mismo comportamiento solo loopback, puerto diferente |
0.0.0.0:11434 |
Escucha en todas las interfaces IPv4 — accesible desde la LAN |
192.168.1.50:11434 |
Escucha en una interfaz específica solamente |
Siempre escríbelo como host:puerto. En algunas versiones se aceptan formas abreviadas, pero el par explícito se comporta consistentemente en todas ellas.
Una trampa que atrapa a casi todo el mundo: OLLAMA_HOST es leído tanto por el cliente como por el servidor. Si mueves el servidor al puerto 11435 pero tu terminal sigue teniendo el valor por defecto, ollama list fallará con un error de conexión mientras el servidor está perfectamente saludable. Establece la variable en ambos lugares, o ejecuta la CLI como OLLAMA_HOST=127.0.0.1:11435 ollama list.
Cambiar el Puerto de Ollama en Linux
El script de instalación de Linux registra un servicio systemd, así que las variables de entorno en tu shell son irrelevantes — tienes que ponerlas en la unidad. Usa una invalidación drop-in en lugar de editar el archivo de unidad enviado, que las actualizaciones de paquetes sobrescribirán:
sudo systemctl edit ollama.service
Añade este bloque (en systemd más nuevo, ponlo entre los comentadores ### Cualquier cosa entre aquí... marcadores):
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Esto escribe /etc/systemd/system/ollama.service.d/override.conf. Aplícalo:
sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl status ollama
Añade una Environment= línea por variable — una segunda línea no reemplaza la primera. Si también estás reubicando el almacenamiento de modelos, Environment="OLLAMA_MODELS=/mnt/models" va en el mismo bloque.
Si ejecutas ollama serve manualmente
Sin systemd involucrado, simplemente expórtalo: OLLAMA_HOST=0.0.0.0:11434 ollama serve. Asegúrate de que el servicio systemd está detenido primero (sudo systemctl stop ollama) o los dos lucharán por el puerto.
Cambiar el Puerto de Ollama en macOS
La app de macOS es lanzada por la sesión GUI, que no hereda tu perfil de shell. Exportar OLLAMA_HOST en .zshrc cambia la CLI pero no el servidor de fondo. Usa launchctl en su lugar:
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
Luego cierra Ollama desde el icono de la barra de menú y relánzalo. El nuevo valor solo se aplica a los procesos iniciados después.
launchctl setenv sí no sobrevive a un reinicio. Para un cambio permanente necesitas volver a ejecutarlo al iniciar sesión — un plist LaunchAgent, o un elemento de inicio de sesión que ejecute el comando. Las versiones recientes de la app de macOS también exponen un interruptor de acceso a red en Configuración; si tu compilación lo tiene, prefiérelo, ya que persiste correctamente. Revisa el panel de configuración de la app antes de construir un LaunchAgent, y mira guía completa de Ollama para ver qué más hay allí.
Cambiar el Puerto de Ollama en Windows
Ollama en Windows se ejecuta como un proceso de usuario normal con un icono en la bandeja del sistema, así que una variable de entorno a nivel de usuario es suficiente.
- Prensa Variables de, escriba entorno de Win, y abre Editar las variables de entorno del sistema → Variables de entorno…
- Bajo Variables de usuario, haz clic en Nueva.
- Nombre:
OLLAMA_HOST. Valor:0.0.0.0:11434(o tu puerto elegido). - Haz clic en Aceptar en ambos diálogos.
- Haz clic derecho en el icono de bandeja de Ollama y elige Salir, luego inicia Ollama de nuevo desde el menú Inicio.
El paso 5 es el que la gente salta. Cerrar la ventana no detiene el servidor; sigue ejecutándose con el valor antiguo. Equivalentemente desde una terminal: setx OLLAMA_HOST "0.0.0.0:11434" — pero setx solo afecta a los procesos lanzados después de funciona, por lo que el cierre y reinicio sigue siendo necesario. Si lo estás configurando desde cero, el Guía de instalación de Ollama recorre el instalador de Windows de principio a fin.
Verificar Que el Servidor Esté Escuchando
Dos comprobaciones, en este orden: ¿hay algo vinculado al puerto, y es ese algo Ollama?
| Plataforma | Comando |
|---|---|
| Cualquier | curl http://127.0.0.1:11434 → Ollama is running |
| Cualquier | curl http://127.0.0.1:11434/api/tags → lista JSON de modelos |
| Linux | sudo ss -tlnp | grep 11434 |
| macOS | lsof -nP -iTCP:11434 -sTCP:LISTEN |
| Windows | netstat -ano | findstr :11434 |
| Windows (PowerShell) | Get-NetTCPConnection -LocalPort 11434 |
Lee atentamente la columna de dirección local. 127.0.0.1:11434 significa solo bucle invertido — una máquina remota nunca se conectará, sin importar lo que diga el cortafuegos. 0.0.0.0:11434 o *:11434 significa todas las interfaces.
Hacer Ollama Accesible Desde Otras Máquinas
Vinculación a 0.0.0.0 es necesario pero generalmente no suficiente. Tres cosas deben ser todas verdaderas: el servidor está vinculado a una dirección no de bucle invertido, el cortafuegos del host permite TCP entrante en el puerto, y el cliente está usando la IP de LAN del host en lugar de localhost.
Reglas del cortafuegos
| Plataforma | Cómo permitir TCP entrante 11434 |
|---|---|
| Windows | PowerShell como administrador: New-NetFirewallRule -DisplayName "Ollama" -Direction Inbound -Protocol TCP -LocalPort 11434 -Action Allow |
| Linux (ufw) | sudo ufw allow from 192.168.1.0/24 to any port 11434 proto tcp |
| Linux (firewalld) | sudo firewall-cmd --permanent --add-port=11434/tcp entonces sudo firewall-cmd --reload |
| macOS | Configuración del sistema → Red → Cortafuegos → Opciones, luego permite conexiones entrantes para Ollama (o responde Sí a la solicitud en el primer lanzamiento) |
Limita la regla a tu subred donde puedas, como en el ejemplo de ufw, en lugar de permitir al mundo entero.
Las implicaciones de seguridad, claramente
La API de Ollama tiene sin autenticación, sin claves API y sin TLS. Enlazado a 0.0.0.0 le da a todo el que pueda enrutar a esa dirección control total: ejecutar inferencia, leer la lista de modelos, extraer nuevos modelos, eliminar los existentes. Las instancias de Ollama expuestas a Internet son encontradas por escáneres rápidamente, porque 11434 es un puerto bien conocido.
Opciones más seguras, aproximadamente en orden de esfuerzo:
- Túnel SSH — deja la vinculación en bucle invertido y reenvíalo:
ssh -L 11434:127.0.0.1:11434 user@server. Nada está expuesto; el cliente se comunica con su propio localhost. - Red superpuesta — Tailscale, WireGuard o similar. Vincula a la IP de la interfaz superpuesta para que solo los dispositivos en tu tailnet puedan conectarse.
- Proxy inverso — Caddy o nginx al frente, terminando TLS y aplicando autenticación básica o un token portador, con Ollama aún en bucle invertido.
Si estás sopesando un servidor de laboratorio compartido contra pagar por token, el Calculadora de punto de equilibrio entre auto-alojamiento e API pone números en el equilibrio, y el Calculadora de VRAM te dice si la caja que quieres compartir puede realmente albergar el modelo.
Diagnosticar un Conflicto de Puerto
El síntoma es una falla de inicio que nombra la dirección, algo cercano a:
Error: listen tcp 127.0.0.1:11434: bind: address already in use
Encuentra al propietario del puerto:
# Linux
sudo ss -tlnp | grep 11434
# macOS
lsof -nP -iTCP:11434 -sTCP:LISTEN
# Windows — obtén el PID, luego nómbralo
netstat -ano | findstr :11434
tasklist /FI "PID eq 12345"
En la práctica el culpable es casi siempre Ollama mismo, ejecutándose dos veces. Versiones comunes de eso:
- La aplicación de escritorio ya se está ejecutando en la bandeja o barra de menú y escribiste
ollama serveen una terminal. El servidor de la aplicación está bien — simplemente úsalo. - En Linux, el servicio systemd está activo y ejecutaste
ollama servemanualmente. Detén uno:sudo systemctl stop ollama. - Un contenedor Docker publicó
-p 11434:11434y mantiene el puerto del host. Comprueba condocker ps.
Si es genuinamente otra aplicación, mueve Ollama en lugar de luchar contra ella — elige un puerto alto libre como 127.0.0.1:11435 y establece OLLAMA_HOST como se describió anteriormente. Recuerda actualizar la URL base de cada cliente, incluyendo cualquier configuración de SDK compatible con OpenAI.
Docker y WSL
Dentro del contenedor oficial el servidor se vincula a 0.0.0.0:11434 ya, por lo que solo eliges la asignación del host: docker run -d -p 127.0.0.1:11434:11434 --name ollama ollama/ollama lo mantiene local, mientras que -p 11434:11434 lo expone en todas las interfaces de host. Para cambiar el puerto del lado del host, modifica solo el número de la izquierda — -p 11435:11434 — y deja el puerto interno del contenedor sin cambios.
De WSL2 a Ollama ejecutándose en el host Windows, localhost no siempre se resuelve al host. Vincula Ollama del lado de Windows a 0.0.0.0:11434, permite el puerto en Windows Defender Firewall y conéctate desde WSL usando la IP del host desde /etc/resolv.conf o la dirección de mirrored-networking, según tu configuración de WSL.
Preguntas frecuentes
¿Existe una variable de entorno OLLAMA_PORT?
No. El puerto y la dirección de vinculación se establecen ambos a través de OLLAMA_HOST, escrito como host:puerto. Establecer OLLAMA_PORT no tiene efecto — Ollama lo ignora y sigue usando 11434, por eso el cambio parece fallar silenciosamente.
Establecí OLLAMA_HOST a 0.0.0.0 pero las máquinas remotas aún no pueden conectarse. ¿Por qué?
Verifica las tres capas en orden. Confirma que el servidor está vinculado a 0.0.0.0 y no a 127.0.0.1 usando ss, lsof o netstat; confirma que el firewall del host permite TCP entrante en el puerto; y confirma que el cliente usa la IP de LAN del host, no localhost. La causa más común es no reiniciar completamente el proceso Ollama después de establecer la variable.
¿Cambiar el puerto rompe la CLI de ollama?
Puede hacerlo. La CLI lee la misma OLLAMA_HOST variable para decidir dónde conectarse, así que si el servidor se movió pero tu shell no, comandos como ollama list fallan con un error de conexión. Establece la variable en tu perfil de shell también, o antecede comandos individuales con ella.
¿Puedo ejecutar dos instancias de Ollama en puertos diferentes?
Sí — inicia cada una con un OLLAMA_HOSTdiferente. Compartirán el mismo directorio de modelos a menos que también le des a cada una su propia OLLAMA_MODELS ruta. Ten en cuenta que ambas instancias cargan pesos en la misma GPU, así que dos modelos grandes ejecutándose simultáneamente competirán por VRAM; la Requisitos de VRAM por modelo referencia muestra cuánto espacio realmente tienes.
¿Qué URL base necesitan los clientes compatibles con OpenAI?
Apunta la URL base del SDK a http://localhost:11434/v1 (ajustando host y puerto si los cambiaste). La mayoría de los clientes también requieren que el campo de clave API no esté vacío aunque Ollama lo ignore, así que pasa cualquier cadena de marcador de posición como ollama.
¿Es seguro exponer el puerto 11434 a internet?
No. No hay autenticación ni cifrado incorporados, y la API expuesta incluye pull y eliminación de modelos. Si necesitas acceso remoto, usa un túnel SSH o una red superpuesta privada, o coloca un proxy inverso con autenticación y TLS frente a ella. Si el acceso remoto es el requisito principal, compara el costo de ejecución con la inferencia alojada en el Calculadora de costos de API antes de construir la tubería.
Referencia Rápida
| Tarea | Acción |
|---|---|
| Puerto predeterminado | 11434 activado 127.0.0.1, HTTP |
| Cambiar puerto | OLLAMA_HOST=127.0.0.1:11435 |
| Exponer a LAN | OLLAMA_HOST=0.0.0.0:11434 + regla de firewall |
| Persistir en Linux | systemctl edit ollama.service → Environment="OLLAMA_HOST=…" |
| Persistir en macOS | launchctl setenv OLLAMA_HOST "…", reaplicado en el inicio de sesión |
| Persistir en Windows | Variable de entorno del usuario, luego cierra y relanza desde la bandeja |
| Verificación de salud | curl http://127.0.0.1:11434 |
Con el puerto ordenado, la siguiente pregunta suele ser qué modelo poner detrás de él — los mejores modelos locales para Ollama cubre las opciones actuales por nivel de hardware.
