如何限制网络带宽?

fic*_*ion 96 linux networking qos bandwidth

我们在远程服务器上托管一个应用程序。我们需要在有限的网络带宽下对其进行测试(对于 Internet 访问不佳的用户)。

我可以限制我的互联网带宽吗?例如:每秒 128 KB。

此问题侧重于 Linux 上的系统范围或容器范围的解决方案。有关特定于进程或会话的解决方案,请参阅限制特定 shell 的 Internet 带宽使用

Nik*_*ley 91

您可以使用tc位于http://man7.org/linux/man-pages/man8/tc.8.html 的名为Man page的命令来限制接口上的网络带宽

对于简单的脚本,请尝试Wondershaper

使用 tc 的示例: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540

  • 链接到 atmail.com 提示为我提供用户名/密码授权... :( (6认同)

Ede*_*den 86

正如之前的回答所述,wondershaper 可以轻松完成这项工作。我在上面的链接中包含了Jwalanta Shrestha 的信息

apt-get install wondershaper
Run Code Online (Sandbox Code Playgroud)

Wondershaper - 一个简单的工具来限制特定接口的带宽。

$ sudo wondershaper {interface} {down} {up}
Run Code Online (Sandbox Code Playgroud)

{down} 和 {up} 是以 kpbs 为单位的带宽

例如,如果您想将 eth1 接口的带宽限制为 256kbps 下行链路和 128kbps 上行链路,

$ sudo wondershaper eth1 256 128
Run Code Online (Sandbox Code Playgroud)

要清除限制,

$ sudo wondershaper clear eth1 
Run Code Online (Sandbox Code Playgroud)

  • Wondershaper 非常过时:[Wondershaper Must Die (Bufferbloat.net)](https://www.bufferbloat.net/projects/bloat/wiki/Wondershaper_Must_Die/) (6认同)
  • 如果您正在共享移动数据并且有合理使用限制(并且您必须在之后购买新的捆绑包,Lycamobile 的情况),这将非常有用。在像 YouTube 这样的视频流媒体网站上,如果您有足够的带宽,则可以直接加载整个视频。如果您限制带宽,视频将自动切换到低分辨率并仅下载您正在观看的内容,如果您不想观看所有内容,则可以节省数据。 (3认同)
  • 理想情况下,您应该只编辑原始答案,而不是添加新答案。这是标准政策。无论如何,为您的答案+1,因为它确实为答案添加了信息。 (2认同)
  • 对于上传大文件也很有用,因为它不仅限制带宽,而且优先考虑流量。这样在上传 10gb 文件时您仍然可以使用 SSH。 (2认同)
  • 如果有人认为 Wondershaper 必须死,他们可以使用 OpenWrt 发布答案,然后在此处的评论中链接到它吗?这个答案是最容易理解的实现,它是一个旧工具对我来说并不重要。我快速浏览了 OpenWrt(根据文章“Wondershaper Must Die”的建议,我认为至少需要半个小时阅读文档并四处寻找才能弄清楚如何复制这个简单的答案。 (2认同)

Emr*_*ici 10

根据某些标准限制网络资源是QoS的主题。有几种不同的方法可以控制 Linux 系统上的用户流量。

Bert Hubert有一个关于 Linux 上高级路由技术和流量控制的很好的 How-to 。

  • 您指的是其中的特定部分吗? (2认同)

Ulr*_*arz 7

如果您已经在某处安装了 Apache,则可以使用mod_bw,它也适用于代理连接(即 Apache 只是将所有内容转发到正确的服务器,但会减慢响应速度。)


ibr*_*him 7

您还可以使用 iptables hashlimit 模块。这是一个简单的例子:

iptables -A FORWARD -m hashlimit --hashlimit-above 512kb/sec --hashlimit-burst 1mb --hashlimit-mode srcip,dstip --hashlimit-name bwlimit -j DROP

该规则将通过 FORWARD 链的流量限制为 512kb/sec,每个源和目标对的突发流量为 1mb。

查看 iptables 手册的 hashlimit 部分以获取更多信息。

http://ipset.netfilter.org/iptables-extensions.man.html


小智 6

Dummynet做你想做的事,你甚至可以控制延迟、随机丢包等等。