PF:阻止所有,但一个子网防火墙规则?

bal*_*ure 2 freebsd pf filter block packet

我正在尝试做一些我认为相对简单的事情:阻止所有到测试服务器的流量,而不是我公司的子网。

我已经尝试了这些方法(111.111.0.0 是我在这个例子中的占位符),但似乎只有块有效:

block in all
pass in from 111.111.0.0
pass in on en0 from 111.111.0.0
pass in all from 111.111.0.0
Run Code Online (Sandbox Code Playgroud)

这些传入的行似乎都不起作用(我知道其中一些可能会引发语法错误,因为我只是抓取了我在测试时注释掉的所有行)。

这比我想象的要简单吗?我错过了一些明显的东西吗?

pet*_*ete 5

因为它指定了一个单一的ip,所以你需要用子网来写它:

pass in from 111.111.0.0/16
Run Code Online (Sandbox Code Playgroud)

man pf.conf应该列出一些定义范围和块的方法。一个侧面说明,一定要确保没有drop quick一种规则之上pass,并没有规则之下,可能意外匹配并阻止你的数据包。