如何限制下载/上传带宽?

如何限制下载/上传带宽:

  • 整个OS。
  • 一个网络接口。
  • 单一申请。

限制单个界面很容易,但全局速率限制需要更复杂的规则,基于应用程序的规则也是如此。 我并不是说它无法完成,但它需要对网络的内部进行相当多的挖掘。

这是一个快速如何设置每个接口限制

如果您真的想要设置基于应用程序的规则,您应该查看一些防火墙框架,例如shorewall ,它具有帮助function来配置整形。 即使使用这些工具,它也需要经过深思熟虑和测试才能实现。 做这样的事情并不是那么容易。

虽然这是一个老问题,但我在寻找同一问题的答案时遇到了这个问题。 操作系统和接口限制已在前面的答案中解决,因此这里有一种设置应用程序特定限制的方法。 使用名为trickle的应用程序。 所以做sudo apt-get install trickle 。 您可以通过运行限制特定应用的上传/下载

trickle -u (upload limit in KB/s) -d (download limit in KB/s) application

这将启动具有指定限制的应用程序。 您还可以指定“平滑”时间,以便在您的应用程序具有带宽消耗突发的情况下在所需时间段内进行涓流采样,并且只要平均值在您的规范范围内,您就希望允许突发。

如果要限制特定IP地址的带宽,可以使用以下命令:

 tc qdisc add dev eth1 root handle 1: htb default 12 tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10 tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11