免费注册 查看新帖 |

Chinaunix

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

[网络管理] 针对IP地址进行上下传流量控制的脚本,前辈帮忙看看规则有错吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-11 16:46 |只看该作者 |倒序浏览
#!/bin/bash
################################################
DOWNLINK=2048
UPLINK=480
IDEV=eth1
ODEV=ppp0
TC=/sbin/tc
IPT=/sbin/iptables
###限制下载###
$TC qdisc del dev $ODEV root 2>/dev/null
$TC qdisc add dev $ODEV root handle 1: htb default 20
$TC class add dev $ODEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 15k
$TC class add dev $ODEV parent 1:1 classid 1:10 htb rate 240kbit ceil ${UPLINK}kbit burst 15k prio 1
$TC class add dev $ODEV parent 1:1 classid 1:20 htb rate 240kbit ceil ${UPLINK}kbit burst 15k prio 2
###
$TC qdisc add dev $ODEV parent 1:10 sfq quantum 1514b perturb 15
$TC qdisc add dev $ODEV parent 1:20 sfq quantum 1514b perturb 15
###
$TC filter add dev $ODEV parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
###
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.8 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.8 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.45 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.45 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.55 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.55 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.67 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.67 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.76 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.76 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.123 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.123 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.158 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.158 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.163 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.188 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.163 -j RETURN
$IPT -t mangle -A PREROUTING -i $IDEV -s 192.168.0.188 -j RETURN


###限制下载###
$TC qdisc del dev $IDEV root 2>/dev/null
$TC qdisc add dev $IDEV root handle 2: htb default 20
$TC class add dev $IDEV parent 2: classid 2:1 htb rate ${DOWNLINK}kbit burst 15k
$TC class add dev $IDEV parent 2:1 classid 2:10 htb rate 1024kbit ceil ${DOWNLINK}kbit burst 15k prio 1
$TC class add dev $IDEV parent 2:1 classid 2:20 htb rate 1024kbit ceil ${DOWNLINK}kbit burst 15k prio 2
$TC qdisc add dev $IDEV parent 2:10 sfq quantum 1514b perturb 15
$TC qdisc add dev $IDEV parent 2:20 sfq quantum 1514b perturb 15
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.8 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.45 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.55 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.67 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.76 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.123 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.158 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.163 flowid 2:10
$TC filter add dev $IDEV parent 2:0 protocol ip prio 1 u32 match ip dst 192.168.0.188 flowid 2:10

论坛徽章:
0
2 [报告]
发表于 2008-08-12 10:02 |只看该作者
UP UP UP UP UP

请问一下,上面那样写是对上下传带宽各分了两条队列吧,是每条队列仅仅只有分配到的那些带宽吗,还是在另外一条带宽空闲时,能占用剩下的带宽???
另外,不知道语法有没有写错,帮忙看看

[ 本帖最后由 jiawang 于 2008-8-12 10:07 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-08-12 13:09 |只看该作者
等高手验证这个脚本了后 我再来收藏

论坛徽章:
0
4 [报告]
发表于 2008-08-12 21:01 |只看该作者
斑竹呢,好心人呢

论坛徽章:
0
5 [报告]
发表于 2008-08-13 09:33 |只看该作者
苦苦等待... 是不是都看奥运去了

论坛徽章:
0
6 [报告]
发表于 2008-08-13 22:06 |只看该作者
..............................................................
................................................................

论坛徽章:
0
7 [报告]
发表于 2008-08-13 22:33 |只看该作者
这么长的内容,谁有时间帮你去一点一点验证啊?
既然是自己的,自己去试一下不就知道了?
发贴有 2 天了,但有这时间也早试出来了,为什么就不能自己动手呢?

论坛徽章:
0
8 [报告]
发表于 2008-08-14 11:43 |只看该作者
原帖由 platinum 于 2008-8-13 22:33 发表
这么长的内容,谁有时间帮你去一点一点验证啊?
既然是自己的,自己去试一下不就知道了?
发贴有 2 天了,但有这时间也早试出来了,为什么就不能自己动手呢?


我当然试过了,有疑问呀,上面提出来了


请问一下,上面那样写是对上下传带宽各分了两条队列吧,是每条队列仅仅只有分配到的那些带宽吗,还是在另外一条带宽空闲时,能占用剩下的带宽???
另外,不知道语法有没有写错,帮忙看看

论坛徽章:
0
9 [报告]
发表于 2008-08-14 12:26 |只看该作者
恩,又看了一下,应该是正确的
在除了这些 :10 的人使用的带宽未被占用的时候,这些人可以用满 2048 和 480
当其他人满负荷的时候,这些 IP 也至少可以跑 1024 和 240
当这些 IP 不跑的时候,其他人也可以跑到 2048 和 480,:10 和 :20 的分配完全是动态的

论坛徽章:
0
10 [报告]
发表于 2008-08-14 13:11 |只看该作者
原帖由 platinum 于 2008-8-14 12:26 发表
恩,又看了一下,应该是正确的
在除了这些 :10 的人使用的带宽未被占用的时候,这些人可以用满 2048 和 480
当其他人满负荷的时候,这些 IP 也至少可以跑 1024 和 240
当这些 IP 不跑的时候,其他人也可以跑 ...


是这样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP