我在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。 如果您为数据包添加标签,那么在输出接口上对数据包进行过滤时,该数据包将保留在数据包中