无公网IP解决方案:内网穿透实现OpenClaw+nanobot远程访问
2026/6/4 11:11:48 网站建设 项目流程

无公网IP解决方案:内网穿透实现OpenClaw+nanobot远程访问

1. 为什么需要内网穿透

上周我在家部署了OpenClaw和nanobot组合,想实现通过QQ远程控制家中电脑执行自动化任务。但很快发现一个现实问题:家里宽带没有公网IP,外网根本无法访问本地服务。这就像给AI助手装上了翅膀,却把它锁在了笼子里。

经过一番调研,我选择了frp作为内网穿透工具。相比其他方案,frp的优势在于配置简单、性能稳定,而且支持HTTPS和自定义域名。更重要的是,它完美解决了我的核心需求:在外网通过QQ机器人安全地控制家中OpenClaw执行任务。

2. 基础环境准备

2.1 硬件与网络要求

我的实验环境是一台闲置的Mac mini(M1芯片,16GB内存)作为家庭服务器,系统为macOS Ventura 13.5。网络方面,家庭宽带采用PPPoE拨号上网,路由器是小米AX6000。

关键点在于:

  • 确保内网服务(OpenClaw网关)能在本地正常访问
  • 路由器支持端口转发(虽然我们没有公网IP,但后续frp需要)
  • 准备一个域名(我用的是阿里云购买的二级域名)

2.2 服务部署

首先按照常规方式部署nanobot和OpenClaw:

# 安装nanobot docker pull registry.cn-hangzhou.aliyuncs.com/qingchen/nanobot:latest docker run -d -p 8000:8000 --name nanobot registry.cn-hangzhou.aliyuncs.com/qingchen/nanobot:latest # 安装OpenClaw curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemon openclaw gateway --port 18789

验证本地访问正常:

  • nanobot:http://localhost:8000
  • OpenClaw网关:http://localhost:18789

3. frp服务端配置

3.1 购买云服务器

我选择了一台腾讯云轻量应用服务器(1核2G,上海区域,CentOS 7.6),主要考虑:

  • 地理位置靠近我家(江苏)
  • 有固定公网IP
  • 月费仅需65元

3.2 安装frps

在云服务器上执行:

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

配置服务端(frps.ini):

[common] bind_port = 7000 vhost_http_port = 8080 vhost_https_port = 8443 subdomain_host = ai.yourdomain.com token = your_secure_token_123

启动服务:

nohup ./frps -c ./frps.ini > frps.log 2>&1 &

3.3 域名与HTTPS配置

  1. 将域名解析指向云服务器公网IP
  2. 申请SSL证书(我使用acme.sh自动签发):
curl https://get.acme.sh | sh ~/.acme.sh/acme.sh --issue -d ai.yourdomain.com --standalone
  1. 配置frps使用证书:
[common] ... tls_only = true tls_cert_file = /path/to/fullchain.cer tls_key_file = /path/to/ai.yourdomain.com.key

4. 本地客户端配置

4.1 安装frpc

在家庭服务器(Mac)上:

brew install frpc

配置文件(frpc.ini):

[common] server_addr = your_server_ip server_port = 7000 token = your_secure_token_123 [openclaw] type = http local_port = 18789 subdomain = claw [nanobot] type = http local_port = 8000 subdomain = nano

4.2 启动客户端

frpc -c frpc.ini

现在可以通过以下地址访问服务:

  • OpenClaw:https://claw.ai.yourdomain.com
  • nanobot:https://nano.ai.yourdomain.com

5. QQ机器人集成

5.1 安装QQ插件

openclaw plugins install @m1heng-clawd/qq openclaw plugins list

5.2 配置QQ开放平台

  1. 在QQ开放平台创建机器人应用
  2. 获取AppID和AppSecret
  3. 配置回调地址为https://claw.ai.yourdomain.com/qq/callback

修改OpenClaw配置(~/.openclaw/openclaw.json):

{ "channels": { "qq": { "enabled": true, "appId": "你的QQ机器人AppID", "appSecret": "你的QQ机器人AppSecret" } } }

5.3 测试远程控制

重启OpenClaw网关后,在QQ中给机器人发送:

/help

应该能收到OpenClaw返回的命令列表。尝试执行一个简单任务:

整理桌面截图并发送

6. 安全加固措施

6.1 IP访问限制

在frps.ini中添加:

[common] ... allow_ports = 7000,8080,8443

6.2 定期更换token

建议每月更新一次frp的token,并同步更新客户端配置。

6.3 日志监控

设置日志轮转和异常登录检测:

# 日志轮转 logrotate /etc/logrotate.d/frps # 异常检测脚本示例 grep "invalid token" /var/log/frps.log | mail -s "FRP警报" your@email.com

7. 实际使用体验

这套方案已经稳定运行了两周,最实用的三个场景:

  1. 远程文件管理:在外出时通过QQ让OpenClaw打包发送指定文件
  2. 定时任务监控:让nanobot每天20点检查下载任务并微信通知我
  3. 紧急情况处理:有次家人电脑出现问题,我远程让OpenClaw截图并诊断

性能方面,内网穿透带来的延迟约200-300ms,对于非实时操作完全可接受。流量消耗主要来自截图和文件传输,建议在移动网络下发送压缩指令。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询