数据包筛选器configuration限制stream量到本地主机

我在OpenBSD 4.3上运行一个基于pf的过滤路由器已经有一年了。 我目前的任务是build立一个新的networking来托pipe我们的外部网站。

我的目标是在这个网段build立的机器不应该比在互联网上的机器更多地访问我们networking的其余部分。

总的来说,这是非常接近的。 我们有DNS服务器将其外部视图返回到这个网段。 pf不会将来自此网段的stream量路由到除互联网接口以外的任何网段。 但是,我似乎无法阻止它将数据包路由到路由器,如果他们也被允许上网。

例如

阻止
 ...
 #标记dmzstream量作为只允许互联网
传入$ dmz_if inet所有标记INTERNET_ONLY
 ...
 #确保只有通过互联网的stream量通过
阻止$ internet_if
屏蔽$ internet_if标记的INTERNET_ONLY标签ROUTE_INTERNET
在internet_if上标记ROUTE_INTERNET

我希望能够添加

 $(dmz_if:network)阻止$ local_if

阻止任何数据包形成路由器,但似乎本地主机的数据包不lo0上出去。 我怎样才能阻止他们?

我误解了这一切是如何工作的? 有没有我错过了这个选项?

有什么build议么?

lo0是从您的路由器到您的路由器本地stream量。 就像当你使用IP 127.0.0.1进行连接一样。
如果你想阻止你的DMZ谈话连接到你的路由器,你需要block in on $dmz_if到你的路由器IP

这现在解决了我的问题,并经过testing。

 #logging你的内部IP地址
 internal_ip_addr =“{”$ dmz_if:0“,”$ office_if:0“,”$ pms-servers_if:0“}”

阻止
 ...
 #标记dmzstream量作为只允许互联网
传入$ dmz_if inet所有标记INTERNET_ONLY
 ...
 #确保只有通过互联网的stream量通过
阻止$ internet_if
屏蔽$ internet_if标记的INTERNET_ONLY标签ROUTE_INTERNET
在internet_if上标记ROUTE_INTERNET
 ...
 #阻止stream量指向我的内部IP地址。
在任何$ internal_ip_addr中禁止$ dmz_if

“用户模型”是考虑计算机为每个networking连接提供一系列接口(包括本地,encryption等),并且每次数据包通过接口时都会应用数据包filter。 如果您为数据包添加标签,那么在输出接口上对数据包进行过滤时,该数据包将保留在数据包中