温馨提示×

如何清除debian iptables规则

小樊
44
2026-10-04 16:45:50
栏目: 智能运维

在 Debian 系统中,iptables 规则默认是内存中的,重启后通常会被清空(除非你用了 iptables-persistent 或自定义脚本)。下面是清除 iptables 规则的常用方法。


一、清空所有 iptables 规则(最常用)

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

如果你用了 IPv6,也要清:

ip6tables -F
ip6tables -X
ip6tables -Z

二、设置默认策略为 ACCEPT(避免把自己关在外面)

⚠️ 非常重要,尤其是远程服务器

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

IPv6:

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

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

保存为 clear_iptables.sh 并执行:

bash clear_iptables.sh

四、如果使用了 iptables-persistent(规则重启还在)

1. 查看是否安装

dpkg -l | grep iptables-persistent

2. 清空并保存

iptables -F
iptables -X
ip6tables -F
ip6tables -X

netfilter-persistent save

或(老版本):

/etc/init.d/iptables-persistent save

五、彻底禁用 iptables(不推荐生产环境)

systemctl stop iptables
systemctl disable iptables

(Debian 默认通常没有 iptables 服务)


六、确认当前规则

iptables -L -n -v

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

  • 是 本地还是远程服务器
  • 是否使用了 Docker / K8s / nftables
  • 想完全关闭防火墙还是只是重置规则

我可以给你更精确的建议。

0 踩