对于 Debian/Ubuntu 等系统:通常使用 iptables-save 和 iptables-restore 命令。配置完成后,运行 sudo iptables-save > /etc/iptables/rules.v4 将当前 IPv4 规则保存到文件。然后,可以通过系统服务(如 netfilter-persistent)或启动脚本在开机时自动加载该文件。
在 Debian 12 上,成功保存 iptables 规则后,可以通过安装并启用 netfilter-persistent 服务来实现开机自动加载。
sudo apt update sudo apt install iptables-persistent
在安装过程中,系统会提示你是否保存当前的 IPv4 和 IPv6 规则。如果之前已经手动保存过规则,可以选择“否”。
将当前生效的 iptables 规则保存到默认的持久化配置文件中。这通常对应 /etc/iptables/rules.v4(IPv4)和 /etc/iptables/rules.v6(IPv6)。
sudo iptables-save > /etc/iptables/rules.v4 sudo ip6tables-save > /etc/iptables/rules.v6
也可以使用 netfilter-persistent 提供的命令来保存:
sudo netfilter-persistent save
启用开机自启服务:
确保 netfilter-persistent 服务已设置为开机自动启动并立即启动它。
sudo systemctl enable netfilter-persistent sudo systemctl start netfilter-persistent
完成以上步骤后,系统每次重启时,netfilter-persistent 服务都会自动从 /etc/iptables/ 目录下的规则文件恢复 iptables 规则。
验证与后续管理:
- 检查服务状态:可以使用
sudo systemctl status netfilter-persistent来确认服务运行正常。 - 更新规则:未来若修改了 iptables 规则并希望永久生效,只需再次执行
sudo netfilter-persistent save命令即可将当前内存中的规则覆盖保存到配置文件中。