it-swarm.cn

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

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

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

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

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

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

42
Ressu

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

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

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

66
SMeznaric

如果要限制特定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
5
billtian