服务器端(控制端)配置 和 客户端(受控端)配置。

核心概念与默认设置
- 通信协议:通常使用 TCP 协议,保证数据传输的可靠性。
- 默认端口:
- 控制端口: 用于传输指令、屏幕图像、文件操作等核心数据。默认常见端口是 50051(gRPC常用端口)或自定义的其他端口。
- 文件传输端口: 可能单独使用一个端口进行大文件传输,以提高效率。
- 连接方式:
- 正向连接(客户端连接服务器): 受控端主动去连接控制端公布的IP和端口,适用于控制端有固定公网IP的情况。
- 反向连接(服务器连接客户端): 更常见的方式,受控端主动连接到一个“中间服务器”(中继),控制端也连接到这个中继,通过它进行数据交换,适用于双方都在内网(NAT之后)的情况。
典型网络设置步骤
第一阶段:服务器端(控制端)设置
-
获取公网IP或设置中继:
- 方案A(有公网IP): 如果你的控制端有公网IP,只需在路由器上做端口转发,将公网IP的某个端口(如 50051)映射到内网控制端机器的相同端口,然后确保防火墙允许该端口。
- 方案B(无公网IP,推荐): 使用反向连接/中继模式,你需要一台具有公网IP的服务器作为中继服务器,在控制端配置中,设置连接到此中继服务器的地址和端口。
-
修改服务器配置文件: 通常是一个
config.toml,config.yaml或server.conf文件。# 示例配置 server: bind_address: "0.0.0.0" # 监听所有网络接口 bind_port: 50051 # 监听的端口 # 如果使用中继模式,配置中继服务器地址 relay_server: "your-relay-server.com:443" auth_key: "your_strong_password_here" # 连接认证密钥,非常重要!
-
开放防火墙端口:
- Linux:
sudo ufw allow 50051/tcp - Windows: 在“Windows Defender 防火墙”中添加入站规则。
- Linux:
-
运行服务器:
./openclaw-server -c config.yaml
第二阶段:客户端(受控端)设置
-
修改客户端配置文件: 客户端的配置需要指向服务器(或中继服务器)。
client: server_address: "your-server-public-ip.com:50051" # 方案A:直接连接 # 或者 relay_server: "your-relay-server.com:443" # 方案B:通过中继连接 client_id: "windows-pc-01" # 为此客户端设置一个唯一标识 auth_key: "your_strong_password_here" # 必须与服务器端一致 reconnect_interval: 10 # 断开后重连间隔(秒)
-
运行客户端:
./openclaw-client -c config.yaml客户端会尝试根据配置建立连接,连接成功后,你会在服务器端看到该客户端上线。
高级网络配置与优化
-
加密与安全:
- 务必启用TLS/SSL加密: 在配置中指定证书和密钥文件路径,防止流量被窃听。
- 使用强认证密钥:
auth_key应使用强密码生成器生成,避免使用默认值。 - IP白名单: 如果服务器端有公网IP,可以设置只允许特定IP连接。
-
中继服务器部署: 如果你选择方案B,中继服务器本身就是一个轻量级的服务,需要部署在云服务器(如AWS、阿里云、腾讯云)上,其配置更简单,主要就是监听一个端口并转发流量。
relay: bind_port: 443 # 可能需要配置域名和SSL证书
-
内网穿透考虑: 如果客户端在复杂的企业内网,可能需要额外的代理设置,在客户端配置中可能支持
proxy字段,配置 SOCKS5 或 HTTP 代理。 -
心跳与保活: 配置
keepalive_interval参数,定期发送心跳包,防止长时间无数据导致NAT连接被路由器清除。
故障排查(常见问题)
-
客户端显示“连接失败”或超时:
- 检查地址和端口: 确认
server_address或relay_server正确无误。 - 检查防火墙: 确保服务器/中继服务器的防火墙已开放对应端口。
- 检查路由器: 如果做端口转发,确认转发规则正确,且内网IP固定。
- 使用工具测试: 在控制端机器上用
telnet your-server-ip 50051或nc -zv your-server-ip 50051测试端口是否可达。
- 检查地址和端口: 确认
-
连接不稳定,经常断开:
- 调整心跳间隔: 适当缩短
keepalive_interval。 - 检查网络环境: 可能是客户端或服务器网络不稳定。
- 查看日志: 运行服务时添加
-v或-debug参数查看详细日志,定位错误原因。
- 调整心跳间隔: 适当缩短
-
速度慢:
- 检查带宽: 中继服务器的带宽可能成为瓶颈。
- 调整图像质量: 如果是远程桌面,在配置中降低屏幕传输的图像质量或帧率。
- 选择就近节点: 中继服务器尽量选在离客户端和控制端都较近的地理位置。
安全警告
- 切勿暴露在公网而不设密匙: 这会导致你的机器被任何人控制。
- 使用非默认端口: 避免使用 50051 等常见端口,可以改为一个随机的高位端口。
- 定期更新: 保持 OpenClaw 版本为最新,以修复已知漏洞。
最准确的设置方法永远是查阅你所用 OpenClaw 版本的项目官方文档(如 GitHub 上的 README)和配置文件内的注释。
如果你能提供具体的 OpenClaw 版本或遇到的实际错误信息,我可以给出更精确的指导。