Ubuntu与RockyLinux防火墙
本文最后更新于 2026-01-30,文章内容可能已经过时。
Ubuntu与RockyLinux采用截然不同的默认防火墙方案:Ubuntu使用UFW(Uncomplicated Firewall),作为iptables的简化前端,以“拒绝入站、允许出站”为默认策略,命令直观(如ufw allow ssh),规则自动持久化,适合个人用户及简单服务器场景;RockyLinux则采用firewalld,基于“区域(zones)+服务(services)”的动态模型,支持运行时无缝更新规则(需--permanent保存配置),更适合企业级复杂网络环境。二者均遵循最小权限安全原则,核心操作均需优先保障SSH访问以防锁服,并建议结合日志监控与定期规则审计,以构建稳健的系统边界防护。
一、Ubuntu防火墙:UFW (Uncomplicated Firewall)
1. 基本介绍
UFW是Ubuntu系统默认的防火墙管理工具,全称为"Uncomplicated Firewall"。它是iptables的前端工具,旨在简化复杂的iptables规则配置,提供更直观友好的命令行界面。
2. 主要特点
- 简便易用:命令行语法直观,适合初学者
- 默认策略:启用时默认阻止所有入站连接,允许所有出站连接
- 灵活性高:可轻松添加、修改和删除规则
- 日志记录:支持详细的日志记录功能
- 图形界面支持:可通过GUFW提供图形化操作
3. 基本操作命令
安装与启用
# 确认安装(通常已预装)
sudo apt update
sudo apt install ufw
# 启用防火墙并设置开机自启
sudo ufw enable
# 关闭防火墙
sudo ufw disable
状态查看
# 基本状态
sudo ufw status
# 详细状态(含规则编号)
sudo ufw status verbose
sudo ufw status numbered
# 查看默认策略
sudo ufw show default
规则管理
# 允许特定服务/端口
sudo ufw allow ssh # 允许SSH(22端口)
sudo ufw allow 80/tcp # 允许HTTP(80端口)
sudo ufw allow 443/tcp # 允许HTTPS(443端口)
# 拒绝特定服务/端口
sudo ufw deny smtp # 拒绝SMTP服务
sudo ufw deny 25/tcp # 拒绝25端口
# 允许/拒绝特定IP
sudo ufw allow from 192.168.1.100 # 允许特定IP访问所有端口
sudo ufw deny from 192.168.1.101 # 拒绝特定IP访问
# 删除规则
sudo ufw delete allow ssh # 删除允许SSH的规则
sudo ufw delete 3 # 删除编号为3的规则
# 重置所有规则
sudo ufw reset
高级配置
# 设置默认策略
sudo ufw default deny incoming # 默认拒绝所有入站连接
sudo ufw default allow outgoing # 默认允许所有出站连接
# 日志管理
sudo ufw logging on # 启用日志记录
sudo ufw logging off # 禁用日志记录
# 查看日志
sudo less /var/log/ufw.log
图形界面操作(GUFW)
# 安装GUFW
sudo apt install gufw
# 安装后在应用菜单中打开"防火墙配置"
二、RockyLinux防火墙:firewalld
1. 基本介绍
RockyLinux默认使用firewalld作为防火墙管理工具。它是一个动态守护进程,使用zones(区域)和services(服务)的概念来简化网络流量管理,底层仍基于netfilter框架。
2. 主要特点
- 动态更新:支持在不中断现有连接的情况下更新规则
- 区域概念:通过zones定义不同信任级别的网络环境
- 服务概念:预定义常见服务(如http、https、ssh),简化配置
- 多种接口:提供命令行(firewall-cmd)和图形界面工具
- 持久化配置:支持临时和永久规则配置
3. 基本操作命令
状态查看
# 查看防火墙基本状态
sudo firewall-cmd --state
# 查看详细状态(包括区域、服务、端口等)
sudo firewall-cmd --list-all
# 使用systemctl查看服务状态(推荐)
sudo systemctl status firewalld
防火墙启停
# 启动防火墙
sudo systemctl start firewalld
# 停止防火墙(临时,重启后恢复)
sudo systemctl stop firewalld
# 永久关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl mask firewalld # 防止其他服务激活firewalld
# 设置开机自启
sudo systemctl enable firewalld
服务管理
# 允许特定服务(永久)
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 --remove-service=http
# 重载配置使更改生效
sudo firewall-cmd --reload
端口管理
# 开放单个端口(永久)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 开放多个端口
sudo firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --permanent
# 开放端口范围
sudo firewall-cmd --zone=public --add-port=8000-8010/tcp --permanent
# 移除端口
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 查看已开放端口
sudo firewall-cmd --list-ports
# 重载配置
sudo firewall-cmd --reload
区域管理
# 查看当前活动区域
sudo firewall-cmd --get-active-zones
# 查看所有可用区域
sudo firewall-cmd --get-zones
# 查看特定区域配置
sudo firewall-cmd --zone=public --list-all
三、两种防火墙对比
| 特性 | Ubuntu (UFW) | RockyLinux (firewalld) |
|---|---|---|
| 底层技术 | iptables前端 | netfilter框架(支持iptables/nftables) |
| 配置方式 | 简单命令行 | zones和services概念 |
| 动态更新 | 需要重载规则 | 支持动态更新不中断连接 |
| 默认策略 | 拒绝入站,允许出站 | 基于区域的信任级别 |
| 图形界面 | GUFW(需单独安装) | firewall-config(通常预装) |
| 规则持久化 | 自动保存 | 需添加--permanent参数 |
| 适用场景 | 个人电脑、简单服务器 | 企业级服务器、复杂网络环境 |
四、实际应用场景示例
Ubuntu服务器安全加固
# 1. 启用防火墙并设置默认策略
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 2. 仅允许必要服务
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
# 3. 查看配置
sudo ufw status verbose
RockyLinux服务器安全加固
# 1. 确保防火墙运行
sudo systemctl enable --now firewalld
# 2. 仅允许必要服务
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 3. 重载配置
sudo firewall-cmd --reload
# 4. 验证配置
sudo firewall-cmd --list-all
五、最佳实践建议
- 配置前先允许SSH访问:在远程服务器上操作防火墙前,确保已允许SSH端口,避免被锁在系统外
- 使用永久规则:对于需要重启后保留的规则,记得添加--permanent参数(RockyLinux)或直接使用UFW(规则自动持久化)
- 定期审查规则:定期检查防火墙规则,移除不再需要的规则
- 启用日志记录:开启防火墙日志以便监控和故障排查
- 最小权限原则:只开放必要的端口和服务,遵循安全最佳实践
通过以上介绍,可以根据自己的操作系统选择合适的防火墙工具,并进行有效的安全配置。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

