从Centos7开始,默认使用firewall来配置防火墙,不再使用iptables。
启动关闭
查看当前状态
systemctl status firewalld.service
或者
firewall-cmd --state
启动
systemctl start firewalld.service
关闭
systemctl stop firewalld.service
域的概念
区域规定了区域是网络接口信任或者不信任网络连接的标准。区域(zone)包含服务和端口。也就是配置命令中--zone参数的值,通常配置的时候都使用公共区域(public)
丢弃区域(Drop Zone):如果使用丢弃区域,任何进入的数据包将被丢弃。这个类似与我们之前使用iptables -j drop。使用丢弃规则意味着将不存在响应,只有流出的网络连接有效。
阻塞区域(Block Zone):阻塞区域会拒绝进入的网络连接,返回icmp-host-prohibited,只有服务器已经建立的连接会被通过。
公共区域(Public Zone):只接受那些被选中的连接,而这些通过在公共区域中定义相关规则实现。服务器可以通过特定的端口数据,而其它的连接将被丢弃。
外部区域(External Zone):这个区域相当于路由器的启用伪装(masquerading)选项。只有指定的连接会被接受,而其它的连接将被丢弃或者不被接受。
隔离区域(DMZ Zone):如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义。它也拥有只通过被选中连接的特性。
工作区域(Work Zone):在这个区域,我们只能定义内部网络。比如私有网络通信才被允许。
家庭区域(Home Zone):这个区域专门用于家庭环境。我们可以利用这个区域来信任网络上其它主机不会侵害你的主机。它同样只允许被选中的连接。
内部区域(Internal Zone):这个区域和工作区域(Work Zone)类似,只有通过被选中的连接。
信任区域(Trusted Zone):信任区域允许所有网络通信通过。
配置一条防火墙过滤规则
接下来实际操作一下,配置防火墙允许mysql默认端口3306为通过
- 查看现有的规则里面有没有3306端口
firewall-cmd --list-ports
图片
- 如果下面的结果里面没有3306端口,通过以下命令配置
firewall-cmd --zone=public --add-port=80/tcp --permanent
--zone 指定区域,--add-port指定端口,--permanent表示永久生效,没有这个参数重启之后该规则便会失效
- 配置好之后需要更新防火墙规则才生效
firewall-cmd --reload
- 再通过命令查看是否配置成功
firewall-cmd --list-ports
网友评论