加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 使用tc qdiscs进行带宽限制

发布时间:2020-12-15 18:33:27 所属栏目:安全 来源:网络整理
导读:我试图限制简单的iperf服务器和客户端之间的带宽,使用第三个被动机器充当桥梁.在没有干扰的情况下,iperf返回~90 Mbits / sec的带宽.我的目标是创建一个根qdisc,将所有未分类的流量(所有内容)发送到子HTB类,其中我的带宽已设置,然后路由到叶qdisc,其中一旦我
我试图限制简单的iperf服务器和客户端之间的带宽,使用第三个被动机器充当桥梁.在没有干扰的情况下,iperf返回~90 Mbits / sec的带宽.我的目标是创建一个根qdisc,将所有未分类的流量(所有内容)发送到子HTB类,其中我的带宽已设置,然后路由到叶qdisc,其中一旦我开始工作,将设置其他tc参数.我的实施很简短:
sudo tc qdisc add dev $interface root handle 1: htb default 10

sudo tc class add dev $interface parent 1:0 classid 1:10 htb rate $bandwidth burst $burst

sudo tc qdisc add dev $interface parent 1:10 handle 10:0 netem #other stuff goes here

当使用$interface = eth1,$bandwidth = 500kbps,$burst = 15k在桥上实现此bash脚本时,我看到iperf带宽减少,但不是几乎是强制值(通常为~5Mbps).

我的脚本中有错误吗?我是否误用了爆变量?请帮忙.

更新:
经过进一步调查,我发现这个流量控制在应用于与SERVER连接的以太网卡时工作正常,但是当相同的命令应用于CLIENT端时会出现问题.当整个设置颠倒时,这也适用.

tc中的HTB带宽控制仅形成输出流量,因此为了限制服务器和客户端TCP连接之间的带宽,必须对两个桥接接口应用整形. (感谢0x534B41)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读