首页/安全/安全加固速查/iptables 规则查看(-S 与计数器)
防火墙与访问控制50 条

iptables 规则查看(-S 与计数器)

排障第一步是看清现状:-S 输出可回放的规则文本,-L -v 看计数器定位哪条规则真正命中。

安全加固速查安全更新于 2026-10-13

看规则有两种视角

iptables 排障第一步是把现状看清楚,这里有两个互补的命令:iptables -S 输出可直接回放的规则文本(与 iptables-restore 兼容),适合留档与版本比对;iptables -L -n -v 带计数器,能看出哪条规则真正被命中,适合定位问题。变更前导出快照是固定动作,规则一旦被覆盖,没有快照就只能靠回忆重建。

基本信息

加固项规则快照与命中分析
适用平台Linux(iptables 与 iptables-nft 后端均适用)
权限要求root
相应命令iptables-save、iptables-restore、ip6tables、nft
注意IPv4 与 IPv6 是两套独立规则表,必须分别核查

典型使用场景

  • 变更前导出快照,作为回滚与留档依据
  • 排查放行规则存在但访问不通的原因
  • 确认是否有手工遗留的历史规则与 firewalld 规则冲突
  • 应急时快速清空或加固规则并保留现场
  • 定期备份规则并与基线做差异比对

查看与快照

查看与快照
iptables -S                        # 可回放格式,适合留档
iptables -L -n -v --line-numbers    # 计数器加行号,适合排查命中
ip6tables -S                        # IPv6 单独核查,别漏
iptables -t nat -S                  # NAT 表:端口映射常写在这里
nft list ruleset                    # 若后端为 nft,直接看权威规则集
iptables -S > /root/rules-$(date +%F).v4   # 快照留档

恢复与清理

恢复与清理
iptables-restore < /root/rules-2026-10-01.v4   # 恢复快照
# 清空全部规则(应急用,操作前务必确认自有带外通道)
iptables -F && iptables -X && iptables -P INPUT ACCEPT
# 注意:iptables -F 只清当前表,nat、mangle 表要分别处理

-L -v 输出逐列读法

列含义正常与异常
num(行号)规则在链中的顺序插入规则时用来定位,删除也按它
pkts匹配到的包数量关键规则长期为 0 说明流量没走这里
bytes匹配到的字节数与 pkts 一起判断是否真的生效
target动作:ACCEPT/DROP/REJECT/链名限源规则多为 ACCEPT,兜底多为 DROP
prot、opt、in、out、source、destination协议、选项与接口、源与目的地址in 列为空表示不限定入接口
iptables -S 的输出可以直接保存并用于后续恢复,是手工环境里最可靠的备份方式;配合 counters 快照与版本库留档,能回答“这条规则是什么时候加的、是否还有人用”这类审计问题。
计数器是从上次读取或清零起累计的,用 iptables -Z 清零会丢掉原始证据,应急排查时不要随手清零。另外在只有远程连接的环境里执行清空规则或改默认策略,可能立刻断链,务必先确认带外通道可用。

易错点

  • 用 -L 不带 -n,大量反向 DNS 解析让命令卡住或超时,排障时应始终加 -n
  • 只看 IPv4 规则,漏掉 ip6tables:很多暴露面恰好来自未加固的 IPv6 规则表
  • 随手 iptables -Z 清零计数器,丢失判断规则是否被命中的依据
  • iptables -F 只清默认表,nat 表的映射规则仍在生效,导致“清空了却还通”的困惑

数据来源与参考

  • iptables(8) 手册
  • Netfilter 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌