OpenCloudOS 8.6 是基于 Linux 的开源服务器操作系统,其防火墙机制与主流的 RHEL/CentOS/Rocky Linux 等系统类似,主要使用 firewalld 作为默认的动态防火墙管理工具。以下是关于 OpenCloudOS 8.6 防火墙的详细介绍和常用操作:
🔧 1. 默认防火墙服务:firewalld
- 服务名称:
firewalld - 配置工具:
firewall-cmd(命令行)、firewall-config(图形界面,可选) - 区域(Zones):支持多种网络区域(如 public、internal、trusted 等),用于灵活控制不同网络接口的安全策略。
✅ 常用防火墙操作命令
🔹 启动、停止、重启 firewalld
# 启动防火墙
sudo systemctl start firewalld
# 设置开机自启
sudo systemctl enable firewalld
# 停止防火墙
sudo systemctl stop firewalld
# 禁用开机启动
sudo systemctl disable firewalld
# 查看状态
sudo systemctl status firewalld
🔹 查看当前防火墙状态和规则
# 查看运行状态
sudo firewall-cmd --state
# 查看当前活动区域
sudo firewall-cmd --get-active-zones
# 查看默认区域
sudo firewall-cmd --get-default-zone
# 列出当前区域的规则(临时+永久)
sudo firewall-cmd --list-all
🔹 开放端口或服务
# 临时开放端口(重启后失效)
sudo firewall-cmd --add-port=80/tcp
# 永久开放端口(推荐)
sudo firewall-cmd --add-port=80/tcp --permanent
# 开放某个服务(如 http、https)
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
# 重新加载配置使永久规则生效
sudo firewall-cmd --reload
⚠️ 注意:添加
--permanent参数后必须执行--reload才能生效。
🔹 删除规则
# 删除已开放的端口
sudo firewall-cmd --remove-port=80/tcp --permanent
# 删除服务
sudo firewall-cmd --remove-service=http --permanent
# 重新加载
sudo firewall-cmd --reload
🔹 更改默认区域
# 设置默认区域为 public
sudo firewall-cmd --set-default-zone=public
# 将某个网卡绑定到指定区域
sudo firewall-cmd --zone=dmz --change-interface=eth0 --permanent
🛑 替代方案:iptables(传统方式)
虽然 firewalld 是默认工具,但你也可以切换回传统的 iptables:
# 停止并禁用 firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 安装 iptables-services
sudo dnf install iptables-services -y
# 启动并启用 iptables
sudo systemctl start iptables
sudo systemctl enable iptables
然后使用 iptables 命令进行规则配置。
🔐 安全建议
- 生产环境不要关闭防火墙,应通过规则精细控制访问。
- 开放端口时尽量限制 IP 范围(使用 rich rules):
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='22' accept" - 定期检查开放的端口和服务:
sudo firewall-cmd --list-all ss -tuln | grep LISTEN
📚 参考文档
- OpenCloudOS 官方文档:https://opencloudos.org
- firewalld 官方手册:
man firewalld,man firewall-cmd
如果你有具体需求(例如开放 Nginx/MySQL 端口、配置 NAT、多区域管理等),可以告诉我,我可以提供详细配置示例。
PHPWP博客