这是我的Ollama请多多指教!Ollama 局域网和广域网访问设置
上次写了一篇文章,提醒大家小心自己的 Ollama 被别人玩了。(现在有15625个独立 IP 泄露了)

其实,对于普通用户,这种风险还是比较小。
首先国内用户,基本都是动态 IP➕ WIFI 路由,外网很难访问到。
另外还有一个细节,Ollama 启动时,默认只绑定本机 localhost(127.0.0.1) ,这也杜绝了直接通过外网IP访问的可能性。
那么另外一个问题来了:“如果我想无私贡献,应该怎么操作?”
换个问题就是:“我如果想在局域网和广域网访问我的 Ollma 改如何设置?还要安全访问!”
既然问题有了,我们就可以解决问题了。
自己提出问题,自己解决问题,完美闭环。
接下来,我们会讲环境变量,端口映射,内网穿透等方法。
局域网访问
我们上面说到了,Ollama在默认情况下,只允许本机访问API接口。连局域网中的电脑都访问不到。
为了让局域网里的电脑也可以访问,就需要修改环境变量。
环境变量的修改方式如下:

点击Windows图标,输入环境变量,点击编辑环境变量。
然后点击高级->环境变量->新建

然后填写变量名和变量值。

变量名:OLLAMA_HOST
变量值:0.0.0.0:11434
这个名字是固定的,不能乱写。
这个变量值0.0.0.0表示不限制IP地址,11434是使用的端口。
修改完环境变量之后,就可以打开Ollama或者重启Ollama了。

因为改了这个参数,可能会跳出这个提示。一定要点击允许哦!
现在局域网功能已经启用,获取一下局域网的 IP 地址,就可以在其他电脑或者手机上使用这个接口了。
可以通过ipconfig命令查看:

打开CMD,输入ipconfig,找到以太网适配器,然后找到里面的IPv4地址。
我这里是:192.168.31.214
然后,就可以在局域网中其他电脑或者手机上机使用Ollama服务了。

打开之后,出现Ollama is running就证明配置成功了。
如果你在局域网中分享,也希望安全一点点,那么可以修改一下端口。
同样是修改OLLAMA_HOST这个环境变量。

比如改成:0.0.0.0:12366

这个时候,局域网中的其他人用IP+默认端口的方式就打不开了,只能通过12366这个端口才可以打开。
广域网访问
有了局域网访问功能,基本已经能满足内部分享了。但是如果要分享在整个互联网中的任意一个人。那么还得进行其他设置。下面说两种方式,一种是端口映射,还有一种是内网穿透。
端口映射
我的一个想法是端口映射,这样最简单,最质朴,不用任何第三方服务。
我的网络情况大概是:互联网->光猫->小米路由->个人电脑。
所以设置也分成了两步,先从光猫转发到小米路由,然后小米路由转发到电脑。
具体设置过程如下:
打开天翼网关:192.168.1.1
输入账号密码登录,然后高级设置->端口映射->填写内容:

虚拟服务:ollama
局域网IP: 192.168.1.2
协议:TCP
内部和外部端口:12366
写好之后,点击添加映射。
这里的虚拟服务名称可以随便写。局域网IP指的是小米路由的WAN口IP。
这个 IP可以通过如下方式获取:

终端设备->有线终端管理->192.168.1.2
注意,并不是所有人都是这个地址。
我为了内网统一,所以设备都是先连小米路由,然后小米路由连光猫,所以这里只有一个设备。如果你有其他设备连着光猫,那就要注意分别一下,哪个才是自己的路由器的IP地址。
打开小米路由:192.168.31.1 (你没有修改的话,一般是这个地址)
登陆之后高级设置->添加端口转发->填写内容。

名称:ollama
协议:TCP
外部端口:12366
内部IP:192.168.31.24
端口:12366
如果你对路由器比较熟悉,这个配置非常快。
我觉得这思路挺好,但是一测试就懵逼。
首先,从小米路由器外访问我电脑就失败了,也有可能是小米路由不支持自己CURL自己。
基于这种情况,我就直接把网线插到光猫了,相当于电脑直连光猫,只要一层转发即可。
第二次开测,二次懵逼。
光猫上显示的WAN IP和网上查到的IP不一致。也就是说,中间可能还有多次转发,这个转发我控制不了。
最终,只能放弃这种方案。
我被困在局域网中的局域网中的局域网….中了。
内网穿透
端口映射这种方式,很多人可能都走不通,针对这种情况应该怎么呢?那就得上更牛逼的手段了–用内网穿透方案!
稳妥起见还是先问了一下ChatGPT4o。
他给了四种方案:
frp
(免费,推荐) – 需要有一台外网服务器。ngrok
(免费+付费) – 适合临时调试,但免费版的域名会变动。Cloudflare Tunnel
(免费) – 适合 HTTP/Web 应用,但需要 Cloudflare 账号。tailscale
/zerotier
(P2P 直连) – 创建虚拟局域网,适合远程访问但不适合公开服务。
针对我这个场景,比较合适应该是ngrok,对这个也比较熟悉。
选定方案直接开干。
先下载ngrok软件。

根据自己的操作系统下载,我这里是Windows,就下载Windows版本。如果是苹果就下载macOS版本,其他类推。
然后是注册并登录ngrok平台。

可以填写信息注册,也可以直接用谷歌或者github授权登录。推荐授权登录,少写一次密码,多一分安全。
进来之后,有非常多的菜单和内容,但是我们只要关注一个点。

在Setup&Installaiton这个菜单里面,找到一行命令。
这个命令的格式:
ngrok config add-authtoken xxxxxx
这条命令的作用是把秘钥保存到本地电脑中。
命令中已经自动生成了Token,无需修改,直接打开cmd运行即可。

运行这个命令需要注意的一个点是,我们执行命令的路径要和ngrok.exe所在路径一致。
我是直接放在桌面的。所以需要进入桌面,然后运行命令保存Token。
cd desktop
ngrok config add-authtoken xxxxxx
Token保存完成之后,就可以绑定本地服务了。
直接输入命令:
ngrok http 12366
这条命令的作用是绑定本地的http协议,绑定的端口号是12366。
命令运行之后,就会出现如下的信息:

我们只要重点关注Forwarding这个字段。
https://eb48-35-212-197-72.ngrok-free.app
这个地址就是我们的外网访问地址了。
可以用另外一台电脑打开这个链接看一下:

也可以关闭手机wifi,在手机上打开这个地址看一下:

能看到Ollama is running 就证明我们配置成功了。
接下来,把这个地址配置到大语言模型客户端里面就可以使用了。
比如 chatwise, CherryStudio,Chatbox 等软件。

如果你不想公开这个服务了,直接关闭这个命令窗口就可以了。
通过这种方式的共享,完全自主可控。学会了这个技能之后,你无论在哪里,无论用的是手机电脑,都可以用上自家的大模型(DeepSeekR1,Qwen2.5 等)了,模型和数据都在自己手里。
点击阅读原文,有一个测试链接,能跑 32B DeepSeek R1