温馨提示×

ubuntu iptables如何做快照

小樊
42
2026-10-24 12:22:20
栏目: 智能运维

在 Ubuntu 上,iptables 本身没有“快照”命令,但可以通过保存规则文件 + 版本管理来实现“快照”效果。下面给你几种常用、实用的做法。


一、最基础:保存/恢复 iptables 规则(推荐)

1️⃣ 创建 iptables 快照

iptables-save > iptables-snapshot-$(date +%F-%T).rules

例如:

iptables-save > iptables-snapshot-2026-01-15-10:30:00.rules

2️⃣ 恢复快照

iptables-restore < iptables-snapshot-2026-01-15-10:30:00.rules

✅ 这是最标准、最可靠的方式


二、同时包含 IPv6(如果你用了 ip6tables)

iptables-save  > snapshot.rules
ip6tables-save >> snapshot.rules

恢复时分别执行:

iptables-restore  < snapshot.rules
ip6tables-restore < snapshot.rules

三、使用系统自带规则目录(Ubuntu 推荐)

Ubuntu 默认使用 netfilter-persistent

保存当前规则为“正式快照”

sudo netfilter-persistent save

规则会保存到:

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

手动备份(相当于快照)

cp /etc/iptables/rules.v4 /backup/rules.v4.$(date +%F)

四、用 git 管理 iptables 快照(高级但很爽)

cd /etc/iptables
git init
git add .
git commit -m "iptables snapshot 2026-01-15"

以后随时:

git checkout rules.v4

✅ 适合服务器频繁变更防火墙规则


五、如果你用的是 nftables(Ubuntu 20.04+ 新系统)

检查:

nft list ruleset

快照:

nft list ruleset > nft-snapshot.rules

恢复:

nft -f nft-snapshot.rules

六、一键快照脚本示例(实用)

#!/bin/bash
DATE=$(date +%F-%H%M%S)
iptables-save > /root/iptables-$DATE.rules
ip6tables-save > /root/ip6tables-$DATE.rules
echo "Snapshot saved: $DATE"
chmod +x ipt-snapshot.sh
./ipt-snapshot.sh

总结

方式 适用场景
iptables-save 最通用
netfilter-persistent Ubuntu 官方
git 多版本管理
nftables 新系统

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

  • Ubuntu 版本
  • 是否用 Docker / K8s
  • 是否需要自动定时快照

我可以帮你写一个自动快照 + 清理旧快照的完整方案。

0 踩