Linux防火墙备份与恢复指南(iptables/firewalld)
iptables是Linux传统命令行防火墙工具,适用于CentOS 6、Ubuntu等系统,其配置备份与恢复主要通过iptables-save和iptables-restore命令实现。
iptables-save命令将当前IPv4规则保存到指定文件(如/etc/iptables/rules.v4),命令如下:sudo iptables-save > /etc/iptables/rules.v4sudo iptables-save > /etc/iptables/rules.v6iptables-persistent工具,安装过程中会自动保存当前规则到上述文件;也可通过netfilter-persistent save命令手动备份。iptables-restore命令读取备份文件并应用规则。例如:
sudo iptables-restore < /etc/iptables/rules.v4sudo iptables-restore < /etc/iptables/rules.v6sudo iptables-save > /tmp/current_rules.bak),防止误操作导致网络中断;恢复后无需重启服务,规则会立即生效。firewalld是CentOS 7及以上、Fedora等系统的动态防火墙工具,支持区域(Zone)和服务(Service)管理,其配置备份与恢复需操作/etc/firewalld目录。
firewall-cmd --runtime-to-permanent命令将当前运行时配置(临时)保存为永久配置(存储于/etc/firewalld/firewalld.xml),命令如下:sudo firewall-cmd --runtime-to-permanent/etc/firewalld目录(包含所有配置文件,如区域、服务定义),命令如下:sudo cp -r /etc/firewalld /path/to/backup/firewalld_backupsudo systemctl stop firewalld),备份完成后重启服务(sudo systemctl start firewalld)。sudo systemctl stop firewalld/etc/firewalld目录(覆盖原有文件):
firewalld.xml:sudo cp /path/to/backup/firewalld.xml /etc/firewalld/firewalld.xmlsudo cp -r /path/to/backup/firewalld_backup/* /etc/firewalld/sudo systemctl start firewalldsudo firewall-cmd --reloadfirewalld.xml文件,可直接用firewall-cmd --load命令加载,命令如下:sudo firewall-cmd --load /path/to/backup/firewalld.xml && sudo firewall-cmd --reloadroot用户或sudo提升权限,避免权限不足导致失败。iptables -L -n(iptables)或firewall-cmd --list-all(firewalld)命令检查规则是否生效,确保系统安全策略符合预期。