Задача формулируется просто: модель живёт на десктопе с видеокартой, работать хочется с ноутбука. По умолчанию Ollama слушает только локальный адрес, и с другой машины к ней не достучаться.
Настройка занимает одну строку. Проблема в том, что после этой строки к вашей модели может достучаться не только ноутбук.
У Ollama нет встроенной авторизации. Ни паролей, ни ключей, ни токенов. Кто дошёл до порта — тот может всё: гонять запросы на вашей видеокарте, скачивать модели на ваш диск и удалять уже скачанные. Это не уязвимость, это проектное решение инструмента, рассчитанного на локальную работу. И это значит, что всю защиту вы строите вокруг него сами.
#Что понадобится
- Установленная Ollama на машине с моделью. Базовый маршрут — в гайде по запуску моделей через Ollama.
- Права на изменение конфигурации службы и правил сетевого экрана.
- Понимание топологии своей сети: домашний роутер, корпоративная сеть или арендованный сервер — это три разных уровня риска.
#Шаг 1. Открыть доступ
По умолчанию сервис слушает 127.0.0.1:11434 — только с самой машины. Адрес прослушивания задаётся переменной окружения.
Linux с systemd:
systemctl edit ollama
добавить в секцию [Service]:
Environment="OLLAMA_HOST=0.0.0.0:11434"
и перезапустить:
systemctl daemon-reload
systemctl restart ollama
Windows:
setx OLLAMA_HOST "0.0.0.0:11434"
После этого нужно перезапустить фоновое приложение Ollama — переменная читается при старте.
macOS:
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
и перезапуск приложения.
Значение 0.0.0.0 означает «слушать на всех интерфейсах». Если вам нужен доступ только из домашней сети и вы знаете адрес машины, безопаснее указать его явно: OLLAMA_HOST=192.168.1.50:11434 — тогда сервис не будет слушать на других интерфейсах, включая внешний.
Отдельная переменная OLLAMA_ORIGINS управляет тем, каким веб-страницам разрешено обращаться к API из браузера. Она нужна, если вы подключаете веб-клиент, и не заменяет собой сетевую защиту.
#Шаг 2. Проверить, что получилось
С самой машины — что сервис действительно слушает нужный адрес:
ss -tlnp | grep 11434
С другой машины в сети — что он отвечает:
curl http://192.168.1.50:11434/api/tags
Ответом будет список установленных моделей в формате JSON. Если пришёл список — доступ настроен. Заодно вы только что убедились, что любой в этой сети может получить тот же список, ничего не предъявив.
#Шаг 3. Чек-лист защиты порта
Пять пунктов, по убыванию важности. Первый — обязательный, остальные по обстоятельствам.
1. Не пробрасывайте порт в интернет напрямую. Никогда. Ни «временно», ни «у меня никто не знает адрес». Открытый в интернет порт без авторизации находится автоматическими сканерами за часы, а не за месяцы. Последствия — не только чужие запросы на вашей видеокарте: API позволяет удалять модели.
2. Ограничьте доступ сетевым экраном. Разрешите только нужную подсеть:
ufw allow from 192.168.1.0/24 to any port 11434 proto tcp
ufw deny 11434
На Windows — правило входящего подключения для порта 11434 с областью действия «локальная подсеть».
3. Если доступ нужен извне — только через обратный прокси с авторизацией. Прокси добавляет то, чего нет у Ollama: проверку логина и пароля или клиентского сертификата, а заодно TLS. Настройка — в материале об обратном прокси на nginx и Caddy.
4. Ещё лучше — туннель вместо открытого порта. Частная сеть поверх интернета или туннель к конкретному сервису не требует открывать порт наружу вообще. Обзор вариантов — в материале о туннелях Cloudflare, devtunnel и Tailscale.
5. Проверьте снаружи, что закрыто. Не полагайтесь на настройки: проверьте фактическое состояние с внешнего адреса. Отдельно убедитесь, что на роутере не включён автоматический проброс портов — он умеет открывать то, о чём вы не просили.
Общая картина рисков самостоятельного размещения сервисов разобрана в материале о рисках самохостинга без прикрас.
#Проверка результата
Из своей сети запрос списка моделей проходит:
curl http://192.168.1.50:11434/api/tags
Из интернета (с мобильного интернета, не через домашний Wi-Fi) тот же запрос по внешнему адресу не проходит — соединение отвергается или истекает по таймауту.
Приложение подключилось. Клиенту указывается адрес вида http://192.168.1.50:11434. Например, так к локальной модели подключается Persona — подробный порядок в материале о подключении Ollama к Persona. Оговорка по существу: в такой конфигурации переписка остаётся внутри вашей сети именно потому, что модель локальная; если вместо неё указать ключ облачного провайдера, текст запросов будет уходить этому провайдеру.
#Что может пойти не так
Переменная задана, но сервис слушает по-прежнему локально. Она читается при старте службы. setx на Windows не влияет на уже запущенный процесс, systemctl edit требует daemon-reload и перезапуска.
Порт открыт, но соединения нет. Сетевой экран на стороне сервера или изоляция клиентов на роутере (частая настройка гостевых сетей Wi-Fi). Проверьте ss -tlnp на сервере и доступность по ping с клиента.
Работает по IP, но не по имени машины. Разрешение имён в домашней сети работает не всегда. Используйте адрес или пропишите имя в hosts на клиенте.
Веб-клиент в браузере получает ошибку доступа. Это ограничение браузера на межсайтовые запросы, лечится переменной OLLAMA_ORIGINS. К сетевому доступу как таковому отношения не имеет.
Модель отвечает медленно по сети. Сама генерация от сети не зависит, но потоковая передача ответа по слабому каналу ощущается как замедление. Проверьте, не идёт ли соединение через медленный участок.
После настройки в списке появились чужие модели или пропали свои. Это не сбой. Это означает, что к вашему порту дошёл кто-то ещё. Немедленно закройте доступ и проверьте, откуда была видна машина.
#Частые вопросы
#Есть ли в Ollama пароль или ключ доступа?
Встроенной авторизации нет. Любой, кто может открыть порт по сети, получает полный доступ к API, включая удаление моделей. Авторизация добавляется только снаружи — обратным прокси или туннелем.
#Безопасно ли открыть порт, если адрес никто не знает?
Нет. Диапазоны публичных адресов сканируются непрерывно, и нестандартный порт задерживает обнаружение на часы, а не защищает. Правило простое: в интернет — только через прокси с авторизацией или через туннель.
#Можно ли ограничить доступ одним IP-адресом?
Да, средствами сетевого экрана. Это самый простой рабочий способ для домашней сети: разрешить конкретный адрес ноутбука и запретить остальное.
#Что произойдёт, если к моей Ollama подключится посторонний?
Он сможет выполнять запросы на вашей видеокарте, скачивать модели на ваш диск и удалять установленные. Кража данных при этом маловероятна: в Ollama нет вашей переписки, она хранится в клиенте. Основной ущерб — ресурсы и потеря скачанного.
#Нужен ли HTTPS в локальной сети?
В домашней сети обычно избыточно. В офисной или общей сети — стоит, потому что запросы и ответы идут открытым текстом и видны любому, кто может слушать трафик. Добавляется обратным прокси.
#Как отменить сетевой доступ?
Убрать переменную окружения и перезапустить службу — сервис вернётся к прослушиванию только локального адреса. Заодно проверьте, что не осталось правил проброса портов на роутере.