在 Debian 系统中,iptables 本身没有“关闭”命令,只能通过清空规则、设置默认策略为 ACCEPT 的方式来实现“关闭防火墙”的效果。下面按常见场景详细说明。
sudo iptables -F # 清空所有规则
sudo iptables -X # 删除自定义链
sudo iptables -Z # 清零计数器
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
✅ 此时 iptables 相当于“关闭”,所有流量都允许通过。
如果你启用了 IPv6:
sudo ip6tables -F
sudo ip6tables -X
sudo ip6tables -P INPUT ACCEPT
sudo ip6tables -P FORWARD ACCEPT
sudo ip6tables -P OUTPUT ACCEPT
Debian 默认不会自动保存 iptables 规则,但如果你使用了以下工具,需要额外处理:
iptables-persistentnetfilter-persistentsystemctl status netfilter-persistent
sudo apt remove iptables-persistent
sudo systemctl disable netfilter-persistent
sudo systemctl stop netfilter-persistent
某些系统可能配置了自动加载脚本:
sudo systemctl disable iptables
sudo systemctl stop iptables
(Debian 默认通常没有这个服务)
查看当前规则:
sudo iptables -L -n -v
如果看到:
policy ACCEPT✅ 说明 iptables 已“关闭”
Debian 10 以后默认使用 nftables,iptables 可能是兼容层。
sudo nft list ruleset
sudo nft flush ruleset
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
如果你告诉我:
我可以给你更精确且安全的操作方案。