在 Debian 系统中,iptables 本身没有“重启”命令,因为它是一个内核模块,不是常驻服务。所谓“重启 iptables”,通常是指 重新加载规则 或 清空并恢复规则。下面按常见场景说明。
从 Debian 10(Buster)开始,iptables 实际是 iptables-nft,底层是 nftables。
iptables -L -n -v
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
这是 Debian 官方推荐的 iptables 持久化方式。
apt update
apt install iptables-persistent netfilter-persistent
安装时会提示是否保存当前规则,选择 Yes。
netfilter-persistent save
netfilter-persistent reload
✅ 这就是 Debian 上最标准的“重启 iptables”方式
如果你是想“重置”iptables:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
⚠️ 远程服务器执行前,务必确认不会断连。
旧版本可能使用 iptables-persistent 的旧脚本:
/etc/init.d/iptables-persistent reload
如果文件不存在,说明系统已不再支持该方式。
| 错误观念 | 说明 |
|---|---|
systemctl restart iptables |
Debian 默认没有这个服务 |
| iptables 是服务 | 它是内核功能,不是服务 |
| 重启系统才能生效 | 规则可随时加载/卸载 |
✅ Debian 9+ 推荐
apt install iptables-persistent
netfilter-persistent save
netfilter-persistent reload
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你更精确的命令。