linux下载流量和上传流量,通过linux的tc工具简单实现上传和下载的流量控制

1、  实现原理:

Linux内核版本2.4以上,就开始支持网络传输带宽控制(Traffic Contol),可以控制某个网卡的包发送延迟时间和带宽分配。

实现对网络下载速率的控制可以直接通过tc命令,限制下载网卡的下载速率。

由于tc只能控制网卡发送的速率,所以在对网络上传速率进行控制时则需要变相实现:

ae25027a1627c968fdc69be3548b3b25.png

2、  实现步骤(假设应用监听lo卡监听地址为127.0.0.1,Haproxy监听eth0网卡监听地址为10.20.16.73):

下载速率限制

a)      首先删除lo卡上原有的网络控制策略

tc qdisc del dev lo root

b)      然后添加一个qdisc:

tc qdisc add dev lo root handle 1: htb r2q 1

c)      再添加一个控制类,控制分配带宽为1Mbit,最高速率为1Mbit:

tc class add dev lo parent 1: classid 1:1 htb rate 1Mbitceil 1Mbit

d)      最后为lo卡再添加一个筛选器,限制指向10.20.16.73的带宽:

tc filter add dev lo parent 1: protocol ip prio 16 u32match ip dst 10.20.16.73 flowid 1:1

上传速率限制

e)      首先删除eth0卡上原有的网络控制策略

tc qdisc del dev lo root

f)       然后添加一个qdisc:

tc qdisc add dev lo root handle 1: htb r2q 1

g)      再添加一个控制类,控制分配带宽为1Mbit,最高速率为1Mbit:

tc class add dev lo parent 1: classid 1:1 htb rate 1Mbitceil 1Mbit

h)      最后为lo卡再添加一个筛选器,限制指向127.0.0.1的带宽:

tc filter add dev lo parent 1: protocol ip prio 16 u32match ip dst 127.0.0.1 flowid 1:1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值