温馨提示×

Debian iptables怎么保存规则

小樊
42
2026-07-15 09:13:33
栏目: 智能运维

在 Debian 系统中,iptables 规则本身不会自动持久化,重启后会丢失。要保存规则,常见做法有以下几种(按推荐程度排序):


✅ 方法一:使用 iptables-persistent(最推荐)

这是 Debian 官方推荐、最简单、最稳定的方式。

1️⃣ 安装

sudo apt update
sudo apt install iptables-persistent

安装过程中会提示是否保存当前规则:

  • 选择 Yes 保存 IPv4(iptables
  • 选择 Yes 保存 IPv6(ip6tables

2️⃣ 保存当前规则

如果安装后修改了规则,需要手动保存:

sudo netfilter-persistent save

或使用旧命令(等价):

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

3️⃣ 规则文件位置

/etc/iptables/rules.v4
/etc/iptables/rules.v6

系统重启后会自动加载这些规则。


4️⃣ 手动加载(一般不需要)

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 新版本(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

如果你愿意,可以告诉我:

  • Debian 版本(cat /etc/debian_version
  • 是否使用 IPv6
  • 是服务器还是桌面环境

我可以给你最合适的一套配置示例

0