iptables 持久化完整指南
iptables 持久化概述
iptables 规则默认在系统重启后会丢失,需要持久化保存。以下是几种常用的持久化方法。
方法一:使用 iptables-persistent(Debian/Ubuntu)
安装工具
sudo apt install iptables-persistent
保存当前规则
# 保存规则 sudo netfilter-persistent save # 重载规则 sudo netfilter-persistent reload # 或者 sudo iptables-save > /etc/iptables/rules.v4 sudo ip6tables-save > /etc/iptables/rules.v6
方法二:使用 iptables-services(CentOS/RHEL)
安装服务
sudo yum install iptables-services # 或 RHEL 8+ sudo dnf install iptables-services
保存规则
sudo service iptables save # 或 sudo iptables-save > /etc/sysconfig/iptables
启用服务
sudo systemctl enable iptables sudo systemctl start iptables
方法三:手动脚本方式(通用)
保存当前规则
sudo iptables-save > /etc/iptables.rules
创建恢复脚本
创建文件 /etc/network/if-pre-up.d/iptables
#!/bin/bash iptables-restore < /etc/iptables.rules
赋予执行权限
sudo chmod +x /etc/network/if-pre-up.d/iptables
方法四:systemd 服务(通用)
创建服务文件
创建文件 /etc/systemd/system/iptables-restore.service
[Unit] Description=Restore iptables rules Before=network-pre.target [Service] Type=oneshot ExecStart=/sbin/iptables-restore /etc/iptables.rules ExecStart=/sbin/ip6tables-restore /etc/ip6tables.rules [Install] WantedBy=multi-user.target
启用服务
sudo systemctl enable iptables-restore
验证持久化
重启系统后检查规则:
sudo iptables -L -n -v
Comments:
Email questions, comments, and corrections to hi@smartisan.dev.
Submissions may appear publicly on this website, unless requested otherwise in your email.