/sbin/tc -s qdisc show
删除根规则
/sbin/tc qdisc del dev eth0 root tbf
//限制带宽
/sbin/tc qdisc add dev eth0 root tbf rate 50kbit latency 50ms burst 1000
sleep 20
/sbin/tc qdisc del dev eth0 root tbf
//netem
/sbin/tc qdisc add dev eth0 root netem CMD
其中CMD为延迟、丢包、重包、错包、乱序等
//丢包 loss 10%
//重包 duplicate 10%
//错包 corrupt 10%
//乱序 delay 10ms reorder 25% 50% (25%(50%相关)不延迟,其他包延迟10ms)
//延迟 delay 10ms
//删除root规则 /sbin/tc qdisc del dev eth0 root
///
设置流量规则过滤
tc qdisc add dev eth0 root handle 1: htb default 30 //设置root规则
tc class add dev eth0 parent 1: classid 1:1 htb rate 6mbit burst 15k //设置父类
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit burst 15k //设置子类10
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 3mbit ceil 6mbit burst 15k //设置子类20
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1kbit ceil 6mbit burst 15k //设置子类30
//设置子类队列规则
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10
//添加子类
U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32"
$U32 match ip dport 80 0xffff flowid 1:10 //子类10过滤规则(直接导向类)
$U32 match ip sport 25 0xffff flowid 1:20 //子类20过滤规则
///
/**********************************/
tc qdisc add dev eth0 root handle 1: htb default 30 //设置root规则
tc class add dev eth0 parent 1: classid 1:1 htb rate 8kbit burst 15k //设置父类
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 5050 0xffff flowid 1:1
/**********************************/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tc qdisc del dev eth0 root htb
tc qdisc add dev eth0 root handle 1: htb default 30
tc class add dev eth0 parent 1: classid 1:10 htb rate 8kbit burst 15k
tc qdisc add dev eth0 parent 1:10 handle 10: netem corrupt 50%
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 5050 0xffff flowid 1:10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~