新建会话
  • PPT
  • 网站
  • 文档
  • 深度研究
  • 表格
  • Agent 集群
Kimi Code
Kimi Claw
历史会话
  • 获取应用程序
  • 关于我们
    • 探索月之暗面
    • 开放平台
    • 社会招聘
    • 校园招聘
    • 用户协议
    • 隐私协议
  • Language
  • 用户反馈

OpenClaw本地监听

如何修改openclaw将Gateway配置为只监听127.0.0.1,永不暴露到公网
OpenClash 是一个在 OpenWrt 路由器上运行的 Clash 客户端。要修改配置使 Gateway(API/控制面板)只监听 127.0.0.1,需要修改 Clash 的配置文件。

方法一:修改 OpenClash 配置

在 OpenClash 的 "插件设置" → "开发者选项" 或 "自定义配置" 中,找到 "Controller 配置" 部分:

关键配置项

yaml
复制
# 在 OpenClash 的自定义配置中加入或修改:
external-controller: 127.0.0.1:9090  # 只监听本地
secret: "your-password"              # 设置访问密码

方法二:直接修改 Clash 核心配置

如果 OpenClash 允许编辑原始配置文件,找到 config.yaml 或混入配置:
yaml
复制
# 确保 external-controller 绑定到 127.0.0.1
external-controller: 127.0.0.1:9090

# 可选:禁用外部控制(完全关闭 API)
# 注释掉或删除 external-controller 行

方法三:OpenClash 界面设置路径

根据 OpenClash 版本不同,尝试以下路径:
  1. OpenClash 主界面 → "全局设置" → "控制器设置"
    • 找到 "绑定地址" 或 "监听地址"
    • 设置为 127.0.0.1
  2. "插件设置" → "DNS 设置" / "外部控制设置"
    • 修改 External Controller 地址
  3. 使用 "配置文件管理" → "配置文件编辑"
    • 在 YAML 中直接添加:
      yaml
      复制
      external-controller: 127.0.0.1:9090

方法四:防火墙层面加固(双重保险)

即使配置失误,也可以通过 OpenWrt 防火墙阻止外部访问:
bash
复制
# SSH 登录路由器后执行
# 拒绝外部访问 9090 端口
iptables -I INPUT -p tcp --dport 9090 ! -s 127.0.0.1 -j DROP
# 或写入 /etc/config/firewall 永久生效

验证方法

修改后验证监听地址:
bash
复制
# SSH 登录路由器
netstat -tlnp | grep 9090
# 或
ss -tlnp | grep 9090

# 应该显示 127.0.0.1:9090,而不是 0.0.0.0:9090

注意事项

表格
项目说明
端口默认 9090,可在 OpenClash 设置中修改
yacd 面板如果通过反向代理访问,确保代理服务器也在本地
配置覆盖OpenClash 更新可能覆盖配置,建议写入"自定义规则"或"混入配置"
如果 OpenClash 版本较新,界面可能有变化,建议查看当前版本的 "全局设置" → "控制器设置" 或 "外部控制" 相关选项。
你在瞎逼逼,我问的是openclaw,小龙虾
非常抱歉!我误解了您的问题。您说的是 OpenClaw(小龙虾),这是一款开源的抓娃娃机/礼品机控制软件,而不是 OpenClash。
让我搜索一下 OpenClaw 的具体配置方法:
搜索网页
OpenClaw Gateway 配置 127.0.0.1 OpenClaw 小龙虾 网关 监听地址 配置 OpenClaw config Gateway bind address localhost
50 个结果
抱歉刚才的误解!根据搜索结果,这是 OpenClaw(小龙虾) 的 Gateway 配置方法,确保只监听 127.0.0.1,永不暴露到公网:

核心配置方法

方法一:使用 CLI 命令设置(推荐)

bash
复制
# 将 gateway 绑定模式设置为 loopback(仅本地)
openclaw config set gateway.bind "loopback"

# 重启网关生效
openclaw gateway restart
loopback 模式会强制 Gateway 只监听 127.0.0.1:18789,拒绝所有外部连接 。

方法二:直接修改配置文件

编辑 ~/.openclaw/openclaw.json:
JSON
复制
{
  "gateway": {
    "bind": "loopback",
    "port": 18789,
    "auth": {
      "token": "your-strong-secret-token"
    }
  }
}
关键参数说明 :
表格
参数值说明
bind"loopback"仅本地回环,最安全
bind"lan"监听 0.0.0.0,允许公网访问(危险)
bind"tailnet"通过 Tailscale 网络访问
auth.token强密码即使绑定错误,也有最后一道防线

方法三:Docker 环境配置

在 docker-compose.yml 中设置环境变量:
yaml
复制
services:
  openclaw-gateway:
    environment:
      - OPENCLAW_GATEWAY_BIND=loopback
      - OPENCLAW_GATEWAY_TOKEN=your-strong-secret-token
    network_mode: host  # 或使用默认 bridge 但只映射到本地

验证配置是否生效

bash
复制
# 检查监听地址
ss -tlnp | grep 18789
# 或
netstat -tlnp | grep 18789

# 正确输出应显示:127.0.0.1:18789
# 错误输出会显示:0.0.0.0:18789(暴露到公网)

# 运行安全审计
openclaw security audit

双重保险:防火墙层面阻断

即使配置失误,也可通过系统防火墙兜底:
bash
复制
# Linux iptables(阻止非本地访问 18789)
iptables -I INPUT -p tcp --dport 18789 ! -s 127.0.0.1 -j DROP

# 或仅允许本地回环接口
iptables -A INPUT -p tcp --dport 18789 -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 18789 -j DROP

重要安全警告

OpenClaw 官方强烈建议 :
  1. 永远不要将 Gateway 绑定到 0.0.0.0 或 lan 模式而不设置强 Token
  2. 永远不要将 18789 端口直接暴露到公网(存在 CVE-2026-25253 等安全风险)
  3. 如需远程控制,使用 SSH 隧道 或 Tailscale VPN,而非直接暴露端口
bash
复制
# 安全的远程访问方式:SSH 隧道
ssh -L 18789:localhost:18789 your-server
# 然后在本地浏览器访问 http://localhost:18789
配置完成后,建议运行 openclaw security audit --fix 自动修复潜在安全问题 。