Ubuntu系统主要使用UFW(Uncomplicated Firewall)作为防火墙管理工具,其底层依赖iptables/nftables实现规则过滤。以下是针对两者的备份步骤:
UFW提供了便捷的规则导出功能,可将当前配置的防火墙规则保存为文本文件,便于后续恢复或迁移。
导出UFW规则到文本文件
打开终端,执行以下命令将UFW的用户自定义规则(如允许/拒绝的端口、服务)保存到指定文件(如ufw-rules-backup.txt):
sudo ufw status > /etc/ufw-backup/ufw-rules-backup.txt
若需查看更详细的规则信息(如规则的来源IP、协议等),可使用verbose模式:
sudo ufw status verbose > /etc/ufw-backup/ufw-rules-verbose-backup.txt
提示:建议将备份文件存放在专用备份目录(如
/etc/ufw-backup/),避免误删。
备份UFW配置文件
UFW的核心配置文件(包括默认策略、规则文件)位于/etc/ufw/目录下,需备份以下关键文件:
user.rules:用户自定义的IPv4防火墙规则;user6.rules:用户自定义的IPv6防火墙规则;before.rules:在UFW规则前应用的规则(如NAT设置);after.rules:在UFW规则后应用的规则(如日志记录);ufw.conf:UFW的全局配置(如默认策略、日志级别)。tar命令打包备份:sudo tar -czvf /etc/ufw-backup/ufw-config-backup.tar.gz /etc/ufw/user.rules /etc/ufw/user6.rules /etc/ufw/before.rules /etc/ufw/after.rules /etc/ufw/ufw.conf
提示:若修改过默认策略(如
sudo ufw default deny incoming),需确保ufw.conf中的DEFAULT_INPUT_POLICY等参数也被备份。
UFW的规则最终会转换为iptables/nftables规则,若需备份底层规则(如手动添加的iptables规则),可按以下步骤操作:
备份当前iptables规则
使用iptables-save命令将当前iptables规则(包括INPUT、OUTPUT、FORWARD等链的规则)导出到文件:
sudo iptables-save > /etc/iptables-backup/iptables-rules-backup.rules
若系统启用了NAT规则(如端口转发),需额外备份NAT表规则:
sudo iptables-save -t nat > /etc/iptables-backup/iptables-nat-backup.rules
提示:
iptables-save命令会将规则以易读的文本格式保存,便于编辑和恢复。
持久化iptables规则(可选)
若需确保重启后iptables规则仍生效,可安装iptables-persistent工具,它会自动保存规则到/etc/iptables/rules.v4(IPv4)和/etc/iptables/rules.v6(IPv6):
sudo apt install iptables-persistent
安装过程中会提示是否保存当前规则,选择“是”即可。后续可通过以下命令手动保存规则:
sudo netfilter-persistent save
提示:
iptables-persistent是Ubuntu中常用的iptables规则持久化工具,适用于需要长期保留规则的场景。
为避免手动备份遗漏,可通过cron定时任务实现定期自动备份。例如,每天凌晨2点备份UFW规则到/home/username/backup/目录:
crontab -e
username为实际用户名):0 2 * * * /usr/sbin/ufw status > /home/username/backup/ufw-rules-$(date +\%Y\%m\%d).txt
保存并退出,cron会自动执行备份任务。sudo ufw status显示“active”),备份过程中需避免中断网络连接(如SSH);sudo chmod 700 /etc/ufw-backup/),防止敏感信息泄露;sudo ufw status或sudo iptables -L验证规则是否正确应用,避免误封端口。