Freebsd 上的实时第 7 层(http.request.uri)过滤

Freebsd 上的实时第 7 层(http.request.uri)过滤

我有一个 freebsd 9.0 路由器,流量为 250-300Mbit/s,需要过滤一小段页面列表(http.request.uri)。

我不关心 tor、匿名器、代理等。只是阻止从我的网络直接访问这些页面。

怎么做?仅将 http 重定向到 squid 或任何其他 http 代理?

我知道 tcpdump -ddd 和 bpf netgraph node。但是 http 对我来说太难了。

答案1

如果你不想使用代理(例如通过 ipfw 规则将所有流量透明地重定向到代理 - 用户不会注意到任何事情)- 为了解决这个问题,你需要一些能够深度数据包检测

检查:http://sourceforge.net/projects/ipfw-classifyd/它应该可以做你想做的事,使用 ipfw 进行“第 7 层过滤”。(或者也可以使用 pf)

或者,下载pfSense(基于 freebsd 的优秀防火墙)并查看如何使用它。根据文档,(http://doc.pfsense.org/index.php/Traffic_Shaping_Guide#Layer_7) 它的用途ipfw-classifyd

附言:只是想知道为什么你不使用 pf 而是 ipfw+ngnat)

答案2

如果列表很小,您只需将防火墙中的 IP 列入黑名单即可。

当然,您必须不时检查页面是否已移至另一个网站。您可以使用 cron 脚本来执行此操作。

相关内容