数据包过滤器配置用于限制流向本地主机的流量

数据包过滤器配置用于限制流向本地主机的流量

我在 OpenBSD 4.3 上运行基于 pf 的过滤路由器已有大约一年了。我目前的任务是设置一个新的网络段来托管我们的外部网站。

我的目标是,在这个网段上设置的机器对我们网络其余部分的访问权限不应比互联网上的机器多。

总体而言,这非常接近。我们让 DNS 服务器将其外部视图返回到此网络段。pf 不会将此段的流量路由到除互联网接口之外的任何段。但是,如果允许数据包进入互联网,我似乎无法阻止它将数据包路由到路由器。

例如

阻挡
...
# 将 dmz 流量标记为仅允许流向互联网
传递 $dmz_if inet all 标签 INTERNET_ONLY
...
# 确保只允许互联网流量通过
在 $internet_if 上屏蔽
在 $internet_if 上阻止标记 INTERNET_ONLY 标签 ROUTE_INTERNET
在 $internet_if 上传递标记的 ROUTE_INTERNET

我希望能够添加

从 $(dmz_if:network) 阻止 $local_if

阻止任何数据包进入路由器,但似乎本地主机的数据包不会从 lo0 发出。我该如何阻止它们?

我是否误解了这一切是如何运作的?是否有我错过的选项可以允许这样做?

有什么建议么?

答案1

lo0 是从路由器到路由器的本地流量。例如,当您使用 IP 127.0.0.1 进行连接时。
如果您想阻止 DMZ 与您的路由器通信,您需要block in on $dmz_if将路由器 IP 设置为

答案2

这现在已经解决了我的问题,并且已经过测试。

# 记录你的内部 IP 地址
internal_ip_addr="{" $dmz_if:0 "," $office_if:0 "," $pms-servers_if:0 "}"

阻挡
...
# 将 dmz 流量标记为仅允许流向互联网
传递 $dmz_if inet all 标签 INTERNET_ONLY
...
# 确保只允许互联网流量通过
在 $internet_if 上屏蔽
在 $internet_if 上阻止标记 INTERNET_ONLY 标签 ROUTE_INTERNET
在 $internet_if 上传递标记的 ROUTE_INTERNET
...
# 阻止针对我的内部 IP 地址的流量。
在 $dmz_if 上阻止从任意位置到 $internal_ip_addr 的

对此的“用户模型”是考虑具有一系列接口的计算机,这些接口用于每个网络连接(包括本地、加密等),并且每次数据包通过接口时都会应用数据包过滤器。如果您标记数据包,则当数据包在输出接口上被过滤时,该标记仍与数据包一起保留。

相关内容