免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1191 | 回复: 0
打印 上一主题 下一主题

[proxy] 求帮一个TC的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-14 01:48 |只看该作者 |倒序浏览
最近内部整改,加了一个网段,因为我不是搞PROXY的,因此对TC不是很了解,先前让一个前辈写了个流量控制的脚本,只是用来控制一个网段的,现在加了一块网卡,想再加一个网段,因此想请大家帮帮改下脚本,谢谢了

#!/bin/bash

# WAN interface  这个是定义外网
ODEV="eth0"
# LAN interface  内网网卡
IDEV="eth1"

# UPLOAD all bandwith KB/S   总下载
Up="3276kbps"
# DOWNLOAD all bandwith   总上传
DOWN="6536kbps"
# default upload speed  默认上传
UPLOADrate="200kbps"
# MAX up load speed  最大上传
UPLOADceil="300kbps"
# default download speed  默认下载
DOWNLOADrate="500kbps"
# MAX download speed   最大下载
DOWNLOADceil="700kbps"

# hosts NOT in control download speed  不受控制的计算机的下载速度
outdown="3000kbps"
#hosts NOT in control upload speed    不受控制的计算机的上传速度
outup="300kbps"

# IP range  IP范围
INET="192.168.100."
# start with  开始范围
IPS="11"
# end  最后
IPE="250"
# server IP 服务器IP
ServerIP="1"

# clear rules  清理根规则
/sbin/tc qdisc del dev $ODEV root 2>/dev/null
/sbin/tc qdisc del dev $IDEV root 2>/dev/null
# set root  设置
/sbin/tc qdisc add dev $ODEV root handle 10: htb default 2254
/sbin/tc qdisc add dev $IDEV root handle 10: htb default 2254
# set all bandwith
/sbin/tc class add dev $ODEV parent 10: classid 10:1 htb rate $UP ceil $UP
/sbin/tc class add dev $IDEV parent 10: classid 10:1 htb rate $DOWN ceil $DOWN

# start here
i=$IPS;
while [ $i -le $IPE ]
do
/sbin/tc class add dev $ODEV parent 10:1 classid 10:2$i htb rate $UPLOADrate ceil $UPLOADceil prio 1
/sbin/tc class add dev $IDEV parent 10:1 classid 10:2$i htb rate $DOWNLOADrate ceil $DOWNLOADceil prio 1
/sbin/tc qdisc add dev $ODEV parent 10:2$i handle 40$i: pfifo
/sbin/tc qdisc add dev $IDEV parent 10:2$i handle 40$i: pfifo
/sbin/tc filter add dev $ODEV parent 10: protocol ip prio 40 handle 2$i fw classid 10:2$i
/sbin/tc filter add dev $IDEV parent 10: protocol ip prio 40 handle 2$i fw classid 10:2$i
/sbin/iptables -t mangle -A PREROUTING -s $INET$i -j MARK --set-mark 2$i
/sbin/iptables -t mangle -A POSTROUTING -d $INET$i -j MARK --set-mark 2$i
i=`expr $i + 1`
done

#hosts NOT in control
/sbin/tc class add dev $ODEV parent 10:1 classid 10:2254 htb rate $outup ceil $outup prio 1
/sbin/tc class add dev $IDEV parent 10:1 classid 10:2254 htb rate $outdown ceil $outdown prio 1
/sbin/tc qdisc add dev $ODEV parent 10:2254 handle 40254: pfifo
/sbin/tc qdisc add dev $IDEV parent 10:2254 handle 40254: pfifo
/sbin/tc filter add dev $ODEV parent 10: protocol ip prio 40 handle 2254 fw classid 10:2254
/sbin/tc filter add dev $IDEV parent 10: protocol ip prio 40 handle 2254 fw classid 10:2254


如果现在加一块网卡 eth2 那么这个脚本要如何修改,eth2范围内的IP跟eth1内的网卡上传下载的速度一样即可,如果脚本能稍微改动下就可以实现是最好的。
因为小弟不是学代理方面的,因此对TC这个东西一知半解,搞这个只是个兼职。还希望大家帮帮忙。谢谢。
另外这个脚本在运行的时候会提示有点问题,可是不影响运行,至今都没搞明白是怎么回事。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP