Ollama远程访问FRP内网穿透完整配置教程

适用场景与准备工作

如果你本地跑着 Ollama,却想在公司、手机或另一台服务器上调用它,FRP 内网穿透是成本最低的方案之一。
本文基于 frp v0.60.0 和 Ollama 0.5.x 测试通过,步骤同样适用于其他版本。

你需要提前准备

  • 一台有公网 IP 的服务器(称为服务端),OS 建议 Ubuntu 22.04 / CentOS 7+。
  • 一台运行 Ollama 的内网机器(称为客户端),可以是你的个人电脑或本地服务器。
  • 两者都能正常访问网络,且防火墙放行对应端口。

第一步:服务端(公网机器)部署 FRP

登录公网服务器,下载 FRP 并解压:

wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
tar -xzf frp_0.60.0_linux_amd64.tar.gz
cd frp_0.60.0_linux_amd64

编辑服务端配置文件 frps.toml(新版 FRP 使用 toml 格式):

bindPort = 7000
# 下面两行用于 web 管理后台,按需启用,本例不强制
# webServer.addr = "0.0.0.0"
# webServer.port = 7500
# webServer.user = "admin"
# webServer.password = "your_password"

启动服务端:

./frps -c frps.toml &

确认监听端口 7000 已启动:

ss -tlnp | grep 7000

如果系统开启了防火墙,记得放行 7000 端口,以及后续代理用的端口(本例使用 11434)。

第二步:客户端(Ollama 所在机器)安装 FRP 并配置代理

同样下载 FRP 客户端(frpc),解压后编辑 frpc.toml

serverAddr = "你的公网服务器IP"
serverPort = 7000

[[proxies]]
name = "ollama-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 11434
remotePort = 11434

启动客户端:

./frpc -c frpc.toml &

如果客户端和服务端在同一台机器测试,serverAddr127.0.0.1 即可。
启动后看到 start proxy success 说明连接正常。

第三步:让 Ollama 监听所有网络接口(关键!)

默认 Ollama 只绑定 127.0.0.1,本地代理无法穿透。
需要修改环境变量或直接重启:

# 停止 Ollama 服务(systemd 方式)
sudo systemctl stop ollama
# 设置监听地址
export OLLAMA_HOST=0.0.0.0
# 前台启动(测试用)
ollama serve &

如果是 systemd 服务,编辑 /etc/systemd/system/ollama.service,在 [Service] 下添加:

Environment="OLLAMA_HOST=0.0.0.0"

然后重载并启动:

sudo systemctl daemon-reload
sudo systemctl start ollama

验证本机是否可从 127.0.0.1:11434 访问:

curl http://127.0.0.1:11434/api/tags

若返回 JSON 列表,说明 Ollama 工作正常。

避坑指南与安全建议

  • 端口冲突:确保公网服务器的 11434 端口未被占用。如果已经被其他服务使用,修改 remotePort 为其他值(例如 11435),同时客户端访问时也要调整端口。
  • 防火墙放行:公网服务器需要放行 bindPort(7000)和代理端口(11434)。
  • 不要暴露给所有人:建议在 frpc.toml 中加上 encryption = truecompression = true。更稳妥的做法是搭配 Nginx 反向代理添加 Basic Auth 或 IP 白名单。
  • Token 隔离:Ollama 本身没有身份验证,暴露到公网后任何人都能调用你的模型。如果只是临时调试,结束后立即关闭。

效果验证

在外网其他机器(例如手机或另一台电脑)上执行:

curl http://你的公网IP:11434/api/tags

或者通过浏览器访问 http://你的公网IP:11434,应该看到 Ollama 的 API 响应。
如果返回 JSON 数据,说明 Ollama 远程访问成功。
你也可以用 ollama run 命令跨网络调用,例如:

OLLAMA_HOST=http://你的公网IP:11434 ollama run llama2

若报错 connection refused,请回退检查:服务端 frps 是否运行、客户端 frpc 是否连上、防火墙是否放行。

高频问题解答

Q:启动 frpc 后日志显示 login to server success,但 curl 无法连接?
A:检查服务端 remotePort 是否被防火墙拦截,或者客户端 localIP 是否填了 127.0.0.1 而 Ollama 监听的是 0.0.0.0(矛盾)。推荐客户端 localIP 与 Ollama 绑定地址保持一致。

Q:可以只用一个端口同时穿透多个 Ollama 模型吗?
A:Ollama API 本身是多模型共享端口 11434,无需多余配置。如果要穿透多个不同的服务,请在 frpc.toml 中增加多个 [[proxies]] 条目。

Q:每次重启后 frp 需要手动启动?
A:可以编写 systemd 服务自启,或者使用 nohup 结合 @reboot 定时任务。具体请参考 FRP 官方文档的 systemd 配置。

完成以上步骤后,你的 Ollama 已经可以通过公网 IP 远程调用了。
建议保留本文的避坑部分,下次换环境时对照操作可减少很多排查时间。

分享到:
上一篇
每日自动化安全巡检脚本住宅Linux服务器
下一篇
Nginx反向代理多外贸站点独立隔离配置
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意