温馨提示×

怎样查看CentOS iptables规则

小樊
78
2026-08-03 00:31:18
栏目: 智能运维

在 CentOS 系统中,查看 iptables 防火墙规则 的方法取决于系统版本以及是否使用了 firewalld。下面分情况说明。


一、CentOS 6 及以前(直接使用 iptables)

1️⃣ 查看所有规则(推荐)

iptables -L -n -v

参数说明:

  • -L:列出规则
  • -n:以数字形式显示 IP 和端口(不做 DNS 解析,更快)
  • -v:显示详细信息(包计数、字节数)

2️⃣ 查看指定表(filter / nat / mangle)

iptables -t filter -L -n -v
iptables -t nat -L -n -v
iptables -t mangle -L -n -v

3️⃣ 查看规则并显示行号(删除规则时很有用)

iptables -L -n -v --line-numbers

4️⃣ 查看指定链(如 INPUT)

iptables -L INPUT -n -v

二、CentOS 7 / 8(默认使用 firewalld)

⚠️ CentOS 7+ 默认 firewalld 管理防火墙,iptables 服务可能未运行。

1️⃣ 查看 firewalld 状态

systemctl status firewalld

2️⃣ 如果 firewalld 正在运行

查看规则(底层仍是 iptables):

iptables -L -n -v

或查看 firewalld 规则:

firewall-cmd --list-all
firewall-cmd --list-all-zones

3️⃣ 如果 firewalld 已关闭,使用 iptables

systemctl stop firewalld
systemctl disable firewalld

yum install -y iptables-services
systemctl enable iptables
systemctl start iptables

然后查看规则:

iptables -L -n -v

三、查看 iptables 规则文件(持久化规则)

CentOS 6

cat /etc/sysconfig/iptables

CentOS 7+

cat /etc/sysconfig/iptables

(前提是你使用的是 iptables-services)


四、常见问题排查

看不到任何规则?

可能是:

  • 使用了 firewalld
  • 或当前没有规则(默认策略 ACCEPT)

查看默认策略:

iptables -L

想实时查看流量命中情况

watch -n 1 iptables -L -n -v

五、总结(最常用命令)

✅ 最常用

iptables -L -n -v

✅ 带行号

iptables -L -n -v --line-numbers

✅ 查看 NAT 表

iptables -t nat -L -n -v

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ 是服务器还是本地虚拟机
  • ✅ 是否启用了 firewalld

我可以给你更精确的命令或排查步骤。

0 踩