CentOS7中iptables规则保存方法
为什么需要保存iptables规则?
在CentOS7系统中,通过iptables
命令添加的防火墙规则默认仅临时生效。系统重启后,所有配置将丢失。为确保规则持久化,需采用特定方法将规则写入配置文件。
方法一:使用iptables-services服务
CentOS7默认使用firewalld服务,需切换至传统iptables管理方式:
# 停止firewalld服务
systemctl stop firewalld
# 禁用firewalld服务
systemctl disable firewalld
# 安装iptables-services
yum install iptables-services -y
# 启动iptables服务
systemctl start iptables
# 设置开机自启
systemctl enable iptables
添加规则后执行保存命令:
service iptables save
规则将永久存储在/etc/sysconfig/iptables
文件中。
方法二:手动备份规则文件
通过重定向输出保存当前规则:
iptables-save > /etc/sysconfig/iptables
恢复规则时执行:
iptables-restore
方法三:配置自动保存(可选)
创建定时任务实现规则自动备份:
# 编辑crontab
crontab -e
# 添加每日备份任务
0 3 * * * /sbin/iptables-save > /etc/sysconfig/iptables
验证规则生效
重启系统后检查规则是否加载:
systemctl status iptables
iptables -L -n -v