恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
内网穿透实现远程访问本地大模型:OpenClaw+cpolar实战
首页
资讯中心
/
内网穿透实现远程访问本地大模型:OpenClaw+cpolar实战
内网穿透实现远程访问本地大模型:OpenClaw+cpolar实战
发布时间:2026/10/14 11:33:41
自己电脑上挂着大模型服务的人基本都会遇到同一个问题在家里跑得好好的一出门就没法用。我平常在本地用 OpenClaw 管着一批开源模型OpenClaw 会把它们统一成一个监听在本机的 API 服务写脚本、接自动化工具都很方便但到了公司、地铁或者出差路上手机离开局域网之后这个 API 就形同虚设。后来我给 OpenClaw 配了一条内网穿透隧道远程访问本地大模型这件事才算彻底解决——手机用流量就能打到家里那台机器和坐在电脑前调用没有本质区别。这篇文章就讲这条链路怎么搭包括为什么需要远程访问、OpenClaw 暴露前的准备、用内网穿透工具映射端口的具体步骤以及远程访问最容易踩的坑。整个过程不需要公网 IP不需要运营商开固定地址适合已经能把模型跑起来、想在别的设备上继续用的人也适合想把家庭机变成随身算力的人。1. 为什么要把本地大模型搬到外网场景拆解与方案选型1.1 本地模型远程访问的真实痛点本地跑模型最大的好处是数据不出门代码、文档、对话记录都留在自己机器里想换模型就换模型想重启就重启请求量再大也没有云端按 token 计费的心痛。可这种“爽”有一个前提——你人得待在这台机器旁边。我一开始只是把 OpenClaw 的监听地址从127.0.0.1改成0.0.0.0这样同一局域网里的笔记本、手机确实能访问了。但问题是家庭宽带有大量场景没有公网 IP就算有离开这个局域网之后 IP 就变了手机在 4G/5G 网络下根本找不到家里那台机器。我试过把模型上传到云服务器结果光是同步模型权重就折腾了半天之后每次调用还要考虑计费、资源释放数据也要经过别人的服务器体验非常割裂。所以核心需求其实很简单本地算力保持不变但把 OpenClaw 的 API 暴露到一个外部可访问的地址上。内网穿透就是干这个的。它相当于在你家路由器的“内院”和公网之间开了一扇门外部请求先到达中转节点再由中转节点转发到你本机的某个端口这样就算没有公网 IP也能让外面的设备摸到 OpenClaw。1.2 三种外网访问方案横向对比我梳理过几种可行方案分别适合不同条件的人。方案是否需要公网 IP上手成本地址变化情况适合场景路由器端口映射 DDNS需要中等要进路由器设置地址固定但多数家庭没有公网 IP有条件且不想用第三方中转的人云服务隧道工具cpolar、ngrok 等不需要低下载客户端跑一条命令免费隧道地址容易变化开发调试、临时远程调用自建 frp 隧道不需要但需一台有公网 IP 的服务器偏高要同时配置服务端和客户端可以绑定自己的域名最可控长期使用、业务级远程访问这里要特别说一句路由器端口映射在“有公网 IP”的前提下确实是最好用的因为所有流量直达你家路由器不经过任何第三方节点。但现在家庭宽带里公网 IP 越来越少见很多人折腾半天发现路由器里根本没有“端口映射”这个选项这时候就轮到内网穿透上场。1.3 我的选型原则先快速跑通再决定要不要长期投入我的习惯是不要一上来就买服务器、搞 frp先把整条链路用云服务隧道跑通再说。原因很简单——内网穿透只是链路中的一环真正影响体验的往往不是穿透工具本身而是 OpenClaw 的鉴权配置、家庭宽带上行带宽、手机端客户端的兼容性。先用最低成本把这些变量全部验证一遍再考虑用自建方案替换会少走很多弯路。2. OpenClaw 暴露前的准备先让本地服务跑得明明白白2.1 先确认 OpenClaw 在监听哪个端口OpenClaw 在我这里的定位是“模型接入层”它把本地跑着的多个开源模型统一包装成兼容 OpenAI 格式的 API外部请求只需要一个地址和一把密钥不需要关心背后是哪个模型在响应。不同版本的默认配置可能不一样但一般都会监听在本地某个端口上我这边假设是127.0.0.1:8080你换成自己的实际端口即可。穿透之前第一步永远是确认服务本身是活的。直接在本地终端跑一条命令curl http://127.0.0.1:8080/v1/models如果返回一串模型列表 JSON说明 OpenClaw 正在正常运行。如果提示连接失败先看 OpenClaw 的启动日志确认有没有报错、端口有没有被占用。这个步骤不能省因为内网穿透工具只负责把外网流量引到本机端口它不会替你启动服务。本机端口不通隧道开得再漂亮也是白搭。2.2 暴露前务必打开鉴权这是底线很多人跑本地模型的时候图省事OpenClaw 一直保持“免鉴权”状态。本地用当然没问题但一旦这条隧道开起来你的模型 API 就相当于裸奔在公网上任何人扫到你的地址都能直接调用你的模型消耗你的算力甚至通过对话记录推断你的数据内容。所以开隧道之前我强烈建议先把 OpenClaw 的鉴权配置打开。一般可以通过环境变量或配置文件设置一把密钥export OPENCLAW_API_KEYsk-your-secret-key然后重新启动 OpenClaw再用带密钥的方式请求一次curl http://127.0.0.1:8080/v1/models \ -H Authorization: Bearer sk-your-secret-key只有带密钥能正常返回、不带密钥被拒绝这个状态才说明鉴权真正生效了。我见过有人把密钥写在环境变量里但 OpenClaw 没重启结果请求照样不带密钥直达所以这一步别凭感觉用 curl 实测最可靠。2.3 确认网络环境与端口占用情况OpenClaw 和穿透工具如果跑在同一台机器上OpenClaw 监听127.0.0.1就够了穿透工具会从本机把流量转发出去。如果 OpenClaw 跑在另一台机器上比如放在一台专门的推理服务器里那穿透工具所在机器的转发目标就不能写127.0.0.1而要改成那台机器的局域网 IP比如192.168.1.100。另外检查一下端口占用。用netstat -ano | grep 8080Windows 下用netstat -ano | findstr 8080确认监听状态。如果端口被其他程序占了OpenClaw 会起不来或者穿透工具把流量转到别的服务上出现“能连上但返回的东西完全不对”的诡异问题。3. 实操用 cpolar 把 OpenClaw 快速映射到公网3.1 注册、安装并绑定 cpolar我用的云服务隧道工具是 cpolar理由很简单国内节点访问快免费额度对个人调试够用而且一条命令就能创建 HTTPS 隧道。先到它的官网注册一个账号注册后在后台能看到一个 authtoken这个 token 用来把本地客户端和你的账号绑定起来。安装环节在 Linux 上很直接curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash cpolar version装好之后执行cpolar authtoken xxxxxxxxxxxxxxxx把输出里的 token 换成你自己的。authtoken 只需要绑定一次之后这台机器上启动的所有隧道都会归在你的账号下方便在后台统一管理、下线。3.2 创建隧道并拿到公网地址绑定完成后启动一条指向 OpenClaw 端口 8080 的 HTTP 隧道cpolar http 8080正常情况下屏幕上会输出一个以https://xxxx.cpolar.io结尾的公网地址这就是 OpenClaw 在公网上的入口。cpolar 会自动帮你搞定 HTTPS 证书不需要自己配置这一点对远程调用非常重要——很多手机端 API 客户端对明文 HTTP 有限制直接用 HTTPS 可以省掉一堆兼容性问题。注意免费版这条隧道的公网地址是动态的每次重新建立隧道都可能变化。后面我会专门讲这个问题怎么处理现在先别纠结链路能通才是第一目标。3.3 远程调用验证手机和电脑都测一遍拿到地址后先在本地电脑上用公网地址测一次curl https://xxxx.cpolar.io/v1/models \ -H Authorization: Bearer sk-your-secret-key能返回模型列表说明穿透成功。接着测一次真正的对话请求curl https://xxxx.cpolar.io/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-your-secret-key \ -d {model:你的模型名,messages:[{role:user,content:你好}]}然后关掉 Wi-Fi把手机切到移动网络在手机上的 API 调试工具或者任何支持自定义 baseURL 的客户端里填上同一个公网地址和密钥再发一条请求。如果手机上能正常收到回复说明这条“本地模型远程访问”链路已经完整打通。这里容易犯的一个低级错误是手机开着 Wi-Fi 测试而 Wi-Fi 恰好和电脑在同一个局域网这时你以为在走公网实际还是在走局域网验证结果没有意义。一定要把 Wi-Fi 关掉用纯粹的移动网络测才算真正测到了穿透链路。3.4 进阶自建 frp 隧道让长期使用更可控cpolar 的免费隧道适合验证但它的地址变化和第三方中转节点会让长期使用变得别扭。如果确定要长期远程调用我建议花点时间自建 frp 隧道整体可控性高很多。思路很简单找一台有公网 IP 的云服务器随便什么配置都行只要带宽和端口够用。在服务器上跑 frp 服务端负责接收公网请求。在本地跑 frp 客户端把 OpenClaw 的 8080 端口通过服务器映射出去。frp 配置的核心就三样东西服务端地址和端口、两端共享的认证密钥、一条转发规则。转发规则要写清楚“本地 127.0.0.1:8080 映射到服务器的哪个端口”比如都写 8080外部用户访问http://服务器IP:8080就会被引导到你本机的 OpenClaw。服务端部署好后别忘了一件大事到云服务器的安全组里放行 frp 服务端口和映射出来的端口。我遇到过配置全对、但安全组默认只放行 22 端口的情况结果本地隧道显示 Established公网却怎么都连不上。自建方案还有一个额外好处域名是完全可以自己控制的。给服务器绑一个自己的域名在域名解析里加一条 A 记录指向服务器 IP再给这个域名配上 HTTPS 证书以后手机端填的地址就永远是同一个不用每次隧道重启都改配置。4. 远程访问的安全加固清单别让本地模型裸奔4.1 鉴权能开多少开多少最好是双层远程访问本地模型这件事安全的核心不在于“藏着端口”而在于“别人即使找到了也用不了”。OpenClaw 的密钥是第一道门cpolar 后台的访问密码是第二道门。cpolar 创建隧道时支持设置访问密码访问者打开地址会先弹一个登录框输了密码才轮到 API 密钥验证。日常使用时可以把这两层都打开就算某一层被绕过另一层还能拦住大部分不速之客。密钥不要用123456这种建议生成一串随机字符串单独存到密码管理器里。4.2 只暴露 OpenClaw 的端口别把整台机器暴露出去内网穿透最忌讳的是图省事把一堆端口全部映射出去。像 SSH、远程桌面、数据库端口、路由管理后台这些一旦暴露在公网上等于把你家房子的大门钥匙挂在了门口。正确做法是最小化暴露只需要 OpenClaw 这一个 8080 端口那就只映射这一个。cpolar 场景下就是不要同时开第二条指向其他端口的隧道frp 场景下就是只在转发规则里写localPort 8080这一条其他端口一律不映射。4.3 给模型服务加限流和日志大模型推理是典型的资源密集型操作一个远程用户连续发送大量请求很可能直接把你机器的显存、内存打满显卡风扇狂转其他程序全卡死。所以 OpenClaw 如果能配置最大并发数、请求超时时间尽量在暴露前就设好。如果不支持就在前面加一层简单的限流中间件限制每个密钥的每分钟请求次数。同时把 OpenClaw 的访问日志打开没事翻一翻。如果某天日志里突然出现一堆你没见过的调用来源、异常参数、海量请求最稳妥的处理就是第一时间到 cpolar 后台把隧道下线再修改 API 密钥排查完问题后再重新上线。4.4 自建场景下把 HTTPS 和端口白名单安排上用云服务隧道时HTTPS 证书由对方托管基本不用管。但自建 frp 时如果只是裸 HTTP 转发数据在公网链路上就是明文传输包括你的密钥。给域名配一张免费证书并不难配置好后 frp 可以支持 HTTPS 转发这样手机端调用时就不用担心密钥被截获。另外云服务器的安全组里除了放行 frp 通信端口和 OpenClaw 映射端口还可以设置来源 IP 白名单。如果你远程调用的场景比较固定比如长期只从某一个 IP 段访问那就把允许的来源收紧到这个网段比完全开放给全网要安心得多。5. 常见问题与排查速查我踩过的一些坑5.1 免费隧道地址总是变这是云服务隧道免费版最常见的限制。cpolar 免费隧道每次重启都可能生成新的公网地址手机端配置的 baseURL 就得跟着改。解决思路有三个一是接受这个限制只在临时调试时用二是升级到付费固定域名三是干脆切到自建 frp绑定自己的域名。如果你已经决定长期用我建议直接走第三条路省得每次重启都要改手机配置。5.2 公网地址能访问但请求连接超时优先排查两个位置一是本地 OpenClaw 服务是否还活着有时候模型进程崩了但隧道客户端还连着表现就是“隧道通、服务不通”二是自建 frp 场景下云服务器安全组有没有放行对应端口很多折腾半天的人最后都栽在这一步。5.3 远程调用响应很慢大模型生成本来就偏慢但如果你发现网络延迟异常明显先看看家庭宽带的上行带宽。OpenClaw 返回的 JSON 内容很大一个大模型回复可能有几千字换算成流量就是几十 KB 到几百 KB上行带宽一旦不够等待时间会成倍增加。另外模型本身的大小和量化方式也很关键。远程调用时如果本地跑的是一个超大参数的满血模型生成速度本来就不快建议换一个量化版本或者更小的蒸馏模型体验提升会非常明显。5.4 隧道客户端挂掉服务就断了cpolar、frp 客户端本质上是常驻进程一旦宕机或者被系统杀掉隧道就断了。解决方法是把客户端注册成系统服务设置开机自启和崩溃自动重启。Linux 下可以用 systemd 管理Windows 下可以做成计划任务或者注册为服务。这个配置一次一劳永逸值得花十分钟搞完。5.5 手机端请求失败但电脑端正常大多数情况是手机端 API 客户端的 baseURL 没填对。OpenAI 兼容接口的完整地址应该包含/v1路径比如https://xxxx.cpolar.io/v1有些人只填了域名导致请求打到根路径上返回 404。另外检查手机端有没有强制走代理或者走后门流量这类设置会把请求转到别的网络出口也会造成奇怪的问题。5.6 远程调用直接打爆本地模型公网流量无法预测远程用户可能一次性发很多请求本地模型服务很容易被并发冲垮。我的做法是在 OpenClaw 侧把最大并发调到 1 或 2再叠加一个简单的限流模块同一密钥短时间内重复请求直接返回 429。这样即使隧道被扫到损失也控制在一个很小的范围内。6. 最后分享几点实操体会我看到很多人第一次搞内网穿透习惯是先开隧道再回头改模型鉴权结果隧道开着的那段时间接口一直在裸奔。我自己的习惯恰好相反所有本地该开的鉴权、限流全部验证一遍甚至故意用不带密钥的请求测一次确认会被拒绝然后才启动隧道。免费隧道这个东西真的是“验证思路”大于“日常使用”。拿它跑通链路、测完手机端兼容性之后长期要用的朋友还是尽早自建 frp 加自己的域名公网地址固定以后手机端的配置才不用反复改。另外一个非常实用的小技巧平时不用的时候养成随手把隧道关掉的习惯别让一个调试性质的接口整晚挂在公网上。我踩过几次坑之后现在出门前一定会看一眼隧道状态不在需要的时候就让它下线需要时再一条命令拉起来。这样就够了。