6 换到 7,虽然服务管理命令从 service 换成了 systemctl,但总归是通用的。但今天在新装主机上关闭防火墙时,经历了以下错误:

[hzz@ ~]$ sudo service  stop
[sudo] password for hzz: 
Redirecting to /bin/systemctl stop  .service
Failed to stop .service: Unit .service not loaded.
[hzz@magedu ~]$ 

上网查了一下,原来 CentOS 7 默认使用的是 firewall 作为防火墙,故操作 iptables 的方式必须改变。下面就来说说 CentOS 7 上如何关闭 iptables 和

iptables

关闭 iptables

停止 firewall:

systemctl stop firewalld.service

禁止 firewall 开机启动:

systemctl disable firewalld.service

设置 iptables

-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