- 论坛徽章:
- 0
|
在/etc/rc.d/init.d/ 中建立脚本文件 TC2,不可以命名为TC,其他名称都可以,内容如下
#。。。。。。。。。。。。。。。。。。。。。
#!/bin/bash
#Set the following values to somewhat lesss than your actual download and uplink speed.
DOWNLINK=40960
UPLINK=40960
#clean existing down and uplink qdiscs,put the errors to /var/log/htb_log
tc qdisc del dev eth0 root 2> /dev/null > /dev/null
tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
tc qdisc del dev eth1 root 2> /dev/null > /dev/null
########################################uplink###########################################
#install root HTB,point default traffic to 1:15:
tc qdisc add dev eth0 root handle 1: htb default 15 r2q 1
#shape everythin at $UPLINK speed -this prevents huge queues in your DSL modem which destroy
#latency:
# main class
tc class add dev eth0 parent 1: classid 1:1 htb rate ${UPLINK}kbit ceil ${UPLINK}kbit
#high prio class 1:11:
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 22400kbit ceil 22400kbit prio 0
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 22400kbit ceil ${UPLINK}kbit prio 2
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 2800kbit ceil ${UPLINK}kbit prio 1
tc class add dev eth0 parent 1:1 classid 1:14 htb rate 2800kbit ceil ${UPLINK}kbit prio 1
#bulk & default class 1:15 -gets slightly less traffic,and a lower priority:
tc class add dev eth0 parent 1:1 classid 1:15 htb rate 1400kbit ceil ${UPLINK}kbit prio 3
#bost get Stochastic Fairness:
tc qdisc add dev eth0 parent 1:12 handle 12: sfq perturb 10
tc qdisc add dev eth0 parent 1:13 handle 13: sfq perturb 10
tc qdisc add dev eth0 parent 1:14 handle 14: sfq perturb 10
tc qdisc add dev eth0 parent 1:15 handle 15: sfq perturb 10
#TOS Mininum Delay (ssh,telnet) in 1:11:
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:11
tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:12
tc filter add dev eth0 parent 1:0 protocol ip prio 3 handle 3 fw classid 1:13
tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 4 fw classid 1:14
tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle 5 fw classid 1:15
# install the ingress qdisc on the ingress
tc qdisc add dev eth0 handle ffff: ingress
# DROP everything that's coming in too fast:
tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNLINK}kbit burst 15k drop flowid :1
tc qdisc add dev eth1 root handle 2: htb
tc class add dev eth1 parent 2: classid 2:1 htb rate 10240kbit ceil ${DOWNLINK}kbit
tc qdisc add dev eth1 parent 2:1 sfq
tc filter add dev eth1 parent 2:0 protocol ip prio 4 u32 match ip dst 192.168.1.0/24 flowid 2:1
#。。。。。。。。。。。。。。。。。。。。。。。。。。。。
以ROOT身份登陆,
chomod +x /etc/rc.d/init.d/tc3
sh /etc/rc.d/init.d/tc3
本示列,以40M带宽进行分配。一类包括GPRS服务保证20M带宽。可根据实际情况修改DOWNLINK ,UPLINK的值,具体分配带宽根据实际情况进行调整。
TC用法具体可参考网上其他资料,本脚本在RH9(需升级HTB),FC4,Centos4.2下正常工作。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13891/showart_89986.html |
|