firewall 的这么多zone的优先级

zone 介绍

firewall的zone有 block dmz docker drop external home internal public trusted work等,除此之外,还有自定义的zone。每个zone就是一套规则集。

多个活动zone下的流量匹配优先级顺序

有那么多zone,对于一个具体的请求来说应该使用哪个zone(哪套规则)来处理呢?这个问题至关重要,如果这点不弄明白其他的都是空中楼阁,即使规则设置的再好,不知道怎样用、在哪里用也不行。

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址

2、interface,接收请求的网卡

3、firewalld.conf中配置的默认zone

4、默认规则,丢弃

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个,也就是在firewalld.conf中配置的默认zone

这里做下特别说明:

假设某个来源IP访问匹配了 某个定义了source的zone,它接着在zone中找service或port是否有匹配的规则设置,如果有则按照zone 中的targe设置来决定是否放行。没有匹配的就找第二个优先级的zone去查找service 或port 规则

target 有(default , accept ,drop ,%%REJECT%%)几种

相关命令说明

#列出本机所有zone
firewall-cmd --get-zones
#列出默认zone
firewall-cmd --get-default-zone
#设置默认zone
firewall-cmd --set-default-zone
#列出活动的zone,可以有多个
firewall-cmd --get-active-zones
#显示默认zone的所有配置信息(Permanent)
firewall-cmd --list-all

Leave a Reply

Your email address will not be published. Required fields are marked *