我想知道限制接口传出带宽的最简单方法。我想限制传出端口速度,以便服务器之间的文件传输在繁忙时间不会失败。
最简单的解决方案是什么?我知道我可以使用,iptables
但我正在寻找简单的安装/配置。
答案1
以太网工具
您可以使用以下命令更改 NIC 端口的聚合速度ethtool
。
$ sudo ethtool -s eth0 speed 10
笔记:这会将端口设置为 10MB,例如,您不能使用此方法设置任意速度!
奇迹塑造者
您还可以使用该工具wondershaper
也这样做。笔记:速度应以千比特每秒为单位。
$ sudo wondershaper eth1 downspeed upspeed
例如:
$ sudo wondershaper eth0 10000 280
细流
第三个选项是涓流。 Trickle 可以由用户按程序使用,也可以作为完全限制 NIC 的守护程序。
用户模式-涓流手册页
$ sudo trickle -d 20 -u 20 wget http://www.google.com/bigfile
仅此而已,上行和下行流量都会限制 20K/s wget
,其他一切都不会受到限制。
守护进程模式 -滴流手册页
在守护程序模式下,trickled
可以将一组程序限制为固定的带宽限制。要启动守护进程,请运行 trilled 命令:
$ sudo trickled -d 20 -u 20
pyshaper
第四个选项是pyshaper。它是众多选项中的一个独特选项,因为它包含 GUI,并且可以随时间动态监控和设置带宽。您可以查看pyshaper 手册页更多细节。
参考
答案2
Wondershaper 的最后一次编辑是在 2002 年,但如今它仍然可以在 Fedora 21 上运行。但请注意,只有几个选项可用作参数,并且您无法按照此处指定的方式在命令行上指定上传/下载速度 - 至少在 2002 年 4 月 16 日发布的下载版本 1.1a 中不能指定。您必须编辑文件,它是一个 shell 脚本。对于懂一点 shell 的人来说并不难。
用法是:
wondershaper
(这将根据文件中的值设置您的带宽)
wondershaper status
wondershaper stop
您可以在链接上线时使用它,这很好。
答案3
另一种选择是'ip路由2”这似乎是一种成熟且广泛使用的流量路由/整形工具。我发现它是一个 RPM(可能还有很多其他软件包,我没有看)。截至撰写本文时,最新版本是 4.4.0,构建于 2016 年 1 月 25 日。
查看配置语法,似乎比较简单(虽然不像ifconfig
or那样简单route
。)