温馨提示×

如何清空Debian iptables规则

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

要清空 Debian 上的 iptables 规则,可以按下面步骤操作。以下适用于 IPv4(iptables),如果是 IPv6,请使用 ip6tables


一、临时清空 iptables 规则(重启后会恢复)

如果只是想 立刻清空所有规则(不保存):

1️⃣ 清空 filter 表规则

iptables -F      # 清空所有规则
iptables -X      # 删除自定义链
iptables -Z      # 清零计数器

2️⃣ 清空 nat / mangle / raw 表(如果有使用)

iptables -t nat -F
iptables -t nat -X

iptables -t mangle -F
iptables -t mangle -X

iptables -t raw -F
iptables -t raw -X

3️⃣ 设置默认策略为 ACCEPT(防止被锁外面)

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

⚠️ 非常重要:如果你是通过远程 SSH 操作服务器,一定要执行第 3 步,否则可能被断连。


二、永久清空 iptables(防止重启后恢复)

Debian 上 iptables 规则 不会自动保存,但有几种常见情况:

情况 1:使用了 iptables-persistent

(常见于 Debian 9+)

查看是否已安装

dpkg -l | grep iptables-persistent

清空并保存

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# 保存规则
netfilter-persistent save

或(旧版本):

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

情况 2:手动恢复了旧规则

检查是否有启动脚本:

grep -R "iptables" /etc/network/ /etc/init.d/ /etc/rc.local

三、一键清空(最常用)

如果你只是想“完全清空并允许所有流量”:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

四、IPv6 规则(可选)

如果系统启用了 IPv6:

ip6tables -F
ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT

五、查看当前规则

iptables -L -n -v

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

  • 本地机器还是云服务器
  • 是否 远程 SSH
  • Debian 版本号

我可以给你一个 最安全的操作方案,避免被锁在外面。

0