温馨提示×

Debian如何保存iptables规则

小樊
43
2026-07-01 22:33:04
栏目: 智能运维

在 Debian 系统中,iptables 的规则默认不会自动保存,系统重启后会丢失。因此,你需要手动保存并在启动时恢复。下面介绍 Debian 下常用且推荐的做法。


一、Debian 10/11/12(推荐方式:netfilter-persistent + iptables-persistent)

这是 官方推荐方式,适用于大多数 Debian 场景。

1. 安装相关工具

sudo apt update
sudo apt install iptables-persistent netfilter-persistent

安装过程中会询问是否保存当前规则:

  • ✅ 是(保存 IPv4 规则)
  • ✅ 是(保存 IPv6 规则)

2. 保存当前 iptables 规则

sudo netfilter-persistent save

或者:

sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6

3. 恢复规则(系统启动自动完成)

只要 netfilter-persistent 服务启用:

sudo systemctl enable netfilter-persistent

重启后规则会自动加载。


二、Debian 9 及更早版本(旧方式)

保存规则

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

四、注意:nftables(Debian 新版本)

从 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 具体版本,我可以给你一份最适合你系统的完整配置示例

0