防火墙区域和 ICMP 数据包

防火墙区域和 ICMP 数据包

各个区域的情况如何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. 根据区域是由接口分配还是由源分配,此功能是否有所不同?

不直接。interfacessources告诉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 中清除

相关内容