系统升级到centos 7后总感觉iptables怪怪的,比如不管怎么保存重启后都被初始化一下,即便我最后发大绝招启动时候加命令:
首先iptables-save > /etc/iptables.rules保存当前状态。
然后再在/etc/rc.local中强制加上

/etc/rc.local  

iptables-restore /etc/iptables .rules

重启后虽然规则生效但仔细看规则还是一些被莫名添加的额外的内容,让人很是不爽。

仔细一google,发现问题之所在了。RedHat在7中更改了系统软件,不再使用iptables作为系统的防火墙,而是使用了FirewallD,但是为了兼容过去的命令也可以使用iptables来设置防护规则,但启动的时候自搞了一套。

解决方法也很简单。

首先,可以考虑follow官方的想法转用FirewallD。其实查看一些官方文档也能用。
但是,个人觉得若没有显著的提升也可以继续使用原来的iptables。若打算继续使用iptables, 可以继续做如下:

备份当前规则

1 iptables-save > iptables.rules
禁用FireWallD,安装&启用iptables-services systemctl stop firewalld systemctl mask firewalld yum install  iptables-services -y  systemctl enable  iptables   

这时候检查iptables发现规则被清空了

1 iptables -L -x -n

将备份的规则还原

1 iptables-restore iptables.rules

保存当前规则

1 /usr/libexec/iptables/iptables .init save

若使用minimize版本的安装,可能会出现提示

iptables: Saving firewall rules to 
/etc/sysconfig/iptables: /etc/init.d/iptables: line 274: restorecon: command not found

这是因为selinux没有安装的缘故,缺少一个组件。安装policycoreutils即可。

1 yum install policycoreutils -y

您可能感兴趣的文章:

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。