免费注册 查看新帖 |

Chinaunix

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

[网络管理] LINUX代理限速 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-03 11:08 |只看该作者 |倒序浏览
本帖最后由 xue10 于 2010-09-03 11:12 编辑

两块网卡:ETH0是外网IP,ETH1是内网IP.ETH1分别帮定两个IP。ETH1:192.168.0.254  ETH1:8   192.168.8.254  ETH1:9  192.168.9.254  

下面带320台机器,

我现在用的脚本是这样的,

#!/bin/bash
#
# 定义上下带宽
# 注意是 Kbit
DOWNLOAD=12288Kbit
UPLOAD=4915Kbit
# 定义内网IP段
INET=192.168.8.
INET2=192.168.9.
# 定义限制的IP范围
IPS=1
IPE=253
# 定义本服务器IP
ServerIP=254
# 定义进出设备
IDEV=eth1:8
IDEV2=eth1:9
ODEV=eth0
#
#
#
/sbin/tc qdisc del dev $IDEV root handle 10:
/sbin/tc qdisc del dev $IDEV2 root handle 20:
/sbin/tc qdisc del dev $ODEV root handle 30:
#
/sbin/tc qdisc add dev $IDEV root handle 10: cbq bandwidth 100Mbit avpkt 1000
/sbin/tc qdisc add dev $IDEV2 root handle 20: cbq bandwidth 100Mbit avpkt 1000
/sbin/tc qdisc add dev $ODEV root handle 30: cbq bandwidth 1Mbit avpkt 1000
#
/sbin/tc class add dev $IDEV parent 10:0 classid 10:1 cbq bandwidth 100Mbit rate 100Mbit allot 1514 weight 1Mbit prio 8 maxburst 20 avpkt 1000
/sbin/tc class add dev $IDEV2 parent 10:0 classid 10:1 cbq bandwidth 100Mbit rate 100Mbit allot 1514 weight 1Mbit prio 8 maxburst 20 avpkt 1000
/sbin/tc class add dev $ODEV parent 30:0 classid 20:1 cbq bandwidth 1Mbit rate 1Mbit allot 1514 weight 10Kbit prio 8 maxburst 20 avpkt 1000
#
# 不限制内网从本服务器下载。
# 注意如本服务器上有代理,用户可通过代理绕过带宽限制,
# 可取消以下三句限制从本服务器下载。
/sbin/tc class add dev $IDEV parent 10:1 classid 10:10 cbq bandwidth 100Mbit rate 95Mbit allot 1514 weight 20Kbit prio 5 maxburst 20 avpkt 1000 bounded
/sbin/tc qdisc add dev $IDEV parent 10:10 sfq quantum 1514b perturb 15
/sbin/tc filter add dev $IDEV parent 10:0 protocol ip prio 50 u32 match ip src $INET$ServerIP flowid 10:10
#
/sbin/tc class add dev $IDEV2 parent 20:1 classid 20:20 cbq bandwidth 100Mbit rate 95Mbit allot 1514 weight 20Kbit prio 5 maxburst 20 avpkt 1000 bounded
/sbin/tc qdisc add dev $IDEV2 parent 20:10 sfq quantum 1514b perturb 15
/sbin/tc filter add dev $IDEV2 parent 20:0 protocol ip prio 50 u32 match ip src $INET$ServerIP flowid 20:20
#限制下载速度
COUNTER=$IPS
while [ $COUNTER -le $IPE ]
do
# 以下三句限制各IP的下载带宽
/sbin/tc class add dev $IDEV parent 10:1 classid 10:1$COUNTER cbq bandwidth 100Mbit rate $DOWNLOAD allot 1514 weight 20Kbit prio 5 maxburst 20 avpkt 1000 bounded
/sbin/tc class add dev $IDEV2 parent 20:1 classid 20:1$COUNTER cbq bandwidth 100Mbit rate $DOWNLOAD allot 1514 weight 20Kbit prio 5 maxburst 20 avpkt 1000 bounded
/sbin/tc qdisc add dev $IDEV parent 10:1$COUNTER sfq quantum 1514b perturb 15
/sbin/tc qdisc add dev $IDEV2 parent 20:1$COUNTER sfq quantum 1514b perturb 15
/sbin/tc filter add dev $IDEV parent 10:0 protocol ip prio 100 u32 match ip dst $INET$COUNTER flowid 10:1$COUNTER
/sbin/tc filter add dev $IDEV2 parent 20:0 protocol ip prio 100 u32 match ip dst $INET$COUNTER flowid 20:1$COUNTER
COUNTER=` expr $COUNTER + 1 `
done
#
#限制上传速度
COUNTER=$IPS
while [ $COUNTER -le $IPE ]
do
# 以下三句限制各IP的上传带宽
/sbin/tc class add dev $ODEV parent 30:1 classid 30:1$COUNTER cbq bandwidth 1Mbit rate $UPLOAD allot 1514 weight 4Kbit prio 5 maxburst 20 avpkt 1000 bounded
/sbin/tc qdisc add dev $ODEV parent 30:1$COUNTER sfq quantum 1514b perturb 15
/sbin/tc filter add dev $ODEV parent 30:0 protocol ip prio 100 handle $COUNTER fw classid 30:1$COUNTER
COUNTER=` expr $COUNTER + 1 `
done

# ...................
#
#
# 修改防火墙,增加上传限制
COUNTER=$IPS
while [ $COUNTER -lt $IPE ]
do
iptables -t mangle -A PREROUTING -i $IDEV -s $INET$COUNTER -j MARK --set-mark $COUNTER
iptables -t mangle -A PREROUTING -i $IDEV2 -s $INET$COUNTER -j MARK --set-mark $COUNTER
COUNTER=` expr $COUNTER + 1 `
done
# 这里是NAT
iptables -t nat -A POSTROUTING -o $EXTIF -s 192.168.8.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $EXTIF -s 192.168.9.0/24 -j MASQUERADE


原来起作用,但是我重做系统后现在不关用了,请那位懂的朋友帮帮忙看是怎么回事,感谢了!

论坛徽章:
0
2 [报告]
发表于 2010-09-04 15:58 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP