直接运行 iptables -L -n -v 可查看 filter 表各链规则及流量统计;iptables -L INPUT -n -v 精准查入站规则;iptables -t nat -L -n 查 NAT 表;--line-numbers 显示行号便于操作;grep 过滤端口规则更高效。

直接运行 iptables -L -n -v 就能看到当前生效的规则,这是最常用、最直观的方式。
查看完整规则列表(含详细统计)
这条命令会列出 filter 表中所有链(INPUT、FORWARD、OUTPUT)的规则:
- iptables -L -n -v:显示规则、匹配的数据包数量、字节数、接口和目标动作
- -n 避免 DNS 反查,加快显示速度,且以数字形式显示 IP 和端口(如 192.168.1.100:22)
- -v 提供实际流量统计,方便判断某条规则是否在生效
查看特定链的规则(推荐日常使用)
多数管理集中在 INPUT 链(入站),所以可精准查看:
- iptables -L INPUT -n -v:只看入站规则,避免干扰
- iptables -t nat -L -n:查看 NAT 表(如端口转发、SNAT/DNAT),-v 在 nat 表中非必需但可用
- iptables -L OUTPUT -n:检查本机主动发出的连接是否受限
带行号查看,方便后续操作
删除或修改规则前,必须知道它在哪一行:
- iptables -L -n --line-numbers:每条规则前显示编号(num 列)
- 例如输出中出现 3 DROP all -- 192.168.1.5 0.0.0.0/0,表示这是第 3 条规则
- 配合 iptables -D INPUT 3 即可精准删除该条
快速确认某个端口是否开放
不用逐行翻找,用 grep 过滤更高效:
- iptables -L -n | grep :80:检查 80 端口是否有 ACCEPT 规则
- iptables -L INPUT -n | grep 'tcp.*dpt:22':专门匹配 SSH(22 端口)的入站规则
- 注意:如果没结果,不代表端口关闭——可能默认策略是 ACCEPT,且无显式拒绝规则


















