温馨提示×

怎么删除Debian iptables规则

小樊
36
2026-07-01 22:41:10
栏目: 智能运维

在 Debian 系统中,删除 iptables 规则有多种方式,取决于你是按规则编号条件匹配还是整表清空。下面按常见场景分类说明(适用于 Debian 10/11/12 等使用 iptables 的版本)。


一、查看已有 iptables 规则(重要)

删除前一定要先查看规则:

iptables -L -n -v

查看规则并显示行号(推荐):

iptables -L INPUT -n --line-numbers
iptables -L FORWARD -n --line-numbers
iptables -L OUTPUT -n --line-numbers

示例输出:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    DROP       tcp  --  192.168.1.100        0.0.0.0/0

二、按规则编号删除(最常用 ✅)

删除某条规则(推荐)

iptables -D INPUT 2

含义:

  • INPUT:链名
  • 2:规则编号

删除后立即生效,但重启后会恢复原状(除非你保存)


三、按条件删除(不推荐新手)

如果你知道规则内容,可以直接用原规则删除:

iptables -D INPUT -s 192.168.1.100 -j DROP

⚠️ 条件必须完全一致,否则删除失败


四、删除整条链或整个表(慎用 ⚠️)

1️⃣ 清空某个链的所有规则

iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT

2️⃣ 清空所有规则(危险)

iptables -F
iptables -X
iptables -Z

⚠️ 会清空所有规则,可能导致 SSH 断开


五、删除自定义链

查看自定义链

iptables -L

删除自定义链(需先清空引用)

iptables -F my_chain
iptables -X my_chain

六、删除后保存规则(非常重要)

Debian 默认不会自动保存 iptables 规则

方法 1:使用 iptables-save(推荐)

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

恢复:

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

方法 2:使用 netfilter-persistent(最推荐 ✅)

安装:

apt install iptables-persistent

保存:

netfilter-persistent save

规则会保存并开机自动加载。


七、常见示例

✅ 删除某端口规则(如 8080)

先查:

iptables -L INPUT -n --line-numbers | grep 8080

删除:

iptables -D INPUT -p tcp --dport 8080 -j ACCEPT

✅ 删除 DROP/REJECT 规则

iptables -D INPUT -s 1.2.3.4 -j DROP

八、如果你用的是 nftables(新系统)

Debian 10+ 默认 iptables 实际是 nftables 后端

检查:

iptables -V

如果看到:

iptables v1.8.x (nf_tables)

建议改用:

nft list ruleset

九、总结(安全建议 ✅)

生产环境删除规则前先备份

iptables-save > /root/iptables.backup

✅ 不要远程清空所有规则
✅ 删除后务必保存
✅ SSH 端口规则最后删


如果你愿意,可以把:

  • iptables -L -n --line-numbers 的输出
  • 或你要删的具体规则

贴出来,我可以帮你精确给出删除命令。

0