LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 823|回复: 1

tc + iptables 如何对某个ip不限速

[复制链接]
发表于 2011-3-8 23:15:14 | 显示全部楼层 |阅读模式
先贴下tc
==========================================
#外网网卡
ODEV="eth0"
#内网网卡
IDEV="eth1"

#上行总带宽,KB/S
Up="5500kbps"
#下行总带宽
DOWN="15360kbps"
#限速范围IP上行保证带宽
UPLOADrate="30kbps"
#限速范围IP上行最大带宽
UPLOADceil="250kbps"
#限速范围IP下行保证带宽
DOWNLOADrate="50kbps"
#限速范围IP下行最大带宽
DOWNLOADceil="500kbps"

#不在限速范围IP共享(总)下行速度
outdown="4000kbps"
#不在限速范围IP共享(总)上行速度
outup="1000kbps"

#限速网段
INET="192.168.0."
#限速范围起始IP
IPS="2"
#限速范围结束IP
IPE="250"
#网关ip
ServerIP="254"

#清除队列规则(初始化)
/sbin/tc qdisc del dev $ODEV root 2>/dev/null
/sbin/tc qdisc del dev $IDEV root 2>/dev/null
#设置根队列
/sbin/tc qdisc add dev $ODEV root handle 10: htb default 2254
/sbin/tc qdisc add dev $IDEV root handle 10: htb default 2254
#设置总速度
/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

#开始设置限速范围IP规则
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

#不在限速范围IP规则
/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
================================================
抄某位大牛的,对所有限速范围ip限速500K下载,250K上传。因为员工经常要往ftp上传下载文件,所以把速度设的很大,这样一来p2p下载就多了,导致上网速度慢。

现在想要对公司内部ftp服务器和RTX服务器不限速,把每ip速度降下来。
ftp服务器和RTX服务器都在不同的网段,如123.163.126.1,123.126.163.2。
上网服务器ip 163.123.126.111。

不知道该怎么设,各位帮帮忙。
发表于 2011-3-11 22:50:43 | 显示全部楼层
iptables,不对那个ip设置mark,那么tc rules对它就无用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表