温馨提示×

怎么重置Debian iptables策略

小樊
49
2026-07-01 22:53:57
栏目: 智能运维

在 Debian 系统中重置 iptables 策略,通常指的是清空所有规则、删除自定义链、并将默认策略恢复为 ACCEPT。下面给出几种常见、安全的做法。


一、快速重置(推荐)

适合大多数场景(停止所有防火墙限制):

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

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

如果你还使用了 IPv6:

ip6tables -F
ip6tables -X
ip6tables -Z

ip6tables -P INPUT   ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT  ACCEPT

✅ 执行后系统基本处于“无防火墙”状态。


二、使用脚本一次性重置(更安全)

#!/bin/bash

# 清除规则
iptables -F
iptables -X
iptables -Z

# 恢复默认策略
iptables -P INPUT   ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT  ACCEPT

# IPv6
ip6tables -F
ip6tables -X
ip6tables -Z

ip6tables -P INPUT   ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT  ACCEPT

保存后执行:

chmod +x reset_iptables.sh
./reset_iptables.sh

三、如果你使用了 iptables-persistent(常见)

Debian 常用 iptables-persistent 保存规则。

1️⃣ 查看当前保存的规则

cat /etc/iptables/rules.v4
cat /etc/iptables/rules.v6

2️⃣ 重置并保存

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

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

然后保存:

netfilter-persistent save

或(旧版本):

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

四、重启后自动清空(不推荐长期使用)

systemctl stop netfilter-persistent
systemctl disable netfilter-persistent

⚠️ 仅用于临时排查问题。


五、最常见的坑

❌ 只清空规则但没改默认策略

iptables -F

如果默认策略是 DROP,会导致 SSH 立刻断连

✅ 正确顺序:

iptables -P INPUT ACCEPT
iptables -F

六、查看当前状态

iptables -L -n -v
iptables -S

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

  • Debian 10 / 11 / 12
  • 是否 远程服务器(SSH)
  • 是否使用了 Docker / K8s / fail2ban

我可以给你一套不会断网的精准重置方案

0