笔记菜鸟

快速笔记:解决RHEL/CentOS下iptables规则定期消失的问题

症状:

用CentOS搭了个Server,设置好了iptables并且保存。一直没怎么关注过iptables的运行,但随后的一段时间发现iptables配置列表是空的。

故障排查:

  1. 尝试使用systemctl status iptables命令查询iptables服务,结果显示没有服务;
  2. 去/lib/systemd/system下检查服务,确实没有;
  3. 使用yum list iptables*命令检查是否安装了iptables-services服务,嗯,果然没装。

iptables_in_centos_1.png插图

 

问题根源:

  1. iptables是Linux默认的防火墙,CentOS默认不包含iptables-services服务,所以由于缺少iptables-services服务导致重启后配置丢失(即使你已经执行了iptables-save命令)。
  2. 定期消失的原因是因为设置了定期重启。

 

解决方案:

1.使用yum命令手动安装iptables-services服务。

yum install iptables-services

iptables_in_centos_2.png插图(1)

2. 注意!!!安装该服务并且启用后,防火墙配置会被重置,建议在安装之前使用以下命令导出防火墙配置:

iptables-save > iptables.bak

3. 启用iptables防火墙服务:

#启动服务
systemctl start iptables.service

#设置为开机启动 
systemctl enable iptables.service

#检查服务状态
systemctl status iptables.service

iptables_in_centos_3.png插图(2)

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/