症状:
用CentOS搭了个Server,设置好了iptables并且保存。一直没怎么关注过iptables的运行,但随后的一段时间发现iptables配置列表是空的。
故障排查:
- 尝试使用systemctl status iptables命令查询iptables服务,结果显示没有服务;
- 去/lib/systemd/system下检查服务,确实没有;
- 使用yum list iptables*命令检查是否安装了iptables-services服务,嗯,果然没装。
问题根源:
- iptables是Linux默认的防火墙,CentOS默认不包含iptables-services服务,所以由于缺少iptables-services服务导致重启后配置丢失(即使你已经执行了iptables-save命令)。
- 定期消失的原因是因为设置了定期重启。
解决方案:
1.使用yum命令手动安装iptables-services服务。
yum install iptables-services
2. 注意!!!安装该服务并且启用后,防火墙配置会被重置,建议在安装之前使用以下命令导出防火墙配置:
iptables-save > iptables.bak
3. 启用iptables防火墙服务:
#启动服务 systemctl start iptables.service #设置为开机启动 systemctl enable iptables.service #检查服务状态 systemctl status iptables.service
4. 重新导入刚才备份的防火墙配置,保存,并验证规则是否存在:
#导入iptables防火墙规则 iptables-restore < iptables.bak #保存iptables防火墙规则 iptables-save #验证iptables规则是否存在 iptables -L -n
(END)
文章遵循 CC 4.0 BY-SA 版权协议,若需转载本文,请标注来源与链接:原创内容AndyX.Net版权所有
https://andyx.net/solve_the_issue_that_iptables_rules_disappear_on_rhel_centos/