这是我的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 desktopngrok 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

 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================

 



发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注