温馨提示×

Debian iptables怎么删除规则

小樊
47
2026-07-15 09:14:27
栏目: 智能运维

在 Debian 系统中,删除 iptables 规则可以使用以下几种常见方式。请根据你的实际情况选择。


一、查看现有规则(先确认)

iptables -L -n -v

或查看指定表(如 nat):

iptables -t nat -L -n -v

二、按规则编号删除(推荐)

1️⃣ 显示规则编号

iptables -L --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
2    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80

2️⃣ 删除指定规则

iptables -D INPUT 2

含义:删除 INPUT 链中编号为 2 的规则。


三、按规则内容删除

如果你知道完整的规则内容,可以直接删除:

iptables -D INPUT -p tcp --dport 80 -j DROP

⚠️ 规则必须完全匹配,否则删除失败。


四、清空某条链或所有规则(慎用)

清空某个链

iptables -F INPUT

清空所有规则(不删除链)

iptables -F

删除自定义链

iptables -X

五、删除 nat / mangle 表的规则

iptables -t nat -L --line-numbers
iptables -t nat -D PREROUTING 1

六、Debian 中永久保存规则(重要)

Debian 默认不会自动保存 iptables 规则,重启后会丢失。

保存规则

iptables-save > /etc/iptables/rules.v4

恢复规则

iptables-restore < /etc/iptables/rules.v4

安装持久化工具(推荐)

apt update
apt install iptables-persistent

安装时会自动保存当前规则。


七、常见错误排查

❌ 删除失败:

  • 规则内容不匹配
  • 表不对(如忘了 -t nat
  • 规则编号已变化(重新查看)

如果你愿意,可以把你的 iptables -L -n -v 输出贴出来,我可以帮你精确删除某条规则。

0