返回首页

Linux 四大防火墙对比与实战 — iptables/nftables/firewalld/ufw 配置总结

📅 创建于 2026-06-16 🔄 更新于 2026-06-16 📝 375 字

Linux 四大防火墙对比与实战 — iptables/nftables/firewalld/ufw 配置总结

来源:大风 | 发布日期:2026-06-12

Linux 运维中防火墙配置是基本功,也是最容易翻车的环节。目前主流有 4 套防火墙体系,各自适用场景不同。

四大防火墙对比

工具 特点 适用场景 备注
iptables 经典通用,兼容性无敌 老服务器、老旧业务、运维排查 重启失效,需手动保存,逐渐被淘汰
nftables 新一代官方替代,语法简洁、性能更强 新服务器、国产化系统、长期维护 Linux 内核主推,iptables 后继者
firewalld 红帽系专属,支持区域管理、热重载 CentOS7+/RHEL、企业服务器、云主机 无需重启,永久生效
ufw Ubuntu 极简封装,命令最少 Ubuntu、桌面、开发机、小型服务器 零基础可用,上手最快

iptables 实战

经典防火墙,逐条匹配、顺序优先、重启失效

# 放行端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 放行指定 IP
iptables -A INPUT -s 192.168.1.100 -j ACCEPT

# 放行已有连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 拒绝所有未放行端口
iptables -A INPUT -j DROP

# 保存规则
iptables-save > /etc/iptables/rules.v4    # Ubuntu/Debian
service iptables save                      # CentOS6

⚠️ iptables 规则临时生效,不保存重启直接清空

nftables 实战

新一代防火墙,完全替代 iptables,语法更简洁。

# 放行端口
nft add rule inet filter input tcp dport 22 accept
nft add rule inet filter input tcp dport 80 accept
nft add rule inet filter input tcp dport 443 accept

# 放行网段
nft add rule inet filter input ip saddr 192.168.1.0/24 accept

# 查看所有规则
nft list ruleset

# 持久化保存
nft list ruleset > /etc/nftables.conf

firewalld 实战

CentOS/RHEL 默认防火墙,热重载、区域管理、永久生效

# 放行端口(永久生效)
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 放行内置服务
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent

# 放行网段
firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent

# 重载生效(修改规则后必须执行)
firewall-cmd --reload

# 查看规则列表
firewall-cmd --list-all

ufw 实战

Ubuntu 极简防火墙,命令最少、最不容易翻车。

# 放行端口
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp

# 放行指定 IP
ufw allow from 192.168.1.100

# 启用/关闭
ufw enable
ufw disable

# 查看状态与规则
ufw status verbose

生产避坑准则

  1. 永远先放行 SSH,再执行拒绝规则 — 先 DROP 所有端口直接断连服务器,需机房现场重启
  2. iptables 务必手动保存 — 临时规则重启清零,很多故障因此产生
  3. 规则顺序决定成败 — Linux 防火墙从上到下匹配,允许规则必须在拒绝规则前面
  4. 新系统优先 nftables/firewalld — iptables 已停止迭代,新项目不要再堆砌老旧规则
  5. 线上禁止随意清空防火墙 — 公网服务器无脑清空规则会直接暴露所有端口

选型建议

系统 推荐防火墙
CentOS7+ / RHEL firewalld
Ubuntu / 开发机 ufw
新服务器、国产化、长期运维 nftables
老设备、排错、老旧业务 懂 iptables 即可

关联页面

页面关联点
linux-intrusion-detection-guideLinux 入侵检测与应急响应(含 iptables/nftables 安全策略)
server-security-hardening-checklist服务器安全加固清单(含 firewalld/ufw 基础配置)
network-troubleshooting-order服务器网络排障方法论
port-connectivity-troubleshooting-guide线上服务端口连不上的完整排查指南
linux-essential-commands-referenceLinux 运维命令速查手册