在 Debian 系统中,iptables 规则默认是内存中的,重启后通常会被清空(除非你用了 iptables-persistent 或自定义脚本)。下面是清除 iptables 规则的常用方法。
iptables -F # 清空所有链中的规则
iptables -X # 删除自定义链
iptables -Z # 清空计数器
如果你用了 IPv6,也要清:
ip6tables -F
ip6tables -X
ip6tables -Z
⚠️ 非常重要,尤其是远程服务器
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
dpkg -l | grep iptables-persistent
iptables -F
iptables -X
ip6tables -F
ip6tables -X
netfilter-persistent save
或(老版本):
/etc/init.d/iptables-persistent save
systemctl stop iptables
systemctl disable iptables
(Debian 默认通常没有 iptables 服务)
iptables -L -n -v
如果你愿意,可以告诉我:
我可以给你更精确的建议。