温馨提示×

Debian iptables怎么恢复默认

小樊
71
2026-07-15 09:19:23
栏目: 智能运维

在 Debian 里恢复 iptables 到“默认”状态,通常指:

  • 清空所有规则
  • 删除自定义链
  • 把默认策略恢复为 ACCEPT(放行一切)

下面按常见场景给你几种做法。


一、临时恢复(立即生效,重启后可能恢复)

1️⃣ 恢复 filter 表(最常用)

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

iptables -F
iptables -X

说明:

  • -P:设置默认策略
  • -F:清空规则
  • -X:删除自定义链

2️⃣ 同时清空 nat / mangle / raw 表(推荐)

for table in filter nat mangle raw; do
  iptables -t $table -F
  iptables -t $table -X
  iptables -t $table -Z
done

二、彻底重置(含 IPv6)

如果你也在用 ip6tables

# IPv4
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X

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

三、Debian 修改后重启又恢复?原因 & 解决

✅ 情况 1:使用 iptables-persistent(最常见)

Debian 常用它保存规则。

查看是否已安装

dpkg -l | grep iptables-persistent

删除已保存的规则

rm -f /etc/iptables/rules.v4
rm -f /etc/iptables/rules.v6

然后重启

reboot

或重新加载:

netfilter-persistent reload

✅ 情况 2:使用 netfilter-persistent

apt purge iptables-persistent netfilter-persistent

systemctl disable netfilter-persistent

四、从“空规则”重新保存(可选)

如果你想保持 persistent,但规则是空的:

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

netfilter-persistent save

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

五、Debian 10+ 提醒(nftables)

Debian 10 以后默认可能用 nftables

查看:

update-alternatives --display iptables

如果看到 nft,可用:

nft flush ruleset

⚠️ 这会清空所有 nftables 规则(包括非 iptables 部分)


✅ 最常用“一键恢复默认”命令(推荐)

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

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

  • Debian 版本
  • 是否服务器
  • 是否远程 SSH(⚠️ 改 iptables 可能断线)

我可以给你最安全的一套操作顺序

0