温馨提示×

ubuntu iptables如何重置

小樊
42
2026-09-28 03:32:39
栏目: 智能运维

在 Ubuntu 上“重置 iptables”通常指清空所有规则并恢复默认策略(允许所有流量)。下面给你几种常用、安全的方法。


一、最常用:清空所有规则(推荐)

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

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

如果你用了 IPv6,也要重置:

sudo ip6tables -F
sudo ip6tables -X
sudo ip6tables -Z

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

二、使用 iptables-restore 一键重置(最干净)

sudo iptables-restore <<EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
EOF

IPv6:

sudo ip6tables-restore <<EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
EOF

三、如果使用了 ufw(Ubuntu 常见)

很多人实际用的是 ufw,而不是裸 iptables。

查看状态

sudo ufw status

禁用 ufw(会清空其规则)

sudo ufw disable

完全重置 ufw

sudo ufw reset

⚠️ ufw reset 会删除所有 ufw 规则,并提示是否禁用 ufw


四、如果使用了 nftables(新版 Ubuntu)

Ubuntu 20.04+ 可能用的是 nftables:

sudo nft flush ruleset

查看:

sudo nft list ruleset

五、重启后是否还会恢复?

  • 裸 iptables 规则:重启后通常消失(除非有脚本或 netfilter-persistent)
  • 如果规则会“自动恢复”,检查:
sudo systemctl status netfilter-persistent

清空并保存(可选):

sudo netfilter-persistent save

六、一键脚本(常用)

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

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

  • Ubuntu 版本
  • 是否使用 ufw / docker / k8s
  • 是想“临时清空”还是“彻底恢复出厂”

我可以给你最合适的方法。

0 踩