89291041 2019-09-06
CentOS 7中使用的防火墙为firewall,在CentOS 6.5中在iptables防火墙中进行了升级了。
CentOS 7放行端口需要在云服务器管理后台和服务器firewall同时设置才有效!注意默认全部拒绝!管理后台通过权限组添加规则。
/usr/lib/firewalld/services 目录中存放定义好的网络服务和端口参数,系统参数。配置时引用服务名称

/etc/firewalld/为配置目录,使用区域在zones下

firewall-cmd:是Linux提供的操作firewall的一个工具。
(1)firewalld服务启动、关闭、重启,设置开机自启
# 启动
systemctl start firewalld  
# 关闭
systemctl stop firewalld  
  
# 重启
systemctl restart firewalld    
# 开机启动       
systemctl enable firewalld  
      
# 取消开机启动
systemctl disable firewalld 
      
# 查看是否开机自启
systemctl is-enabled firewalld(2)添加端口/服务。用户可以通过修改配置文件的方式添加端口,也可以通过命令的方式添加端口,注意,修改的内容会在/etc/firewalld/ 目录下的配置文件中还体现。例如在public区域添加tcp端口8020
firewall-cmd --zone=public --permanent --add-port=8010/tcp
可以在/etc/firewalld/zones/public.xml中看见已经添加成功。

这个配置文件也可以手动修改,如添加服务
vi /etc/firewalld/zones/public.xml i 加入 <service name="mysql"/>

也可以通过--add-service添加,
firewall-cmd --permanent --zone=public --add-service=mysql
重载可生效firewall-cmd --reload。
(3)查看规则
firewall-cmd --list-all

(4)其它
# 查看防火墙状态 firewall-cmd --state # 查看默认的域 firewall-cmd --get-default-zone # 查看所有的域 firewall-cmd --get-zones # 查看所有域的信息 firewall-cmd --list-all-zones # 查看指定域的信息 firewall-cmd --zone=public --list-all # 查看可以添加的服务 firewall-cmd --get-services # 设置指定域为默认域 firewall-cmd --set-default-zone=public