局域网里跑 Ollama,常见卡点是两种:要么别的机器连不上,要么一查发现端口对着所有 IP 敞开。这篇不劝你选哪条路,只把「为什么要开、开了会怎样、什么情况不该开」讲清楚,再给一套从本机到内网、再到跨网段的配置与回退顺序,照着改完能用 curl 自己验证。
局域网里跑 Ollama,最常见的两种卡点刚好是反着的:一种是同事或自己的另一台设备连不上,另一种是随手一查发现端口对着所有 IP 敞开。这两件事其实是同一个开关决定的——服务监听在哪个网卡地址上。开得不够,别人连不进来;开得太多,同网络里任何能到达这个端口的机器都能进来。
这篇不劝你选哪条路,只把「为什么要开、开了会怎样、什么情况不该开」讲清楚,再给一套从本机到内网、再到跨网段的配置与回退顺序。你照着改完,能用一条命令自己验证到底通没通。涉及具体端口号、默认取值这类会变的信息,到站内资料库页面核对当前版本的说法。
先搞清监听地址这件事在决定什么
监听地址决定了哪些网卡上的请求会被接受。只绑回环地址,就只有本机能连;绑到所有网卡,同一网络里任何能到达该端口的机器都能连。这里没有中间态,要么关着要么全开——真正做细粒度控制的是防火墙,不是服务本身的绑定参数。
- 回环绑定
- 只有本机进程能访问,跨机一律连不上,暴露面最小
- 全网卡绑定
- 服务监听在 0.0.0.0 这类地址,能到端口的机器都能发请求
- 防火墙放行
- 在绑定之外再决定哪些来源 IP 或网段可以真正建立连接
判断顺序很简单:先问「除了本机还有谁要连」,再问「这些机器在不在同一个可信网段」。两个问题都答完,才轮到改配置。如果答案是「只有我自己」,那开放监听一点好处都没有,纯粹是多开一扇门。
动手前先确认现在到底监听着谁
很多人一上来就翻配置文件,改完发现没生效,其实当前状态根本和以为的不一样。正确的顺序是先观测、再修改、最后用同一条命令复测。配置项来源往往不止一处:环境变量、启动参数、系统服务定义文件都可能各写一份,以实际生效的为准。
- 看本机监听在服务所在机器上查看端口占用与绑定地址,确认是只绑回环还是绑在所有网卡。这是后续所有判断的基准。
- 从外机试探找另一台同网段机器,发一条最简单的请求。能通说明已经开放,连不上才是需要改配置的情形。
- 记下基准把绑定的地址、端口、测试用的那台机器和命令都记下来,改完用完全相同的条件复测,否则分不清是配置生效还是网络变了。
- 确认配置来源检查环境变量、启动参数、服务定义文件里是否都写了监听设置,存在冲突时以进程实际生效的值为准。
- 本机自己 curl 回环地址,能通说明服务本身活着
- 从另一台机器 curl 服务主机地址,能通说明监听已经开放
- 从另一台机器连不上但本机能通,基本就是绑定地址还锁在回环
- 两个都连不上,先排查服务是否在跑、端口是否被别的进程占用
三种开放范围,各配一套做法
把场景分成三类就够了:只本机用、固定内网共享、跨网段或对外提供。三类对应的配置动作完全不同,最忌讳的是拿第三类的需求去装第一类的心。
| 使用场景 | 监听设置 | 配套动作 |
|---|---|---|
| 只本机自用 | 保持回环绑定 | 不用做任何额外放行 |
| 固定内网共享 | 放开到内网网卡 | 防火墙只允许指定网段或指定几台机器 |
| 跨网段访问 | 同上再加一层入口 | 补鉴权、反向代理、访问日志中的至少一项 |
| 放进容器或由进程管理器托管 | 看映射与托管配置 | 宿主机映射和容器内监听会叠加,只改一处通常不生效 |
最常用的是第二行:既能让同事的客户端、知识库工具连上,又不至于对整个网络敞开。做法是先放开绑定确认链路能通,再上防火墙把来源收窄到一个网段——反过来先精确限制,出问题时你分不清是绑定没生效还是规则拦掉了。
什么情况不适用:如果这些「内网」机器本身在不可信的办公网、访客网里,那它就不是可信网段,按第三类处理。反过来,如果只是想让自己另一台设备连,直接给那台机器单独放行就行,不必开整个网段。
- 只本机用:不开放,不折腾
- 同办公室几台机器共享:开放绑定加网段级防火墙规则
- 家里跨设备:同上,注意路由器是否做了网段隔离
- 要给别人长期用或对外提供:先补鉴权与代理,再谈开放
- 容器部署:宿主机映射、容器内监听、防火墙三处都要看
改完怎么验、出问题怎么退回去
验证分两步,缺一步都可能误判:本机先确认服务起得来、模型能正常应答;再从目标客户端确认能连上。只做第一步,很容易出现「本地好好的,同事那边一直转圈」的情况。
改配置之前把原文件抄一份,出问题时改回去重启即可。不要一边改一边删,也不要同时动绑定和防火墙两处——一次只改一个变量,才知道是哪一步起了作用。
| 现象 | 优先排查顺序 |
|---|---|
| 本机能连、外机连不上 | 绑定地址是否真改到了内网网卡、服务是否重启 |
| 改完反而本机都连不上 | 绑定地址写错、端口被占用、服务没起来 |
| 时通时不通 | 防火墙规则来源范围、客户端填的地址是否稳定 |
| 容器里改完没变化 | 宿主机端口映射与容器内监听是否叠加 |
想评估某个中转或自建方案在当前网络下的真实连通表现,可以顺手对照一下站内的检测结果,别只信配置文档写的。落地顺序记一句话:确认现状、想清谁要连、放开绑定、收窄来源、两端复测。
下一步把你现在的绑定方式和防火墙规则对照上面的表排一遍,再用站内网络检测页从目标客户端实测一次连通性,数字和当时的环境会同步更新。→常见问题
把监听放开到所有网卡,是不是就等于把模型公开到公网了?
不必然。能不能从公网到达,取决于机器是否直接持有公网地址、路由器有没有做端口转发、以及防火墙放行范围。很多内网机器放开监听后,也只有同网段能连上。判断标准是:从一台不在同一网络的机器试着连一次,连不上就说明没暴露。但同一个不可信网络里放开监听,仍然等于对那一整个网络开放。
为什么我改了监听地址,重启后还是只有本机能连?
多数是配置没落到真正生效的那一处。环境变量、启动参数、系统服务定义文件里可能各有设置,后覆盖前,以最后生效的为准。也可能是服务没真正重启、或防火墙把来源网段挡在外面。建议按「服务是否重启、生效配置是否为你改的那份、防火墙是否放行、客户端地址端口是否填对」的顺序逐条排。
内网就几台自己人的机器,还有必要做访问限制吗?
看网络可信度,不看机器数量。如果是自己家的独立网络或受控办公网,放开监听、不做额外鉴权通常够用;但办公室共享网络、宿舍网、带访客网络的场景,同一网段里任何设备都能访问你的模型和对话内容,这种就不适用「人少所以安全」的判断,至少该用防火墙限定来源。