更新系统

openclaw 中文openclaw 2

我来帮您详细说明如何为“AI小龙虾OpenClaw”系统安装和配置防火墙,根据常见的服务器环境,我将提供两种主流防火墙的配置方案:

更新系统-第1张图片-OpenClaw下载中文-AI中文智能体

UFW防火墙(Ubuntu/Debian系统推荐)

安装和启用UFW

# 安装UFW
sudo apt install ufw -y
# 查看UFW状态
sudo ufw status verbose
# 设置默认规则
sudo ufw default deny incoming  # 默认拒绝所有入站
sudo ufw default allow outgoing # 默认允许所有出站
# 启用UFW
sudo ufw enable

开放必要端口

# SSH端口(远程管理必须)
sudo ufw allow 22/tcp
# OpenClaw Web界面端口(假设使用80/443)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# AI服务API端口(假设使用5000或8000)
sudo ufw allow 5000/tcp
sudo ufw allow 8000/tcp
# 数据库端口(如果需要)
sudo ufw allow 3306/tcp  # MySQL
sudo ufw allow 5432/tcp  # PostgreSQL
# 查看已添加的规则
sudo ufw status numbered

特定IP限制(可选)

# 只允许特定IP访问SSH
sudo ufw allow from 192.168.1.100 to any port 22
# 允许特定IP段访问
sudo ufw allow from 192.168.1.0/24 to any port 5000

Firewalld防火墙(CentOS/RHEL/Fedora系统推荐)

安装和启动

# 安装firewalld
sudo yum install firewalld -y
# 启动并设置开机自启
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 查看状态
sudo firewall-cmd --state

配置服务规则

# 添加服务(预定义)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 添加自定义端口
sudo firewall-cmd --permanent --add-port=5000/tcp
sudo firewall-cmd --permanent --add-port=8000/tcp
# 设置默认区域(可选)
sudo firewall-cmd --set-default-zone=public
# 重新加载配置
sudo firewall-cmd --reload
# 查看当前规则
sudo firewall-cmd --list-all

高级配置

# 添加富规则(Rich Rules)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="5000" protocol="tcp" accept'
# 创建自定义服务
sudo nano /etc/firewalld/services/openclaw.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>OpenClaw AI Service</short>
  <description>OpenClaw AI小龙虾服务平台</description>
  <port protocol="tcp" port="5000"/>
  <port protocol="tcp" port="8000"/>
</service>
# 加载自定义服务
sudo firewall-cmd --permanent --add-service=openclaw
sudo firewall-cmd --reload

Docker环境防火墙配置

如果OpenClaw使用Docker部署:

# Docker会自动管理iptables,但需要确保:
# 1. 允许Docker网桥通信
sudo ufw allow in on docker0
# 或
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
# 2. 如果使用host网络模式,直接使用主机防火墙规则

安全加固建议

基础安全

# 1. 限制SSH尝试次数
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
# 2. 配置Fail2ban(可选)
sudo nano /etc/fail2ban/jail.local

网络优化

# 调整SYN洪水防护
sudo sysctl -w net.ipv4.tcp_syncookies=1
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=2048
# 持久化设置
sudo nano /etc/sysctl.conf

定期检查

# 查看活动连接
sudo netstat -tunlp
# 查看防火墙日志
sudo journalctl -u ufw -f
# 或
sudo tail -f /var/log/firewalld

OpenClaw专用配置示例

假设OpenClaw使用以下端口:

  • Web UI: 8080
  • API服务: 5000
  • 数据库: 3306 (仅内部访问)
  • WebSocket: 8000

配置脚本:

#!/bin/bash
# openclaw-firewall-setup.sh
# UFW版本
if command -v ufw &> /dev/null; then
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow 22/tcp
    sudo ufw allow 8080/tcp
    sudo ufw allow 5000/tcp
    sudo ufw allow 8000/tcp
    sudo ufw allow 8000/udp  # 如果需要UDP
    sudo ufw --force enable
    echo "UFW配置完成!"
fi
# Firewalld版本
if command -v firewall-cmd &> /dev/null; then
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --permanent --add-port=5000/tcp
    sudo firewall-cmd --permanent --add-port=8000/tcp
    sudo firewall-cmd --permanent --add-port=8000/udp
    sudo firewall-cmd --reload
    echo "Firewalld配置完成!"
fi
# 显示当前规则
echo "当前防火墙规则:"
sudo iptables -L -n -v 2>/dev/null || sudo firewall-cmd --list-all

故障排除

常见问题解决:

  1. 连接被拒绝

    # 检查服务是否监听
    sudo ss -tulpn | grep :端口号
    # 临时关闭防火墙测试
    sudo ufw disable
    # 或
    sudo systemctl stop firewalld
  2. 规则未生效

    # 重新加载规则
    sudo ufw reload
    # 或
    sudo firewall-cmd --reload
  3. 查看详细日志

    # UFW日志
    sudo grep UFW /var/log/syslog
    # Firewalld日志
    sudo journalctl -u firewalld

重要提示:

  1. 操作前确保有备用连接方式(如控制台访问)
  2. 先添加SSH规则再启用防火墙,避免被锁在服务器外
  3. 生产环境建议使用更严格的白名单策略
  4. 定期审查和更新防火墙规则

您可以根据实际使用的系统和OpenClaw的具体端口需求调整上述配置,需要更具体的帮助吗?

标签: 系统升级 系统更新

抱歉,评论功能暂时关闭!