在当今的网络环境中,服务器安全至关重要。作为Linux系统管理员或运维工程师,掌握Linux防火墙命令是保障系统安全的第一道防线。本文将深入解析主流的两种防火墙工具——iptables 和 firewalld,帮助你从零开始构建坚固的安全屏障。

Linux防火墙简介:iptables vs firewalld
Linux系统中常用的防火墙工具有两种:iptables 和 firewalld。
CentOS 7之前:默认使用
iptables进行网络流量控制。CentOS 7及之后版本:默认切换为更现代化的
firewalld工具,支持动态配置和区域(Zone)管理。
🔍 小贴士:虽然两者底层都基于Netfilter框架,但操作方式和理念有所不同。
firewalld更加人性化,适合初学者;而iptables更加灵活,适合高级用户进行精细控制。
firewalld 防火墙命令详解(推荐用于 CentOS/RHEL 7+)
✅ 基础服务管理命令
🌐 区域(Zone)管理
firewalld 引入了“区域”概念,不同区域对应不同的信任级别,便于快速切换策略。
| 区域名 | 说明 |
|---|---|
| public | 公共区域,默认区域,适用于外部网络 |
| trusted | 受信任区域,允许所有流量通过 |
| home | 家庭网络环境 |
| work | 工作网络环境 |
查看与设置区域:
🔓 开放服务/端口
📌 注意:使用 --permanent 参数后必须重新加载规则才能生效!
🖧 网卡绑定到特定区域
你可以将某个网卡接口分配给特定区域,实现精细化控制。
iptables 防火墙命令详解(经典强大,广泛兼容)
iptables 是 Linux 最早也是最强大的防火墙工具之一,适用于 Ubuntu、Debian、旧版 CentOS 等系统。
✅ 基本语法结构
四大表(Tables)功能一览:
| 表名 | 功能描述 |
|---|---|
| filter | 过滤数据包(最常用) |
| nat | 网络地址转换(NAT)、端口转发 |
| mangle | 修改报文头部信息(TTL、ToS等) |
| raw | 关闭连接追踪机制 |
五条链(Chains)及其作用点:
| 链名 | 触发时机 |
|---|---|
| PREROUTING | 数据包进入路由决策前 |
| INPUT | 进入本机的数据包 |
| OUTPUT | 本机发出的数据包 |
| FORWARD | 转发经过本机的数据包 |
| POSTROUTING | 路由决策后,准备发出时 |
⚙️ 数据流向示意图:
网卡 → PREROUTING → [路由判断] → INPUT → 本机应用
或
网卡 → PREROUTING → FORWARD → POSTROUTING → 网卡
🔧 常用 iptables 命令示例
🔍 规则查看与管理
ufw:Ubuntu 用户的简化防火墙工具
如果你使用的是 Ubuntu 或 Debian 系统,推荐使用 ufw(Uncomplicated Firewall),它封装了 iptables,操作更加简单直观。
实战建议:如何选择合适的防火墙工具?
| 场景 | 推荐工具 |
|---|---|
| 新项目部署(CentOS 7+) | ✅ firewalld |
| 需要脚本自动化配置 | ✅ iptables |
| Ubuntu/Debian 桌面或服务器 | ✅ ufw |
| 高级网络架构(NAT、负载均衡) | ✅ iptables + NAT 表 |
💡 最佳实践建议:
生产环境务必开启防火墙;
默认策略设为“拒绝所有,白名单放行”;
定期审查防火墙规则,避免冗余;
使用
--permanent和--reload组合确保配置持久化;备份重要规则:
iptables-save > /backup/iptables.rules
掌握 Linux防火墙命令 不仅是运维人员的基本功,更是保障系统安全的核心技能。无论是传统的 iptables,还是现代的 firewalld 或简化的 ufw,每种工具都有其适用场景。
📢 立即行动:打开你的终端,检查当前系统的防火墙状态,并根据业务需求配置合理的访问规则吧!





















