温馨提示×

如何禁用Debian iptables

小樊
39
2026-07-29 17:46:04
栏目: 智能运维

在 Debian 系统中,iptables 本身不能直接“卸载”或“关闭”,但可以通过停止规则生效禁用相关服务来达到“禁用 iptables”的效果。下面按常见场景说明。


一、清空并禁用 iptables 规则(最常用)

如果你只是想让 iptables 不拦截任何流量,可以清空所有规则并把默认策略设为 ACCEPT。

1️⃣ 清空 IPv4 iptables 规则

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t raw -F
sudo iptables -t raw -X

2️⃣ 设置默认策略为 ACCEPT

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

✅ 此时 iptables 仍然存在,但不会过滤任何流量


二、清空 IPv6(ip6tables)

如果启用了 IPv6,也需要处理:

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

三、禁用 iptables 持久化(防止重启后恢复)

Debian 通常使用 iptables-persistentnetfilter-persistent 保存规则。

1️⃣ 停止并禁用服务

sudo systemctl stop netfilter-persistent
sudo systemctl disable netfilter-persistent

或(旧版本):

sudo systemctl stop iptables-persistent
sudo systemctl disable iptables-persistent

2️⃣ 删除保存的规则文件(可选)

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

四、彻底卸载 iptables(不推荐)

⚠️ 不建议卸载,因为:

  • iptables 是系统网络栈的一部分
  • 卸载可能导致网络异常

如果仍要卸载:

sudo apt remove iptables

五、使用 nftables 的系统(Debian 10+)

较新的 Debian 使用 nftables 作为后端。

查看是否使用 nftables

sudo update-alternatives --query iptables

禁用 nftables 规则

sudo nft flush ruleset

防止 nftables 开机加载

sudo systemctl disable nftables

六、推荐做法(总结)

最安全、最推荐

清空规则 + 默认 ACCEPT
禁用 iptables-persistent

不推荐

卸载 iptables 或 nftables

如果你能说明:

  • Debian 版本(如 10 / 11 / 12)
  • 是否用于服务器 / 桌面
  • 是否使用 Docker / K8s / 云服务器

我可以给你更精确的方案

0