在 Debian 系统中,iptables 规则本身不会自动持久化,重启后会丢失。要保存规则,常见做法有以下几种(按推荐程度排序):
iptables-persistent(最推荐)这是 Debian 官方推荐、最简单、最稳定的方式。
sudo apt update
sudo apt install iptables-persistent
安装过程中会提示是否保存当前规则:
iptables)ip6tables)如果安装后修改了规则,需要手动保存:
sudo netfilter-persistent save
或使用旧命令(等价):
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
/etc/iptables/rules.v4
/etc/iptables/rules.v6
系统重启后会自动加载这些规则。
sudo netfilter-persistent reload
iptables-save / iptables-restore(手动方式)sudo iptables-save > /root/iptables.rules
sudo iptables-restore < /root/iptables.rules
⚠️ 这种方式不会自动加载,需要你自己写启动脚本。
例如编辑:
sudo nano /etc/network/if-pre-up.d/iptables
内容示例:
#!/bin/sh
iptables-restore < /etc/iptables.rules
然后:
sudo chmod +x /etc/network/if-pre-up.d/iptables
⚠️ 在新版 Debian(使用 systemd + nftables)中,这种方式已不推荐。
Debian 10+ 默认使用 nftables 作为后端,但 iptables 命令仍然存在(通过兼容层)。
如果你愿意迁移到 nftables:
sudo apt install nftables
sudo systemctl enable nftables
保存 nftables 规则:
sudo nft list ruleset > /etc/nftables.conf
| 场景 | 推荐方式 |
|---|---|
| Debian 稳定使用 | ✅ iptables-persistent |
| 临时保存 | iptables-save |
| 新系统 / 长期维护 | ✅ nftables |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你最合适的一套配置示例。