温馨提示×

ubuntu iptables怎样保存规则

小樊
48
2026-09-03 19:58:13
栏目: 智能运维

在 Ubuntu 下,iptables 本身不会自动保存规则,重启后会丢失。你需要手动保存并在开机时恢复。常见做法有以下几种:


一、使用 iptables-save / iptables-restore(最通用)

1️⃣ 保存当前规则

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

(如果目录不存在可以先建)

sudo mkdir -p /etc/iptables

2️⃣ 开机自动恢复

编辑 /etc/rc.local(或 systemd 方式):

sudo iptables-restore < /etc/iptables/rules.v4

或手动执行:

sudo iptables-restore < /etc/iptables/rules.v4

二、Ubuntu 传统方式(iptables-persistent)

安装

sudo apt update
sudo apt install iptables-persistent

保存规则

sudo netfilter-persistent save

重新加载

sudo netfilter-persistent reload

规则会保存在:

  • IPv4:/etc/iptables/rules.v4
  • IPv6:/etc/iptables/rules.v6

✅ 推荐方式(简单稳定)


三、使用 systemd(高级用户)

创建服务文件:

sudo nano /etc/systemd/system/iptables-restore.service

内容示例:

[Unit]
Description=Restore iptables rules
Before=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore /etc/iptables/rules.v4
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl enable iptables-restore

四、常见检查命令

sudo iptables -L -n -v
sudo iptables-save

✅ 推荐总结

方式 推荐度
iptables-persistent ⭐⭐⭐⭐⭐
iptables-save 手动 ⭐⭐⭐
systemd 自定义 ⭐⭐⭐⭐

如果你是 Ubuntu 20.04 / 22.04 / 24.04,直接用 iptables-persistent 最省事。

需要我帮你写一份完整规则 + 保存示例吗?

0 踩