温馨提示×

Debian iptables怎么关闭

小樊
38
2026-07-01 22:34:03
栏目: 智能运维

在 Debian 系统中,“关闭 iptables”通常是指清空规则并停止防火墙生效,而不是卸载它(iptables 是内核功能,无法真正卸载)。下面按常见需求给你几种正确、安全的做法


一、临时清空 iptables 规则(推荐)

适合临时关闭防火墙,重启后会恢复(如果保存过规则)。

sudo iptables -F        # 清空所有规则
sudo iptables -X        # 删除自定义链
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

✅ 效果:

  • 所有端口全部放行
  • 防火墙相当于“关闭”

二、永久关闭 iptables(不再自动加载规则)

1️⃣ 停止并禁用 iptables 持久化服务

Debian 使用 netfilter-persistentiptables-persistent

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

或(旧版本)

sudo systemctl stop iptables
sudo systemctl disable iptables

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

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

如果没有该目录,也可以忽略。


三、Debian 10+(nftables 情况)

Debian 10 以后默认使用 nftables,iptables 只是兼容层。

查看是否使用 nftables

sudo update-alternatives --config iptables

关闭 nftables

sudo systemctl stop nftables
sudo systemctl disable nftables

四、彻底关闭防火墙(不推荐生产环境)

sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo systemctl disable netfilter-persistent

⚠️ 服务器公网环境不建议这样做


五、验证是否关闭成功

sudo iptables -L

如果看到类似:

Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

并且没有任何规则 ✅,说明已关闭。


六、建议(重要)

场景 建议
测试环境 可以关闭
生产服务器 ❌ 不建议
只想放行端口 用规则而不是关闭
Docker / K8s 不要关闭 iptables

如果你能告诉我:

  • ✅ Debian 版本(9 / 10 / 11 / 12)
  • ✅ 是服务器还是本地虚拟机
  • ✅ 有没有 Docker / K8s

我可以给你最安全、最合适的方案

0