CentOS 7 关闭 iptables 和 SELinux
从 CentOS 6 换到 CentOS 7,虽然服务管理命令从 service 换成了 systemctl,但总归是通用的。但今天在新装主机上关闭防火墙时,经历了以下错误:
[hzz@magedu ~]$ sudo service iptables stop
[sudo] password for hzz:
Redirecting to /bin/systemctl stop iptables.service
Failed to stop iptables.service: Unit iptables.service not loaded.
[hzz@magedu ~]$
上网查了一下,原来 CentOS 7 默认使用的是 firewall 作为防火墙,故操作 iptables 的方式必须改变。下面就来说说 CentOS 7 上如何关闭 iptables 和 SELinux。
iptables
关闭 iptables
停止 firewall:
systemctl stop firewalld.service
禁止 firewall 开机启动:
systemctl disable firewalld.service
设置 iptables
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口 3306:
vi /etc/sysconfig/iptables
# 增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 保存退出后重启防火墙
systemctl restart iptables.service
# 设置防火墙开机启动
systemctl enable iptables.service
SELinux
关闭 selinux
临时关闭 SELinux:
setenforce 0
查看状态:
getenforce
修改配置文件关闭 SELinux:
vi /etc/sysconfig/selinux
# 修改:
#SELINUX=enforcing
# 为:
SELINUX=disabled