openclaw若未管控网络暴露面,18789端口可能被公网直接访问;需通过检查监听地址、绑定回环、防火墙限流、禁用端口映射及外部验证五步完成加固。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您运行了OpenClaw服务,但未对其网络暴露面进行管控,则可能存在网关端口18789被公网直接访问的风险。以下是开展公网暴露自查并关闭不必要互联网访问端口的操作步骤:
一、检查OpenClaw网关端口监听地址
该步骤用于确认OpenClaw是否正将18789端口绑定至公网可访问地址(如0.0.0.0或:::),这是判断是否存在暴露风险的第一步。
1、Linux系统下,在终端中执行命令:ss -tlnp | grep 18789
2、macOS系统下,在终端中执行命令:lsof -i :18789
3、Windows系统下,在PowerShell中执行命令:netstat -ano | findstr ":18789"
4、若输出中包含 0.0.0.0:18789 或 :::18789,则表明服务已监听全部网络接口,需立即修改配置。
二、修改openclaw.json绑定为本地回环地址
将OpenClaw网关服务绑定至127.0.0.1(IPv4)或::1(IPv6)可确保仅本机可访问,从根本上阻断公网连接路径。
1、定位并使用文本编辑器(如nano或vim)打开配置文件:~/.openclaw/openclaw.json
2、查找 gateway 区块,将其内容替换为以下结构:
3、{ "gateway": { "mode": "local", "port": 18789, "bind": "loopback" } }
4、保存文件后,重启OpenClaw服务使配置生效。
三、通过防火墙规则限制18789端口访问范围
即使服务已绑定本地地址,若系统防火墙策略宽松,仍可能因反向代理或容器网络配置导致意外暴露,因此需叠加网络层访问控制。
1、登录云服务商控制台(如腾讯云轻量应用服务器)
2、进入对应实例的「防火墙」设置页
3、点击「添加规则」,新建入站规则
4、协议类型选择 TCP,端口范围填写 18789
5、源IP地址设置为 仅允许您常用设备的公网IP,禁止填写0.0.0.0/0
四、禁用公网端口映射与NAT转发
若使用路由器、Docker或frp等工具进行了端口映射,即使OpenClaw自身未监听公网,外部请求仍可通过网关穿透进入,必须逐项排查并关闭。
1、登录家用路由器管理界面,检查「端口转发」或「虚拟服务器」列表
2、查找目标端口为 18789 的条目,将其状态设为禁用或直接删除
3、若使用Docker运行OpenClaw,检查运行命令中是否含 -p 18789:18789 参数,如有则移除该参数并改用 --network host 或内部桥接网络
4、若使用frp内网穿透,检查frps.ini与frpc.ini中是否配置了 [openclaw] 类型的proxy,如有则注释或删除整段配置
五、验证端口是否已脱离公网暴露
完成上述任一加固操作后,须通过外部网络视角复测,确认18789端口不再响应公网探测请求。
1、使用另一台非局域网设备(如手机切换至4G/5G网络)
2、访问网址:http://您的服务器公网IP:18789
3、若返回 无法访问此网站 或连接超时,说明端口已成功屏蔽
4、也可使用在线端口检测工具(如yougetsignal.com/port-scanner),输入服务器IP与端口号18789进行扫描验证











