[root@new-fiberlink ~]# cat /etc/tc.sh
tc 流量控制 内网平均带宽分配
原创
©著作权归作者所有:来自51CTO博客作者xuningt28的原创作品,请联系作者获取转载授权,否则将追究法律责任
#!/bin/bash
TC=/sbin/tc
stop() {
$TC qdisc del dev eth0 root
}
start() {
$TC qdisc add dev eth0 root handle 1: htb default 999
$TC class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
$TC class add dev eth0 parent 1:1 classid 1:999 htb rate 1mbit ceil 2mbit
$TC qdisc add dev eth0 parent 1:999 handle 999: sfq
$TC class add dev eth0 parent 1:1 classid 1:2 htb rate 1mbit ceil 100mbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 219.143.67.0/29 flowid 1:2
$TC qdisc add dev eth0 parent 1:2 handle 2: sfq
# 00:1D:4F:4B:48:D8
$TC class add dev eth0 parent 1:1 classid 1:3 htb rate 128kbit ceil 896kbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match u16 0x0800 0xffff at -2 match u32 0x4F4B48D8 0xffffffff at -12 match u16 0x001D 0xffff at -14 flowid 1:3
# 00:1A:A0:3B:15:A0
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match u16 0x0800 0xffff at -2 match u32 0xA03B15A0 0xffffffff at -12 match u16 0x001A 0xffff at -14 flowid 1:3
$TC qdisc add dev eth0 parent 1:3 handle 3: sfq
# 00:E0:81:41:E1:B0
#$TC class add dev eth0 parent 1:1 classid 1:4 htb rate 128kbit ceil 896kbit
#$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match u16 0x0800 0xffff at -2 match u32 0x8141E1B0 0xffffffff at -12 match u16 0x00E0 0xffff at -14 flowid 1:4
#$TC qdisc add dev eth0 parent 1:4 handle 4: sfq
for ((i=6;i<65;i++)) ; do
$TC class add dev eth0 parent 1:1 classid 1:$i htb rate 128kbit ceil 896kbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.$i flowid 1:$i
$TC qdisc add dev eth0 parent 1:$i handle $i: sfq
done
for ((i=66;i<71;i++)) ; do
$TC class add dev eth0 parent 1:1 classid 1:$i htb rate 128kbit ceil 896kbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.$i flowid 1:$i
$TC qdisc add dev eth0 parent 1:$i handle $i: sfq
done
for ((i=72;i<86;i++)) ; do
$TC class add dev eth0 parent 1:1 classid 1:$i htb rate 128kbit ceil 896kbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.$i flowid 1:$i
$TC qdisc add dev eth0 parent 1:$i handle $i: sfq
done
for ((i=87;i<100;i++)) ; do
$TC class add dev eth0 parent 1:1 classid 1:$i htb rate 128kbit ceil 896kbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.$i flowid 1:$i
$TC qdisc add dev eth0 parent 1:$i handle $i: sfq
done
for ((i=101;i<=254;i++)) ; do
$TC class add dev eth0 parent 1:1 classid 1:$i htb rate 128kbit ceil 896kbit
$TC filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.$i flowid 1:$i
$TC qdisc add dev eth0 parent 1:$i handle $i: sfq
done
}
case "$1" in
start)
stop
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
30 8 * * * /etc/tc.sh start
00 20 * * * /etc/tc.sh stop
上一篇:iptables高级nat转换
下一篇:tc 流量控制 上传下载设置
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
我也来TC 流量控制! (HTB)
Linux TC HTB
Linux 职场 休闲 TC -
Linux 网络流量控制工具-TC
网络流量控制(Shaping,流量整形)TC(traffic control)工作原理通过设置不同类型的网络接口
流量 linux 网络 .net 4s