回环与内网暴露对照(多节点池)
团队池化时不要默认只信 127.0.0.1 文档截图;MeshMac 上常需内网地址供同网段构建机回调,同时把管理面收敛到 SSH 隧道。
| 绑定 | 谁直连 | 令牌风险面 | 推荐收敛 |
|---|---|---|---|
| 仅回环 | 本机用户 | 低 | 本机开发够用 |
| 内网口加固定口 | 同网段服务 | 中 | 配防火墙白名单加隧道管理面 |
| 对公网零口 | 互联网 | 高 | MeshMac 生产禁止裸奔须前置反代与 mTLS |
最小复现六步(对齐公开文档)
各节点同一维护窗执行;变更前后各存一份 openclaw gateway status 文本便于 diff。
- 安装:按官方 Quickstart 使用
curl -fsSL https://openclaw.ai/install.sh | bash(或团队镜像源),确认openclaw --version与文档要求的主版本一致。 - Onboard:执行
openclaw onboard --install-daemon写入工作区、模型凭据与 launchd 服务,避免只装 CLI 不装常驻网关。 - Doctor:跑
openclaw doctor;公开 CLI 文档见 doctor 章节,阻塞项清零后再改绑定。 - 非 loopback 绑定:将网关监听改为例如
10.0.0.5:18789,lsof -nP -iTCP:18789 -sTCP:LISTEN三台节点输出应同形。 - LocalForward:笔记本执行
ssh -N -L 18789:10.0.0.5:18789 user@jump.meshmac.internal,浏览器打开http://127.0.0.1:18789,请求头或查询串带同一网关令牌。 - 合并验收:多节点各开不同本地口(如
118789、218789)映射到各内网一八七八九,避免端口冲突;令牌轮换后全员重登跳板会话。
合并多条 SSH LocalForward 的写法
在 ~/.ssh/config 用 LocalForward 118789 node-a.internal:18789 与第二条 LocalForward 218789 node-b.internal:18789 放在同一 Host meshjump 块,一条 ssh meshjump 即合并多转发;或用 -L 串联两次。改配置后断开重连才生效。
排障表:端口一八七八九、auth token、服务未运行
| 现象 | 端口一八七八九 | auth token | 服务未运行 |
|---|---|---|---|
| 浏览器 connection refused | 本机 lsof 无监听或转发目标写错内网 IP | 未到鉴权层 | 先 openclaw gateway status 与 launchctl 列表确认守护进程 |
| 隧道已建仍 refused | 确认远端监听为 0.0.0.0:18789 或正确内网口而非仅回环 | — | 网关进程崩溃看 openclaw logs |
| HTTP 401 或 unauthorized | 端口通 | 核对令牌文件与请求头一致;清 launchctl getenv OPENCLAW_GATEWAY_TOKEN 残留 | 令牌热更后未 reload |
| 间歇 502 | 负载或反代超时 | 反代子请求未透传令牌 | 后端 worker 未起 |
可引用检查点(至少三条)
- 监听三元组:协议、绑定地址、一八七八九在 validate 或 status 输出中三节点逐字一致。
- 令牌权限:磁盘模式 零四四零,禁止把明文令牌写进仓库。
- 巡检节拍:滚动发布前后各跑一次
openclaw doctor与网关状态,附在变更单。