如何在Linux上限制网络带宽

您所在的位置:网站首页 查看网卡带宽命令限制 如何在Linux上限制网络带宽

如何在Linux上限制网络带宽

2024-05-11 08:35| 来源: 网络整理| 查看: 265

如何在Linux上限制网络带宽

如果您经常在 Linux 桌面上运行多个网络应用程序,或者在家里的多台计算机之间共享带宽,您将希望更好地控制带宽使用。否则,当您使用下载器下载大文件时,您的交互式 SSH 会话可能会变得缓慢到无法使用的程度。或者,当您通过 Dropbox 同步大文件夹时,您的室友可能会抱怨她计算机上的视频流变得不稳定。

在本教程中,我将介绍两种在 Linux 上限制网络流量速率的不同方法。

对 Linux 上的特定应用程序进行速率限制

限制网络流量速率的一种方法是限制特定网络应用程序消耗的带宽。这可以通过名为 trickle 的命令行工具来实现。 trickle 命令允许您通过在运行时预加载速率受限的套接字库来调整给定程序的流量。 trickle 的一个优点是它纯粹在用户空间中运行,这意味着您不需要 root 权限来限制程序的带宽使用。为了兼容trickle,程序必须使用不带静态链接库的socket接口。当您想要限制没有内置带宽控制功能的程序时,trickle 会很方便。

要在 Ubuntu、Debian 及其衍生版本上安装 trickle:

$ sudo apt-get install trickle

要在 Fedora 或 CentOS/RHEL(使用 EPEL 存储库)上安装 trickle:

$ sudo yum install trickle

trickle 的基本用法如下。简而言之,您在尝试运行的命令前面添加了 trickle (带有速率)。

$ trickle -d -u

这会将 的下载和上传速率限制为指定值(以 KBytes/s 为单位)。

例如,将 scp 会话的最大上传带宽设置为 100 KB/s:

$ trickle -u 100 scp backup.tgz [email _host.com:

如果需要,您可以使用以下命令创建自定义启动器来设置 Firefox 浏览器的最大下载速度(例如 300 KB/s)。

trickle -d 300 firefox %u

最后,trickle 可以在守护程序模式下运行,在该模式下,它可以限制通过 trickle 启动的所有正在运行的程序的聚合带宽使用情况。要将 trickle 作为守护进程启动(即 trickled):

$ sudo trickled -d 1000

一旦 trickled 守护进程在后台运行,您就可以通过 trickle 启动其他程序。如果您使用 trickle 启动一个程序,则其最大下载速率为 1000 KB/s。如果您使用 trickle 启动另一个程序,则每个程序的速率将限制为 500 KB/s 等。

对 Linux 上的网络接口进行速率限制

控制带宽资源的另一种方法是在每个接口的基础上强制实施带宽限制。当您与其他人共享上游互联网连接时,这非常有用。与其他任何东西一样,Linux 也有适合您的工具。名为 wondershaper 的命令行工具正是这样做的:对网络接口进行速率限制。

wondershaper 实际上是一个 shell 脚本,它使用 tc 来定义特定网络接口的流量整形和 QoS。传出流量通过放置在具有不同优先级的队列中来调整,而传入流量则通过数据包丢弃进行速率限制。

事实上,wondershaper 的既定目标不仅仅是为接口添加带宽上限。 wondershaper 尝试在批量下载或上传时保持 SSH 等交互式会话的低延迟。此外,它还确保批量上传(例如 Dropbox 同步)不会阻碍下载,反之亦然。

要在 Ubuntu、Debian 及其衍生版本上安装 wondershaper:

$ sudo apt-get install wondershaper

要在 Fedora 或 CentOS/RHEL(带有 EPEL 存储库)上安装 wondershaper:

$ sudo yum install wondershaper

wondershaper的基本用法如下。

$ sudo wondershaper

例如,将 eth0 的最大下载/上传带宽分别设置为 1000Kbit/s 和 500Kbit/s:

$ sudo wondershaper eth0 1000 500

您可以通过运行以下命令来删除速率限制:

$ sudo wondershaper clear eth0

如果您对 wondershaper 的工作原理感兴趣,可以阅读其 shell 脚本(位于 /sbin/wondershaper)。

结论

在本教程中,我介绍了两种不同的方法来控制 Linux 桌面上的带宽使用,基于每个应用程序或每个接口。这两种工具都非常用户友好,为您提供了一种快速、简单的方法来塑造不受限制的流量。对于那些想了解更多有关 Linux 速率控制的信息的人,请参阅 Linux 圣经。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3