各个区域的情况如何firewalld
是否针对 ICMP 数据包进行了配置?它们对于接口和源的行为是否不同?
1.firewalld如何过滤ICMP数据包?
我认为主要区域的作用正如它们的名字一样,
drop : DROP
block : REJECT
trust : ACCEPT
但其他区域呢?public
, external
, work
, internal
, home
?它们默认接受还是拒绝 ICMP 数据包?
2. 根据区域是由接口分配还是由源分配,此功能是否有所不同?
172.28.0.2
例如,在这两种设置中,源 IP 是否存在差异?
some-zone
interfaces: eno1
sources:
services: ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
与
some-zone
interfaces:
sources: 172.28.0.0/16
services: ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
答案1
1.firewalld 如何处理各个区域中的 ICMP 数据包?
来自红帽的firewalld文档,特别是本节,标题为:5.15。使用“丰富语言”语法配置复杂的防火墙规则:
icmp-block 使用该操作拒绝内部
(我的重点是指出不使用“drop”和“accept”)。默认区域似乎不会阻止任何 ICMP 类型 - 请参阅 /usr/lib/firewalld/zones 中的 XML 文件以及缺少的条目<icmp-block>
。
要查看任何基于区域的 icmp 块的当前状态,请运行:firewall-cmd --list-all-zones
并查找该icmp-blocks:
条目。
2. 根据区域是由接口分配还是由源分配,此功能是否有所不同?
不直接。interfaces
并sources
告诉firewalld选择相应的区域,然后该区域将应用(一些或没有)icmp块。看:http://www.firewalld.org/documentation/man-pages/firewall-cmd.html其中谈到了它:
将接口绑定到区域意味着该区域设置用于限制通过接口的流量。
和
将源绑定到区域意味着该区域设置将用于限制来自该源的流量。
答案2
$ grep -i icmp /lib/firewalld/zones/*.xml
$ rpm -q firewalld
firewalld-0.4.4.1-1.fc24.noarch
因此它将由该区域的默认目标处理。请注意,这man firewall.zone
告诉我们没有明确默认值的区域将拒绝数据包。
也应该是GUI 中清除。