温馨提示×

怎么清空Ubuntu的iptables规则

小樊
42
2026-08-22 10:50:30
栏目: 智能运维

在 Ubuntu 上清空(重置)iptables 规则,可以按下面步骤操作。以下方法适用于 IPv4(iptables),如果你用的是 IPv6(ip6tables),同理替换即可。


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

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

如果你还有 nat、mangle 等表:

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

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

二、恢复默认策略(非常重要)

清空规则后,建议把默认策略改回 ACCEPT,否则可能断网:

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

⚠️ 注意

  • 如果你之前设置过 DROP 策略,不清策略会导致 SSH 直接断连。

三、一键清空并恢复默认(推荐脚本)

#!/bin/bash
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

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

保存为 clear_iptables.sh,然后执行:

chmod +x clear_iptables.sh
sudo ./clear_iptables.sh

四、确认是否清空成功

sudo iptables -L -n -v
sudo iptables -t nat -L -n -v

如果看到规则为空、policy 是 ACCEPT,说明已清空。


五、Ubuntu 常见补充(很重要)

1️⃣ 如果你用的是 ufw

Ubuntu 默认可能用 ufw 管理 iptables:

sudo ufw disable
sudo ufw reset

这会清空 ufw 设置的 iptables 规则。


2️⃣ 防止重启后规则恢复

iptables 规则 重启后会丢失,但如果系统有自动保存:

# 查看是否有 iptables-persistent
dpkg -l | grep iptables-persistent

如果有,需要删除保存的规则:

sudo iptables-save | sudo tee /etc/iptables/rules.v4
sudo ip6tables-save | sudo tee /etc/iptables/rules.v6

或者:

sudo apt remove iptables-persistent

六、IPv6 清空(如需要)

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

✅ 总结(最安全做法)

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

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

  • 云服务器 / 本地 / Docker / K8s
  • 是否 远程 SSH
  • 是否 用了 ufw / firewalld

我可以给你一个完全不会断网的操作方案。

0