温馨提示×

ubuntu iptables怎样恢复默认

小樊
45
2026-09-22 03:17:18
栏目: 智能运维

在 Ubuntu 中,iptables 本身没有“一键恢复默认”的命令,所谓“恢复默认”通常是指:

  • 清空所有规则
  • 删除自定义链
  • 将默认策略恢复为 ACCEPT

下面分几种常见情况说明。


一、最常用:清空并恢复为“全放行”(推荐)

# 清空 filter 表
sudo iptables -F
sudo iptables -X

# 恢复默认策略为 ACCEPT
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

如果你还用了 nat / mangle 表:

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

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

✅ 这样就回到了 Ubuntu 原始状态(什么都不挡)


二、如果使用的是 ufw(Ubuntu 默认防火墙)

Ubuntu 通常是通过 ufw 管理 iptables 的。

1️⃣ 关闭 ufw(会清空规则)

sudo ufw disable

2️⃣ 彻底重置 ufw

sudo ufw reset

这会:

  • 删除所有 ufw 规则
  • 重置为默认策略
  • 但 不会删除你手动写的 iptables 规则

三、如果你用的是 nftables(Ubuntu 20.04+ 新系统)

查看是否在用:

sudo nft list ruleset

如果是,恢复默认:

sudo nft flush ruleset

四、持久化问题(很重要)

如果你之前 保存过 iptables 规则,重启后还会恢复。

查看是否保存过

ls /etc/iptables/

删除保存的规则(防止重启恢复)

sudo rm -f /etc/iptables/rules.v4
sudo rm -f /etc/iptables/rules.v6

或者如果你用 iptables-persistent:

sudo netfilter-persistent flush
sudo netfilter-persistent save

五、一键脚本(安全版)

#!/bin/bash
iptables -F
iptables -X
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
echo "iptables 已恢复默认"

总结

场景 操作
手动 iptables -F -X -P ACCEPT
用 ufw ufw reset
用 nftables nft flush ruleset
防止重启恢复 删除 /etc/iptables/*

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

  • Ubuntu 版本
  • 是否用了 ufw / docker / k8s

我可以给你最准确的一条命令。

0 踩