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

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

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

  • 整个操作系统。
  • 一个网络接口。
  • 单一应用程序。

答案1

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

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

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

答案2

限制单个接口很容易,但全局速率限制需要更复杂的规则,基于应用程序的规则也是如此。我并不是说这做不到,但它需要对网络内部进行大量挖掘。

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

如果你真的想设置基于应用程序的规则,你应该研究一些防火墙框架,例如岸墙,它们具有配置整形的辅助功能。即使有了这些工具,也需要相当多的深思熟虑和测试才能将其落实到位。临时做这样的事情还不是那么容易。

答案3

如果您想限制特定 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

相关内容