在 Ubuntu 上清空(重置)iptables 规则,可以按下面步骤操作。以下方法适用于 IPv4(iptables),如果你用的是 IPv6(ip6tables),同理替换即可。
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,说明已清空。
ufwUbuntu 默认可能用 ufw 管理 iptables:
sudo ufw disable
sudo ufw reset
这会清空 ufw 设置的 iptables 规则。
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
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
如果你愿意,可以告诉我:
我可以给你一个完全不会断网的操作方案。