龙虾 OpenClaw 端口放行策略:18789端口的安全配置
一、背景与目标
OpenClaw 是一款用于高性能计算与分布式任务调度的中间件,其默认服务端口为 18789。在实际部署中,若未正确配置防火墙或安全组规则,可能导致服务无法被外部访问,或存在安全风险。本文将手把手带你完成 OpenClaw 18789 端口的放行配置,确保服务可被安全访问。
二、准备工作
在开始配置前,请确认以下几点:
- 你已拥有 OpenClaw 服务的部署环境(如 Linux 服务器)。
- 你拥有该服务器的 root 或 sudo 权限。
- 你已了解 OpenClaw 的服务进程名称(通常为
openclawd)。 - 你已确认 18789 端口为 OpenClaw 的唯一对外服务端口(避免与其他服务冲突)。
三、步骤一:确认 OpenClaw 服务是否运行
执行以下命令检查 OpenClaw 服务状态:
systemctl status openclawd
如果服务未运行,需先启动:
systemctl start openclawd
四、步骤二:查看 OpenClaw 服务监听的端口
执行以下命令确认 18789 端口是否被监听:
netstat -tuln | grep 18789
或使用 ss 命令:
ss -tuln | grep 18789
输出应包含类似内容:
tcp 0 0 0.0.0.0:18789 0.0.0.0:* LISTEN
说明 OpenClaw 已在 18789 端口监听,等待连接。
五、步骤三:配置防火墙放行 18789 端口
根据你的操作系统,选择以下任一方式配置防火墙规则:
5.1 Ubuntu / Debian(使用 UFW)
启用 UFW(若未启用):
sudo ufw enable
添加 18789 端口放行规则:
sudo ufw allow 18789
查看当前规则:
sudo ufw status
输出应包含:
18789/tcp ALLOW Anywhere
5.2 CentOS / RHEL(使用 firewalld)
启动 firewalld(若未启动):
sudo systemctl start firewalld
设置为开机自启(可选):
sudo systemctl enable firewalld
添加 18789 端口放行规则:
sudo firewall-cmd --permanent --add-port=18789/tcp
重新加载配置:
sudo firewall-cmd --reload
查看当前规则:
sudo firewall-cmd --list-all
输出应包含:
public
ports: 18789/tcp
5.3 其他系统(如 OpenBSD、FreeBSD)
使用 pf(OpenBSD)或 ipfw(FreeBSD):
OpenBSD(pf):
编辑 /etc/pf.conf,添加:
pass in quick on $ext_if proto tcp from any to any port 18789
然后加载规则:
sudo pfctl -f /etc/pf.conf
FreeBSD(ipfw):
添加规则:
sudo ipfw add 100 allow tcp from any to any port 18789
六、步骤四:配置云服务商安全组(如 AWS、阿里云、腾讯云)
如果你的 OpenClaw 服务部署在云服务器上,还需在云控制台配置安全组规则,放行 18789 端口。
6.1 AWS EC2
- 进入 AWS 控制台 → EC2 → 安全组。
- 选择你的安全组 → 编辑入站规则。
- 添加一条规则:
- 类型:所有(或 TCP)
- 协议:TCP
- 端口范围:18789
- 源:0.0.0.0/0(或指定 IP 范围)
- 保存规则。
6.2 阿里云 ECS
- 进入阿里云控制台 → 云服务器 ECS → 安全组。
- 选择你的 ECS 实例 → 配置安全组。
- 添加一条入方向规则:
- 协议类型:TCP
- 端口范围:18789
- 授权对象:0.0.0.0/0
- 保存并应用。
七、步骤五:验证端口是否可访问
7.1 本地测试(若服务在本机)
telnet 127.0.0.1 18789
或使用 nc:
nc -zv 127.0.0.1 18789
输出应为:
Connection to 127.0.0.1 port 18789 [tcp/*] succeeded!
7.2 远程测试(若服务在远程服务器)
从另一台机器执行:
telnet <你的服务器IP> 18789
或:
nc -zv <你的服务器IP> 18789
八、步骤六:(可选)配置 OpenClaw 服务绑定特定 IP(增强安全性)
默认情况下,OpenClaw 可能监听所有 IP(0.0.0.0)。为提升安全性,建议将其绑定到特定 IP(如服务器的公网 IP)。
8.1 找到 OpenClaw 配置文件
通常位于:
/etc/openclaw/openclaw.conf
或:
/usr/local/etc/openclaw/openclaw.conf
8.2 编辑配置文件
找到 listen 或 bind 配置项,修改为:
listen = 0.0.0.0:18789
改为:
listen = <你的公网IP>:18789
例如:
listen = 123.45.67.89:18789
8.3 重启服务
systemctl restart openclawd
九、步骤七:(可选)配置访问控制列表(ACL)
OpenClaw 支持基于 IP 的访问控制。你可以在配置文件中添加 access_control 部分,限制哪些 IP 可以访问 18789 端口。
9.1 编辑配置文件
在 openclaw.conf 中添加:
access_control {
allow 123.45.67.89/32
deny 0.0.0.0/0
}
9.2 重启服务
systemctl restart openclawd
十、总结:关键配置项检查清单
| 项目 | 状态 | 检查命令 |
|---|---|---|
| OpenClaw 服务是否运行 | ✅ | systemctl status openclawd |
| 18789 端口是否监听 | ✅ | netstat -tuln | grep 18789 |
| 防火墙是否放行 18789 | ✅ | sudo ufw status 或 sudo firewall-cmd --list-all |
| 云安全组是否放行 18789 | ✅ | 云控制台确认 |
| 服务是否绑定特定 IP | ✅ | netstat -tuln | grep 18789 |
| 是否配置了访问控制 | ✅ | 查看 openclaw.conf |
十一、常见问题与解决方案
11.1 端口被占用?
执行:
lsof -i :18789
若发现其他进程占用,可终止:
sudo kill -9 <PID>
11.2 防火墙规则未生效?
重启防火墙服务:
sudo systemctl restart ufw
或:
sudo systemctl restart firewalld
11.3 云安全组未生效?
检查规则是否添加到正确的安全组,并确认 ECS 实例是否在该安全组中。
十二、附录:OpenClaw 配置文件关键字段说明
| 字段 | 说明 |
|---|---|
listen |
指定服务监听的 IP 和端口,如 0.0.0.0:18789 |
access_control |
配置允许或拒绝访问的 IP 列表 |
log_level |
日志级别,如 info、debug |
max_connections |
最大连接数 |
通过以上步骤,你已成功完成 OpenClaw 18789 端口的放行配置。整个过程无需图形界面,纯命令行操作,适合自动化部署与运维场景。

暂无评论,快来抢沙发吧!