📋 防火墙速查表
UFW vs firewalld 命令对照
| 操作 | UFW | firewalld |
|---|---|---|
| 启用/禁用 | ufw enable/disable | systemctl start/stop firewalld |
| 查看状态 | ufw status | firewall-cmd --state |
| 允许端口 | ufw allow 80/tcp | firewall-cmd --add-port=80/tcp |
| 拒绝端口 | ufw deny 3306/tcp | firewall-cmd --add-port=3306/tcp --zone=drop |
| 允许服务 | ufw allow ssh | firewall-cmd --add-service=ssh |
| 限制速率 | ufw limit 22/tcp | --add-rich-rule='...limit value="5/m"...' |
| 查看规则 | ufw status numbered | firewall-cmd --list-all |
| 删除规则 | ufw delete 3 | firewall-cmd --remove-port=80/tcp |
| 永久生效 | 自动(ufw 规则默认永久) | --permanent+--reload |
| 日志 | ufw logging medium | firewall-cmd --set-log-denied=all |
防火墙选型建议
| 场景 | 推荐 | 原因 |
|---|---|---|
| Ubuntu 桌面 | UFW | 默认安装,简单易用 |
| Ubuntu 服务器 | UFW 或 nftables | UFW 够用,复杂场景用 nftables |
| CentOS/RHEL 7 | firewalld | 默认安装,支持动态规则 |
| CentOS/RHEL 8+ | nftables | firewalld 底层已切到 nftables |
| Docker 宿主机 | nftables + DOCKER-USER | Docker 绕过 UFW/firewalld |
| 高并发/大规模 | nftables | 集合匹配 O(1),性能最好 |
💡 提示: 💡 终极建议:不管用什么工具,理解底层的包过滤原理(iptables 的链/表/匹配/目标)才是核心。工具会变,原理不会。掌握了 iptables,切换到任何工具都只需要学语法。