当前位置: 首页>>技术问答>>正文


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

, ,

问题描述

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

  • 整个OS。

  • 一个网络接口。

  • 单一应用。

最佳解决方案

限制单一界面非常简单,但全局速率限制与基于应用程序的规则一样需要更复杂的规则。我并不是说它不能完成,但它需要相当深入地挖掘网络的内部。

这是一个快速的How to设置每接口限制

如果您确实想要设置基于应用程序的规则,则应该查看一些防火墙框架,如shorewall,它们具有辅助功能来配置整形。即使使用这些工具,也需要相当多的预谋和测试才能实现。做这样的事情ad-hoc还不是那么容易。

次佳解决方案

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

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

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

第三种解决方案

如果你想限制一个特定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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/925.html,未经允许,请勿转载。