限制已启动应用程序的互联网带宽

限制已启动应用程序的互联网带宽

这个问题与此类似:如何限制互联网带宽?。但wondershaper无法trickle限制已启动应用程序的互联网带宽。那么,如何限制已启动应用程序的互联网带宽(但仅限于一个应用程序,而不是整个系统)?:)

答案1

对于一般情况,理论上在内核中是可行的,使用 netfilter 的所有者扩展。我可以--pid-owner看到iptablesdie.net的手册页,但它说它与 SMP 不兼容 :(

在我自己的系统中,10.04,手册上没有这样的选项 :(。所以我相信我们这次运气不佳 ;(。也许--pid-owner将来某个时候会出现另一个版本的选项。在此之上的 GUI 并不是什么难事。

第一步必须针对 Linux 本身和 iptables 进行。

至于更具体的流量类型,例如 HTTP。应该有办法使用代理进行调整,但可能需要一些黑客攻击,因为这种用例并不经常出现。

答案2

它不是特别有用,但(我知道的)真正有效限制带宽的唯一方法是使用数据包整形或排队技术。我知道的唯一真正深思熟虑的方法是PacketShaper 系列设备现归 Bluecoat 所有

我自己已经好几年没有使用它们了,但是我每天都使用 Bluecoat 代理,因此我一直关注 PacketShaper 系列的开发。

它们价格昂贵,但功能却非常强大。它们根本不使用队列 - 它们动态操纵 TCP 窗口大小以限制 TCP 对对话的带宽。在最新版本中,它们还具有应用程序感知功能,因此您可以说“限制 iPlayer 和 Youtube,但让其他所有内容通过”。

我确实只是触及了这些设备功能的表面,但由于它们与 Ubuntu 无关,所以我不会再讨论了,因此恐怕这个答案并不完全相关。

答案3

我没有尝试过,但这应该可行......

带宽限制方法

相关内容