TC限速实践

25 篇文章 0 订阅
15 篇文章 1 订阅

转载出处https://www.jianshu.com/p/4477c68c9ec4

踩坑实战
看完了这些,起初我只是想针对某个ip进行一下限速,这个过程中有几个小坑。

tc暂时只能在实体机上执行
tc命令需要root来执行
确认好默认队列,因为一旦限速规则和默认队列重复,现在的机器都是远程登录的,如果限速过大,将直接导致你无法再进行远程操作,只能重启机器了……
那么我要针对一个ip限速,可以执行下面这个脚本

#!/bin/bash
interface=eth0
ip=100.88.128.149
port=3306
delay=300ms
loss=5%

tc qdisc add dev $interface root handle 1: prio
# 这个命令会创建3个默认的class  1:1 1:2 1:3 PRIO 另一种意义的pfifo_fast 基于优先级的有类队列规则
tc filter add dev $interface protocol ip  parent 1: prio 1 u32 match ip dst $ip match ip dport $port 0xffff flowid 1:1 
tc filter add dev $interface protocol all parent 1: prio 2 u32 match ip dst 0.0.0.0/0 flowid 1:2
tc filter add dev $interface protocol all parent 1: prio 2 u32 match ip protocol 1 0xff flowid 1:2
# 将指定的ip和端口数据发送给 1:1 , 将其他流量指向1:2
tc qdisc add dev $interface parent 1:2 handle 20: sfq
tc qdisc add dev $interface parent 1:1 handle 10: netem delay $delay loss $loss
# 创建1:1队列,同时设置延迟和丢包率,创建1:2队列接受默认流量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值