CentOS 7中使用的防火墙为firewall,在CentOS 6.5中在iptables防火墙中进行了升级了。
- 用于实现持久的网络流量规则。
- 可以动态修改单条规则,动态管理规则集,允许更新规则而不破坏现有会话和连接
- 使用区域(zone)和服务(service)
- 默认是拒绝的,需要设置以后才能放行
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
- --permanent:表示设置为持久;
- --add-port:标识添加的端口;
可以在/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