三、分步骤实操:从本机服务到云端安全组
第 1 步:确认 OpenClaw Gateway 服务状态
这是最容易忽略却最关键的一步。很多用户看到"连接失败"就下意识怀疑网络,但 Gateway 自己没起来,客户端连个空气。
原理:OpenClaw Gateway 启动后会监听默认端口 18789,等待客户端连接。如果进程崩溃、端口被占用或配置错误导致监听失败,客户端的连接请求会在操作系统层面直接收到 RST 包,表面现象跟被防火墙挡住几乎一模一样。
排查命令(在 X13-A6CD 上实测可直接复用):
netstat -ano | findstr "18789"
若返回类似 TCP 0.0.0.0:18789 0.0.0.0:0 LISTENING 的结果,说明服务正常监听。若无输出,继续查:
tasklist | findstr "openclaw"
tasklist | findstr "node"
再翻日志:
type %USERPROFILE%\.openclaw\logs\openclaw-*.log | findstr /i "error listen port"
常见现象对照表:
| 现象 | 可能原因 | 处理方式 |
| 端口无监听,进程不存在 | OpenClaw 服务未启动 | 重启服务 |
| 端口无监听,进程存在 | 端口被占用或配置错误 | 换端口或结束占用进程 |
| 端口监听中,但连接被拒 | 监听地址是 127.0.0.1 而非 0.0.0.0 | 改配置监听全网段 |
| 进程反复崩溃 | 配置文件损坏或权限不足 | 查日志重建配置 |
小提示:这里说的 OpenClaw Gateway 端口、OpenClaw 服务监听状态 是高频搜索词,很多人搜的就是这两个关键词找答案。
第 2 步:Windows Defender 防火墙(家庭用户最高频)
Windows 11 默认启用 Defender,出站(Outbound)默认允许,入站(Inbound)默认拦截。这是普通用户栽跟头最多的地方。
原理:Defender 的默认策略是"未明确允许的入站连接一律丢弃"。OpenClaw Gateway 虽然监听了端口,但没有入站允许规则的话,Windows 会直接扔掉所有来自其他设备的连接请求。注意:本机访问 localhost 不受这条限制,这就是为什么"同一台电脑自己连自己没事、跨设备就连不上"的根因。
GUI 路径(Windows 11 24H2/25H2 通用):
- 打开「Windows Defender 防火墙」→「高级设置」
- 选择「入站规则」→「新建规则」
- 规则类型选「端口」→ TCP → 特定本地端口填
18789
- 操作选「允许连接」
- 配置文件全选(域/专用/公用),漏选公用网络会导致手机热点场景失败
PowerShell 快速放行(在 X13-A6CD 上 PowerShell 7.5 验证通过):
New-NetFirewallRule -DisplayName "OpenClaw Inbound" `
-Direction Inbound -Protocol TCP `
-LocalPort 18789 -Action Allow
验证规则已生效:
Get-NetFirewallRule | Where-Object { $_.DisplayName -like "*OpenClaw*" -or $_.DisplayName -like "*18789*" } | Format-Table DisplayName, Enabled, Direction, Action
确认 Enabled = True、Direction = Inbound、Action = Allow,三件套齐活。
真实案例(FAQ 第 2 题的具象化版本):有用户反馈"手机想控制电脑上的 OpenClaw,完全连不上",手机和电脑在同一 WiFi 下。排查发现 Windows Defender 防火墙阻断了所有非本机的入站连接。跑完上面这条 PowerShell 命令放行后,手机秒连。这个案例我反复拿出来讲,因为它太典型了——"明明同一个 WiFi 怎么就过不去"的根因 90% 就是这条入站规则缺失。
第 3 步:第三方防火墙(国内用户重灾区)
国内用户常见的 360、火绒、腾讯电脑管家,都有独立的防火墙模块,跟 Windows Defender 是并行运行的关系。就算你关了 Defender,这些软件的防火墙依然在工作。
- 火绒:设置 → 防御设置 → 系统防御 → 联网控制,看是否有 OpenClaw 相关条目被拦截。火绒联网控制默认是"放行所有"的沉默模式,但有用户会手动开启严格拦截。
- 360 安全卫士:防火墙 → 信任列表,把
openclaw.exe 加进去。360 的"流量监控"能看到每个进程的网络活动,定位是否被拦截一目了然。
- 腾讯电脑管家:工具箱 → 防火墙 → 应用防火墙,确认 OpenClaw 条目是放行状态。
通用排查套路:
- 彻底退出第三方防火墙(注意是退出,不是静默到托盘)
- 测试 OpenClaw 连接是否恢复
- 若恢复,再逐步恢复各项防护,定位是哪条规则在拦截
- 把 OpenClaw 加入对应杀软的白名单
进程层面快速确认三方杀软在不在跑:
tasklist | findstr /i "HipsTray.exe 360tray.exe QQPCRTP.exe"
避坑提醒:360 关了主界面后,后台服务 360tray.exe 可能还活着,规则照样生效。必须从托盘图标右键退出,或者直接任务管理器结束进程。这一条很多人栽过。
第 4 步:路由器 / 企业防火墙 / 云端安全组
如果 OpenClaw 部署在局域网另一台机器,或通过 VPS 暴露服务,就要确认三层:路由器 NAT、云服务商安全组、企业网络 ACL。
原理:家用路由器的 NAT 默认只转发已配置的端口映射,没有映射的数据包直接丢。云厂商安全组默认只开放 22/80/443 这种常用端口,18789 是自定义端口,必须手动添加。企业网络可能有 ACL 或透明代理,更严格。
家庭路由器:
登录管理后台(通常是 192.168.0.1 或 192.168.1.1),找"端口映射 / 虚拟服务器 / NAT 设置",添加 TCP 18789 的映射到 OpenClaw 所在主机的内网 IP。
云服务商安全组配置对照表(截至 2026 年 8 月的官方文档路径):
| 云服务商 | 配置路径 | 添加规则 |
| 阿里云 | ECS → 安全组 → 配置规则 → 入方向 → 添加安全组规则 | 协议:TCP,端口范围:18789/18789,授权对象:0.0.0.0/0 |
| 腾讯云 | CVM → 安全组 → 入站规则 → 添加规则 | 协议:TCP,端口:18789,来源:0.0.0.0/0 |
| AWS | EC2 → Security Groups → Edit inbound rules | Type:Custom TCP,Port:18789,Source:0.0.0.0/0 |
安全提醒:生产环境授权对象建议收紧到具体 IP 段,0.0.0.0/0 仅用于调试。
连通性验证(X13-A6CD 实测命令):
telnet 192.168.0.31 18789
超时或拒绝就说明网络层有阻断。Windows 11 默认不装 telnet,先到"启用或关闭 Windows 功能"里勾上 Telnet Client。
企业网络特殊情况:
- 防火墙明令禁止非标准端口
- 透明代理拦截所有 HTTP/HTTPS 流量
- 802.1X 认证影响网络策略下发
这种情况建议优先用 VPN 或直接联系网管放行,别硬刚。
第 5 步:代理 / VPN 干扰(隐蔽但致命)
有些用户环境跑了全局代理或 VPN,OpenClaw Gateway 的 WebSocket 连接会被代理"误杀"。这个环节最容易被忽略。
原理:OpenClaw 客户端和 Gateway 之间通过 WebSocket(通常走 HTTP/80 或 HTTPS/443)通信。全局代理会把流量接管,可能出现三种情况:代理不支持 WebSocket 直接断开、代理对长连接有超时、代理过滤非标准端口。
在 X13-A6CD 上的排查命令(注意 Windows 11 25H2 起环境变量读取方式有变化,下面的写法是当前通行的):
netsh winhttp show proxy
# 查看当前用户与系统环境变量(Windows 11 25H2 推荐用这种方式)
[System.Environment]::GetEnvironmentVariable("HTTP_PROXY","User")
[System.Environment]::GetEnvironmentVariable("HTTPS_PROXY","User")
[System.Environment]::GetEnvironmentVariable("NO_PROXY","User")
历史版本里常用 echo %http_proxy% 这种 cmd 写法,但 PowerShell 7+ 下更推荐用 .NET 的 GetEnvironmentVariable,跨版本兼容更好。
解决方案:
把目标地址加进代理软件的直连列表,以 Clash/V2Ray 系为例:
rules:
- DOMAIN-SUFFIX,192.168.0.31,DIRECT
- IP-CIDR,192.168.0.0/24,DIRECT
或者在 OpenClaw 客户端配置里显式指定不走代理:
{
"gateway": {
"remote": {
"url": "http://192.168.0.31:18789",
"noProxy": true
第 6 步:DNS 污染(远程访问的最后一关)
如果你是用域名连 OpenClaw 的,DNS 污染会导致域名解析到错误 IP 或被墙 IP,连接直接挂。
原理:国内部分网络环境会篡改 DNS 查询结果或缓存。典型特征是不同 DNS 服务器解析出不同 IP。
在 X13-A6CD 上对比解析结果:
nslookup gateway.your-domain.com 223.5.5.5
nslookup gateway.your-domain.com 8.8.8.8
结果不一致基本就是 DNS 污染了。临时方案:直接用 IP+端口连;长期方案:上 DoH(DNS over HTTPS)或 DoT。
Windows 11 25H2 配置 DoH 路径:
- 设置 → 网络和 Internet → 高级网络设置 → DNS 设置
- 选"手动 DNS",输入阿里 DoH 地址:
https://dns.alidns.com/dns-query
- 保存后重新查询验证