如何在OpenBSD上configuration“Reflexive ACL”?

我的U-Verse调制解调器被称为“自反ACL”

Reflexive ACL:当启用IPv6时,您可以启用Reflexive Access Control Lists来拒绝入站IPv6stream量,除非此stream量是由于返回传出数据包(除非通过防火墙规则configuration)。

这似乎是一个非常好的方法,不必在路由器后面的每台计算机上维护一个防火墙,从而获得IPv6地址。 这听起来像是一个NAT,这对我的小家庭networking来说就是我现在想要的。

现在我的调制解调器就像路由器一样,所以我正在configuration一个OpenBSD路由器来完成这个任务。 我已经获得了IPv6的支持,所有这些以及我的OpenBSD路由器将通过rtadvd发布IPv6地址。 现在我想让人们不能通过IPv6即时访问我的本地networking。

在OpenBSD 5.0中,我怎样才能最好的使用pf的Reflexive ACL呢?

这将做到:

pass on $int_if all pass out on $ext_if all block in on $ext_if all 

这将通过除外部接口将丢弃所有传入数据包的所有通信。 OpenBSD默认是有状态的,所以如果它匹配一个现有的连接,它将允许数据包进入。

这听起来像对我有状态的过滤。

OpenBSD的pf.conf手册页介绍了关于保持状态的以下内容:

默认情况下,pf(4)会对数据包进行有状态的过滤:在数据包第一次符合传递规则时,会创build一个状态条目。 数据包filter检查每个数据包以查看它是否与现有状态相匹配。 如果是这样的话,数据包将被传递,而不会对任何规则进行评估 连接closures或超时后,状态条目将自动删除。

pf将默认保持状态。