在Firewalld中,引入了一个新的概念-区域(zone),我们也可以把区域当成已经存在的策略模板,直接可以引用。我们可以在目录看到这些区域配置文件,这些区域配置文件存在于/usr/lib/firewalld/zones目录中,firewalld中还有一个目录/etc/firewalld/zones,firewalld使用规则时,会首先到/etc/firewalld目录中查找,如果可以找到,那么就直接使用,否则会继续到/usr/lib/firewalld目录中查找。
firewalld这种配置文件结构的主要租用是:/usr/lib/firewalld/存放firewalld给提供的通用配置文件,如果我们想修改配置, 那么可以copy一份到/etc/firewalld目录中,然后再进行修改。这样有两个好处:首先我们日后可以非常清晰地看到都有哪些文件是我们自己创建或者修改过的,其 次,如果想恢复firewalld给提供的默认配置,只需要将自己在/etc/firewalld目录中的配置文件删除即可,非常简单,而不需要像其他很多软件那样在修改之前还 得先备份一下,而且时间长了还有可能忘掉之前备份的是什么版本(看来我的手动备份有点多余)。
默认的区域有9个:block、dmz、drop、external、home、internal、public、trusted、work,默认的规则策略如下:
block:阻止任何传入的网络数据包,除非与流出的流量相关
dmz:dmz也叫非军事区,内外网络中间的网络,起到缓冲作用,拒绝流量进入,除非与流出有关
drop:任何传入的网络连接都阻止,除非与流出有关
external:拒绝流量进入,除非与流出有关,与ssh相关,则允许
home:拒绝流入的流量,除非与流出的流量相关;如果与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许
internal:和home差不多
public:拒绝流入,除非与流出相关;如果与ssh、dhcpv6-client服务相关,则允许
trusted:所有网络连接都接受
work:拒绝流入,除非与流出相关;如果与ssh、ipp-client与dhcpv6-client服务相关,则允许
区域命令相关参数:
--get-default-zone:查询默认的区域名称
--set-default-zone=<区域名称>:设置默认的区域
--get-active-zones:显示当前正在使用的区域与网卡名称
--get-zones:显示总共可用的区域
--get-services:显示预先定义的服务
--new-zones:新增区域
--delete-zone=:删除区域
,