系统升级到CentOS 7后总感受iptables怪怪的,好比无论怎么保存重启后都被初始化一下,即使我最后发大绝招启动时候加命令:
首先iptables-save > /etc/iptables.rules保存当前状态。
而后再在/etc/rc.local中强制加上linux
|
iptables-restore
/etc/iptables
.rules
|
重启后虽然规则生效但仔细看规则仍是一些被莫名添加的额外的内容,让人非常不爽。
web
仔细一google,发现问题之所在了。RedHat在7中更改了系统软件,再也不使用iptables做为系统的防火墙,而是使用了FirewallD,可是为了兼容过去的命令也可使用iptables来设置防御规则,但启动的时候自搞了一套。c#
解决方法也很简单。google
首先,能够考虑follow官方的想法转用FirewallD。其实查看一些官方文档也能用。
可是,我的以为若没有显著的提高也能够继续使用原来的iptables。若打算继续使用iptables, 能够继续作以下:spa
备份当前规则rest
1
|
iptables-save > iptables.rules
|
|
|
这时候检查iptables发现规则被清空了code
1
|
iptables -L -x -n
|
将备份的规则还原orm
1
|
iptables-restore iptables.rules
|
保存当前规则ip
1
|
/usr/libexec/iptables/iptables
.init save
|
若使用minimize版本的安装,可能会出现提示ci
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
|