在 Debian 系统中,iptables 的规则默认不会自动保存,系统重启后会丢失。因此,你需要手动保存并在启动时恢复。下面介绍 Debian 下常用且推荐的做法。
这是 官方推荐方式,适用于大多数 Debian 场景。
sudo apt update
sudo apt install iptables-persistent netfilter-persistent
安装过程中会询问是否保存当前规则:
sudo netfilter-persistent save
或者:
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
只要 netfilter-persistent 服务启用:
sudo systemctl enable netfilter-persistent
重启后规则会自动加载。
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
sudo iptables-restore < /etc/iptables/rules.v4
sudo ip6tables-restore < /etc/iptables/rules.v6
若要实现开机自动恢复,需自行写启动脚本或在 /etc/network/if-pre-up.d/ 中配置。
sudo iptables -L -n -v
cat /etc/iptables/rules.v4
从 Debian 10 开始,iptables 实际是 nftables 的兼容层。
如果你使用的是 原生 nftables,应使用:
sudo nft list ruleset > /etc/nftables.conf
并启用:
sudo systemctl enable nftables
✅ Debian 10+ 最佳实践
apt install iptables-persistent
netfilter-persistent save
这样你的 iptables 规则:
如果你能提供 Debian 具体版本,我可以给你一份最适合你系统的完整配置示例。