![阻止 BitTorrent](https://linux22.com/image/552910/%E9%98%BB%E6%AD%A2%20BitTorrent.png)
怎样才能在小型办公网络上阻止或严重减慢 BitTorrent 以及类似的点对点 (P2P) 服务的速度?
在搜索服务器故障时,我找不到一个可以作为最佳技术的对此的想法。现有的问题都是关于具体情况的,主要答案是社会/法律性质的。这些都是有效的方法,但我认为纯技术讨论对很多人来说都是有用的。让我们假设您无法访问网络上的机器。
随着 P2P 流量中加密的使用越来越多,状态数据包检查似乎不再是一种可行的解决方案。我认为一个可行的想法就是通过 IP 限制流量大的用户,无论他们发送或接收什么——但目前似乎没有多少路由器支持此功能。
如何限制 P2P/BitTorrent 流量?
答案1
我认为大多数询问“如何锁定 X”的方法都是完全错误的。这是坏处枚举。
现在去给我差评吧,但我认为你应该(就像你使用“普通”防火墙一样)只允许与已知良好流量相匹配的流量。但现在你有一个问题,SSL 加密的 HTTP 流量并不容易被允许。有解决方案可以有效地进行中间人攻击,因此如果你不能完全控制客户端和签署合同,人们会接受被监视,你可能会面临法律指控(在某些国家,法律完全禁止这样做,但有些国家允许在合同中出现此类条款)。
对我来说,唯一一个可以区分 P2P 和正常流量的合理层级是应用防火墙。IP 层或传输层的防火墙无法合理地判断实际负载是否是有效请求。
答案2
去过那里,试过。就是不行。在 SOHO 环境中,比如我工作的地方,没有办法分辨什么是 P2P,什么是“合法”流量,因为我们的设备不够先进。我发现唯一有价值的方法是更“手动”的方式。
当防火墙外部接口上的流量在连续两个检查周期(间隔 5 分钟)内保持在预设点以上时,我的监控系统 (Nagios) 会向我发出警报。发生这种情况时,我会查看防火墙 (Smoothwall) 管理界面上的实时流量显示,如果我看到某台机器有相当连续的流量往返于互联网,我会远程查看该机器上运行的内容。如果我看到某个我知道是 P2P 客户端的东西,我会去拜访那个用户。
这很粗糙,但这是很重要的一点,这是我能做的最好的事情。
答案3
我首选的方法是将客户端配置为自我节流。这似乎是最简单、最有效的方法。几乎每个客户端都支持它;我使用古老的流转客户端,甚至它支持通过动态配置节流中控系统扩大。
如果客户或管理用户拒绝这样做,并且社会工程学失败,我会直接量子阱或者2Q。大多数 50 美元的 SOHO 路由器都不支持它,这是一个技术性很强且复杂的操作,你得到你所付出的.我自己建造阿利克斯或者索克里斯有源路由器(价格一般在 100 美元左右,配件都是从 eBay 上买的),这样我就可以运行m0n0-墙,普富思或直FreeBSD(我选择的操作系统,虽然没有理由不能使用 Linux)。最近我一直在研究路由站作为这些的更便宜的替代品单板计算机。
答案4
在 SOHO 环境中?
- l7 过滤器是 Linux iptables 的一个扩展,它允许防火墙规则匹配数据包中的应用层数据。将其添加到现有的 iptables 防火墙中...
- 从用户的机器中删除 BitTorrent 客户端。