在 Debian 系统中,查看 iptables 规则 最常用的方式是使用 iptables 命令。下面是常见用法和说明:
sudo iptables -L
默认只显示 filter 表 的规则,不显示规则编号和详细信息。
iptables 默认有以下几个表:
filter(默认)natmangleraw查看指定表:
sudo iptables -t nat -L
sudo iptables -t mangle -L
sudo iptables -L -v
说明:
-v:显示数据包计数、字节数sudo iptables -L --line-numbers
输出示例:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:22
2 DROP tcp -- anywhere anywhere tcp dpt:80
sudo iptables -L -n
避免 DNS 反向解析,提高显示速度。
✅ 最常用组合:
sudo iptables -L -n -v --line-numbers
sudo iptables-save
输出的是 可直接恢复的规则格式,常用于备份。
如果启用了 IPv6:
sudo ip6tables -L -n -v
sudo iptables -L
如果没有任何输出,说明规则为空,但 iptables 仍然在工作。
Debian 10(Buster)及以后版本:
iptables 实际可能是 nftables 后端sudo nft list ruleset
| 需求 | 命令 |
|---|---|
| 查看规则 | iptables -L |
| 显示详细信息 | iptables -L -n -v |
| 显示规则编号 | iptables -L --line-numbers |
| 查看 nat 表 | iptables -t nat -L |
| 备份规则 | iptables-save |
| 恢复规则 | iptables-restore |
如果你是想 排查端口不通 / 防火墙拦截 / Docker 规则 / NAT 转发问题,可以告诉我具体场景,我可以帮你精确分析。