我有一个freebsd 9.0路由器与250-300Mbit / s的stream量,并需要过滤小页面(http.request.uri)。
我不关心tor,anonymizers,代理等。只是防止从我的networking直接访问此页面。
怎么样? 只有redirecthttp到鱿鱼或任何其他的http代理?
我知道tcpdump -ddd和bpf netgraph节点。 但是http对我来说很难。
如果你不想使用代理(例如透明地将所有stream量通过ipfw规则redirect到代理 – 用户不会注意到任何东西) – 对于解决scheme,您需要一些能够深度包检测的东西 。
检查: http : //sourceforge.net/projects/ipfw-classifyd/它应该做你想要的,“layer7过滤”与ipfw。 (或者也可以用pf)
或者,下载pfSense (基于freebsd的优秀防火墙)并检查如何使用它。 根据文档( http://doc.pfsense.org/index.php/Traffic_Shaping_Guide#Layer_7 ),它使用ipfw-classifyd 。
Ps:只是想知道为什么你不使用pf而不是ipfw + ngnat)
如果列表很小,则可以将防火墙中的IP列入黑名单。
当然,你必须不时地检查,如果页面移动到另一个网站。 你可以用cron脚本来做到这一点。