我已经在 OpenBSD 4.3 上运行基于 pf 的过滤路由器大约一年了。我当前的任务是建立一个新的网段来托管我们的外部站点。
我的目标是设置在这个网段中的机器不应该比互联网上的机器更多地访问我们网络的其余部分。
总的来说,这是非常接近的。我们让 DNS 服务器将其外部视图返回到该网段。pf 不会将此段的流量路由到 Internet 接口以外的任何段。但是,如果它们也被允许访问互联网,我似乎无法阻止它将数据包路由到路由器。
例如
挡住 ... # 将 dmz 流量标记为仅允许访问 Internet 传入 $dmz_if inet 所有标签 INTERNET_ONLY ... # 确保只有允许访问 Internet 的流量通过 阻止 $internet_if 屏蔽 $internet_if 标记的 INTERNET_ONLY 标记 ROUTE_INTERNET 通过 $internet_if 标记 ROUTE_INTERNET
我希望能够添加
从 $(dmz_if:network) 屏蔽 $local_if
阻止任何来自路由器的数据包,但似乎本地主机的数据包不会在 lo0 上发出。我怎样才能阻止他们?
我是否误解了这一切是如何运作的?有没有我错过的选项来允许这个?
有什么建议么?
lo0 是从您的路由器到您的路由器的本地流量。就像您使用 IP 127.0.0.1 连接时一样。
如果您想阻止您的 DMZ 连接到您的路由器,您需要连接到
block in on $dmz_if
您的路由器 IP这现在已经解决了我的问题,并且已经过测试。
对此的“用户模型”是为每个网络连接考虑具有一系列接口的计算机(包括本地接口、加密接口等),并且每次数据包通过接口时都会应用数据包过滤器。如果您标记一个数据包,该标记会在数据包在输出接口上被过滤时保留在该数据包中。