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

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

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

我已经尝试过这些方法(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

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

这是否没有我想象的那么简单?我是否忽略了一些显而易见的东西?

答案1

因为它指定了单个 IP,所以您需要用子网来写入它:

pass in from 111.111.0.0/16

man pf.conf应该列出一些定义范围和块的方法。附注:注意确保没有drop quick任何规则多于你的pass,没有规则以下可能会意外匹配并阻止您的数据包。

答案2

如果您想检查子网的 IP 范围,请使用以下 IP 计算器链接。

https://www.calculator.net/ip-subnet-calculator.html?cclass=any&csubnet=24&cip=111.90.100.200&ctype=ipv4&printit=0&x=90&y=14

例如,如果你的 IP 是111.90.100.200你想要的范围是111.90.100.1-111.90.100.254那么你需要像这样写你的 IP111.90.100.0/24或者111.90.100.200/24

如需了解进一步的范围,请使用 IP 计算器链接。

相关内容