需将Ollama监听地址改为0.0.0.0并放行11434端口,再通过局域网IP访问;为安全可绑定特定IP或用Nginx添加HTTP Basic Auth认证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您已完成DeepSeek模型在本地通过Ollama部署,但仅限本机访问(如http://127.0.0.1:11434),而希望其他设备或用户通过局域网IP访问该服务,则需修改Ollama的监听地址配置。以下是实现多用户访问的具体步骤:
一、修改Ollama服务监听地址为0.0.0.0
Ollama默认以绑定127.0.0.1方式启动,导致外部设备无法连接。将监听地址设为0.0.0.0可使服务接受来自所有网络接口的请求,从而支持局域网内多终端访问。
1、停止当前正在运行的Ollama服务:sudo systemctl stop ollama。
2、编辑Ollama服务配置文件:sudo nano /etc/systemd/system/ollama.service。
3、在文件中找到ExecStart=行,在其值末尾添加参数 --host 0.0.0.0:11434,确保整行形如:ExecStart=/usr/bin/ollama serve --host 0.0.0.0:11434。
4、保存并退出编辑器,然后重载systemd配置:sudo systemctl daemon-reload。
5、重启Ollama服务:sudo systemctl start ollama。
二、配置系统防火墙放行11434端口
即使Ollama已绑定0.0.0.0,若系统防火墙拦截入站连接,外部请求仍会被拒绝。必须显式允许TCP协议下的11434端口通信。
1、检查当前防火墙状态:sudo ufw status verbose。
2、若防火墙处于活动状态,执行放行命令:sudo ufw allow 11434/tcp。
3、确认规则已生效:sudo ufw status | grep 11434,输出应包含“ALLOW IN”标识。
三、验证多用户可访问性
完成前述配置后,需从其他设备发起连接测试,确认服务已真正对外暴露,而非仅本机可达。
1、在服务器本机执行:ip addr show | grep 'inet ' | grep -v '127.0.0.1',获取实际局域网IP(如192.168.1.105)。
2、在另一台局域网设备(如笔记本或手机)浏览器中输入:http://192.168.1.105:11434(替换为实际IP)。
3、若返回JSON格式响应(含{"models": [...]}等字段),表明服务已成功响应外部请求。
4、使用curl命令进一步验证API可用性:curl http://192.168.1.105:11434/api/tags。
四、限制访问范围以增强安全性
直接开放0.0.0.0存在安全风险,尤其当设备接入公网或不可信网络时。可通过绑定特定局域网IP替代通配地址,缩小暴露面。
1、确定目标网段接口IP(如eth0对应192.168.1.105),不再使用0.0.0.0。
2、修改ollama.service中的ExecStart行:--host 192.168.1.105:11434。
3、重启服务:sudo systemctl restart ollama。
4、该配置仅允许来自192.168.1.0/24网段的设备访问,其他IP将被系统自动拒绝。
五、启用基础身份验证防止未授权调用
Ollama原生不提供用户认证机制,但可通过反向代理层(如Nginx)添加HTTP Basic Auth,为API入口增加访问控制。
1、安装Nginx:sudo apt install nginx(Ubuntu/Debian)。
2、生成密码文件:sudo htpasswd -c /etc/nginx/.htpasswd deepseek_user,按提示设置密码。
3、编辑Nginx站点配置:sudo nano /etc/nginx/sites-available/ollama-proxy,填入含auth_basic指令的server块。
4、启用配置并重启:sudo ln -sf /etc/nginx/sites-available/ollama-proxy /etc/nginx/sites-enabled/;sudo systemctl restart nginx。









