前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM 基于系统的流量控制(Qos)---Linux

KVM 基于系统的流量控制(Qos)---Linux

作者头像
院长技术
发布2020-09-24 17:09:15
2.3K0
发布2020-09-24 17:09:15
举报
文章被收录于专栏:院长运维开发院长运维开发

1 限制流出速度 限制流出速度,主要通过tc这个工具,常用的有三个队列: tbf队列,令牌桶队列,适用于流量×××; cbq队列,分类的队列,用于实现精细的qos控制,配置复杂; htb队列,分层的令牌桶队列,用于实现精细的qos控制,配置比cbq简单些; 通过tbf限制流程速度的例子: tc qdisc add dev eth0 root tbf rate 51200kbit latency 50ms minburst 200k burst 200k 限制网卡eth0流出速度为51200kbit,正确的设置方法,和minburst这个参数有很大的关系,不同的硬件环境和系统需要具体调试。 通过htb实现不同目标地址的限速 删除 tc qdisc del dev eth0 root tbf 修改 tc qdisc change dev eth0 root tbf rate 2200kbit latency 5000ms burst 1540 查看当前队列 tc -s -d qdisc ls

通过htb队列,针对不同ip源限速 删除已有的队列 tc qdisc del dev eth0 root 建立一个htb根队列 tc qdisc add dev eth0 root handle 1: htb 建立一个父类1:1,速度为100mbit tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit 建立一个子类1:10,速度50mbit,这里的50mbit包含在1:1的100mbit中 tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 50mbit 指定1:10是一个随机公平队列 tc qdisc add dev eth0 parent 1:10 sfq perturb 10 通过过滤器,保证1.1.1.1这个ip通过1:1这个队列,优先级是2。 tc filter add dev eth0 protocol ip parent 1: prio 2 u32 match ip dst 1.1.1.1/32 flowid 1:1 通过过滤器,保证所有的其他ip通过1:10这个队列,优先级是50。 tc filter add dev eth0 protocol ip parent 1: prio 50 u32 match ip dst 0.0.0.0/0 flowid 1:10

2 限制流进速度 通过iptables 限制流进速度

iptables -A INPUT -s 61.61.61.61/32 -m limit --limit 60/s -j ACCEPT

iptables -A INPUT -s 61.61.61.61/32 -j DROP

限制ip每秒流进速度不超过60个,通过iptables不能精确控制网速,只能控制包的个数,具体数对可以用mtu乘包的个数计算。

推荐一本非常不错的书,Linux系统速度限制非常不错的参考资料,《Linux高级路由和流量控制》

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iptables -A INPUT -s 61.61.61.61/32 -m limit --limit 60/s -j ACCEPT
  • iptables -A INPUT -s 61.61.61.61/32 -j DROP
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档