阻止BitTorrent

在一个小型办公networking上,如何阻止或严重减慢BitTorrent和类似的对等(P2P)服务?

在search服务器故障时,我无法find一个问题,作为最好的技术思想的凝聚点。 现有的问题都是关于具体情况,主要答案是社会/法律性质的。 这些都是有效的方法,但是我怀疑,纯粹的技术讨论会对很多人有用。 假设您无法访问networking上的计算机。

随着encryption使用P2Pstream量的增加,似乎有状态的数据包检测正变成一个不太可行的解决scheme。 对我来说似乎有意义的一个想法是简单地通过IP限制大量用户,而不pipe他们正在发送或接收什么 – 但似乎目前很多路由器并不支持该function。

你怎么能节制P2P / BitTorrentstream量?

    我想大多数提出“如何lockingX”的方法显然是错误的。 这是不好的枚举。

    现在让我冷落下来,但是我认为你应该(就像你使用“正常”的防火墙一样)只允许匹配已知stream量的stream量。 但现在你有一个问题,SSLencryption的HTTPstream量并不容易。 有些解决scheme实际上是一个中间人攻击的人,所以如果你不能完全控制客户和签署合同,而人们接受被窃听的合同,你可能会面临法律责任(在一些国家是完全被法律禁止的,一些国家允许在合同中使用这些条款)。

    对我来说,你想区分P2P和正常stream量的唯一理智的级别是应用程序防火墙。 IP或传输层上的防火墙无法正确地做出有关有效负载是否有效的决定。

    在那里,试过了。 只是不会工作。 在SOHO环境下,比如我工作的地方,没有办法知道什么是P2P,什么是“合法”的stream量,因为我们刚才的设备并不是那么复杂。 我唯一能find的就是更“手动”的方式。

    我的监控系统(Nagios)在防火墙的外部接口上的stream量保持在预设点以上超过连续两个检查周期(间隔5分钟)时提醒我。 发生这种情况时,我需要查看防火墙(Smoothwall)pipe理界面上的实时stream量显示,如果我看到一台具有相当连续stream量的特定计算机,则可以远程查看该计算机上正在运行的计算机。 如果我看到我知道的是一个P2P客户端,我会为该用户付费。

    这是非常粗鲁的,但这是一个非常重要的点, 这是我所能提供给我的最好的办法

    我的首选方法是configuration客户端节制自己。 这似乎是最简单有效的方法。 几乎每个客户都支持它。 我使用古老的ctorrent客户端,甚至通过CTCS扩展支持dynamic可configuration的节stream。

    如果客户或pipe理用户拒绝这样做,而社会工程失败,我直奔QFQ或WF2Q 。 没有50美元的SOHO路由器不支持,这是一个技术和复杂的操作, 你得到你所支付的 。 我build立了我自己的Alix或Soekris供电的路由器(成本通常在100美元左右,在eBay上使用过的部件),所以我可以运行m0n0-wall , pfSense或FreeBSD (我select的操作系统,尽pipe没有理由不能使用Linux )。 最近我一直在研究RouterStation作为这些SBC的更便宜的select。

    在我的老雇主的ResTek,pipe理一个大型宿舍networking的聪明人不得不处理这个问题。 他们结束了一个数据包整形器,相对于正常的HTTPstream量,对BTstream量进行了优先级sorting。 数据包仍然通过,分享仍然发生,但它只花了1岁的狗。 据他们说,它工作得很好。

    即使有encryption的有效载荷,BTstream量的形状也是可以识别的。 许多其他节点有点持久的连接。 这仍然是可以避免的,所以并不完美。


    1:那他们做了什么? Schlep过渡到校园WLAN到BT的东西。 所以当DMCA的通知进入时,强制门户已经logging了他们的login信息和IP信息,所以我们知道该和谁说话。

    在SOHO的环境?

    • l7-filter是Linux iptables的扩展,它允许防火墙规则匹配数据包中的应用层数据。 将其添加到现有的iptables防火墙中
    • 从用户的机器上删除BitTorrent客户端。