![如何限制我的 CentOS 服务器的上传/下载带宽?](https://linux22.com/image/620185/%E5%A6%82%E4%BD%95%E9%99%90%E5%88%B6%E6%88%91%E7%9A%84%20CentOS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E4%B8%8A%E4%BC%A0%2F%E4%B8%8B%E8%BD%BD%E5%B8%A6%E5%AE%BD%EF%BC%9F.png)
如何限制 CentOS 服务器上的上传和下载带宽?这是一个具有单一界面的盒子。eth0
理想情况下,我想要一个命令行解决方案(我一直在尝试使用tc
),这样我就可以轻松地在脚本中打开和关闭它。
到目前为止,我一直在尝试做类似的事情tc filter add dev eth0 protocol ip prio 50 u32 police rate 100kbit burst 10240 drop
,但显然我缺少很多知识和信息。有人能帮我快速写一句话吗?
非常感谢,丹
答案1
我无法在这里为您添加脚本代码,您可以通过这个要点获取 -https://gist.github.com/akrasic/7242498#file-limit-tc-sh
该脚本使用 TC 和分层令牌桶 (HTB) 来定义规则,并最后定义充当全能规则的过滤器。
interface
如果 var 与eth0
˙不同,则需要修改var interface_speed
。
将脚本保存在您的服务器上,然后通过以下方式启动它:
ḃash limit-tc.sh start
停止:
bash limit-tc.sh stop
查看状态:bash limit.tc status
状态输出看起来会像这样:
qdisc htb 1: root refcnt 2 r2q 10 default 30 direct_packets_stat 1
Sent 535666 bytes 6461 pkt (dropped 172, overlimits 7641 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc sfq 10: parent 1:10 limit 127p quantum 1514b perturb 10sec
Sent 535624 bytes 6424 pkt (dropped 172, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc sfq 20: parent 1:20 limit 127p quantum 1514b perturb 10sec
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0