我可以创build一个涉及MAC地址而不是IP的pf规则吗?

标题是自解释的。

我想创build规则在pf上运行在OpenBSD 4.9中的特定MAC地址,类似

pass in on eth0 from mac 00:04:34:5f:34:33 to mac 34:32:34:06:5e:22 

我已经阅读了这个 ,但它并没有帮助!

如果我记得好,你不能。 只有在网桥上进行过滤时,才能过滤MAC地址

正如Mandrake所指出的,你不能直接在PF中过滤MAC地址(这是一个IP包filter,它不知道这个“以太网”的东西)。

你可以做什么,如果你的系统是桥梁,是基于MAC地址标记数据包,然后根据标记进行过滤。

从常见问题解答 :

标记以太网帧

如果执行标记/过滤的机器也可以作为网桥(4),则可以在以太网级执行标记。 通过创build使用tag关键字的bridge(4)过滤规则,可以根据源MAC地址或目标MAC地址对PF进行过滤。 Bridge(4)规则是使用ifconfig(8)命令创build的。
例:

# ifconfig bridge0 rule pass in on fxp0 src 0:de:ad:be:ef:0 tag USER1

然后在pf.conf中:

pass in on fxp0 tagged USER1