温馨提示×

怎么查看Debian iptables规则

小樊
35
2026-07-01 22:31:05
栏目: 智能运维

Debian 系统中,可以通过 iptables 命令来查看当前的防火墙规则。下面给你几种常用、实用的查看方式,从最基础到更详细。


一、查看所有 iptables 规则(最常用)

iptables -L

默认只显示 filter 表,不包含 NAT 等规则。


二、查看所有表的所有规则(推荐)

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

或者一次性查看所有规则(更直观):

iptables -L -n -v

参数说明:

  • -L:列出规则
  • -n:不做 DNS 反解析(显示 IP,速度更快)
  • -v:显示详细信息(流量统计、接口等)

三、按顺序显示规则(含规则编号)

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

非常有用,比如你要删除某条规则时。

示例输出:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22

四、查看指定链的规则

例如只查看 INPUT 链:

iptables -L INPUT -n -v

五、以“命令形式”查看规则(便于备份 / 恢复)

iptables-save

输出示例:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 22 -j ACCEPT
COMMIT

推荐用于备份规则


六、查看 NAT 表规则(常见用于端口转发)

iptables -t nat -L -n -v

查看 SNAT / DNAT 是否正常生效。


七、Debian 10+(nftables 的情况说明)

Debian 10(Buster)以后,iptables 实际上是 nftables 的兼容层,你可以用:

update-alternatives --list iptables

如果看到:

/usr/sbin/iptables-nft

说明系统用的是 nftables 后端,但 iptables 命令仍然可用。

如果你想直接看 nftables 规则:

nft list ruleset

八、常见排查建议

# 是否没有任何规则?
iptables -L

# 流量是否命中规则?
iptables -L -n -v

# 是否规则顺序导致未生效?
iptables -L --line-numbers

九、权限说明

查看 iptables 规则 需要 root 权限

sudo iptables -L -n -v

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

  • Debian 具体版本(如 10 / 11 / 12)
  • 是查看 防火墙拦截、端口转发、Docker 规则还是某种异常

我可以帮你精确分析当前规则或给出优化建议 ✅

0