参考节 29.3.3.3。管理FreeBSD手册的ICMP ,我看到以下文本,其中包括:
一种解决方案是让所有ICMP通过本地网络通过在停止网络外部所有探针时:
pass inet proto icmp from $localnet to any keep state
pass inet proto icmp from any to $ext_if keep state
我将其读为:&quot&quot源自$ localnet到任何主机/端口并保留状态的IPv4 ICMP数据包。通过从任何主机/端口到$ ext_if的IPv4 ICMP数据包,并保持状态。
这是如何从网络外部进行探测的?我的理解有限,但这使我相信第二个规则实际上是允许网络外部的探测。
是,如果没有,我应该如何阅读该规则?
从我所看到的(而且我绝对是不是 freebsd或pf Guy),即您在步骤 29.3中创建的基本pf.cfg
。3 包括block in all
。如果我正确理解,这基本上会使PF过滤器成为默认的贬值,并且仅允许明确允许的流量(使用pass
规则)。因此,pass
规则将允许所有出站 ICMP数据包(及其答复),允许所有具有$ ext_ of $ ext_if的目标IP ,所有其他ICMP数据包将被默认的block in all
阻止。
这种特定的设置在非幼稚网关中最有意义,因为当NAT实际上是外部节点无法ping内部节点时,无论是否启用了这些规则。
如果有可能,请随时纠正我。