找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4341|回复: 14

求助DDWRT的IP管理问题

[复制链接]
我现在用的是Linksys WRT54G-V2.0版.刷成了DD-WRT  V23(sp3)mini版。。想对各IP进行管制..请高手帮帮忙..先谢了.
情况如下:我用的是ADSL拨号的(3M宽带)  总上行、下行有多少K我不太清楚      
                                                    192.168.1.1是路由IP                       
                                                    192.168.1.101     是自己  不限制
                                                    192.168.1.102      BT的要限制 上行256k 下行512k
                                                    192.168.1.103     限制 上行256k  下行 512k  
请问这样分配合适吗??

[ 本帖最后由 shuang1202 于 2007-2-8 02:01 编辑 ]
#!/bin/sh
#
# Coyote local command init script

# 清除 ppp0 所有队列规则
tc qdisc del dev ppp0 root 2>/dev/null

# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev ppp0 root handle 10: htb default 70

# 定义第一层的 10:1 类别 (总频宽)
tc class add dev ppp0 parent 10: classid 10:1 htb rate 70kbps ceil 70kbps

# 定义第二层叶类别
# rate 保证频宽,ceil 最大频宽,prio 优先权
tc class add dev ppp0 parent 10:1 classid 10:10 htb rate 100kbps ceil 100kbps prio 2
tc class add dev ppp0 parent 10:1 classid 10:20 htb rate 20kbps ceil 20kbps prio 2
tc class add dev ppp0 parent 10:1 classid 10:30 htb rate 20kbps ceil 20kbps prio 2
tc class add dev ppp0 parent 10:1 classid 10:40 htb rate 20kbps ceil 20kbps prio 2
tc class add dev ppp0 parent 10:1 classid 10:50 htb rate 20kbps ceil 20kbps prio 2
tc class add dev ppp0 parent 10:1 classid 10:60 htb rate 20kbps ceil 20kbps prio 2
tc class add dev ppp0 parent 10:1 classid 10:70 htb rate 20kbps ceil 20kbps prio 2


# 定义各叶类别的队列规则
# parent 类别编号,handle 叶类别队列规则编号
# 由于采用 fw 过滤器,所以此处使用 pfifo 的队列规则即可
tc qdisc add dev ppp0 parent 10:10 handle 101: pfifo
tc qdisc add dev ppp0 parent 10:20 handle 102: pfifo
tc qdisc add dev ppp0 parent 10:30 handle 103: pfifo
tc qdisc add dev ppp0 parent 10:40 handle 104: pfifo
tc qdisc add dev ppp0 parent 10:50 handle 105: pfifo
tc qdisc add dev ppp0 parent 10:60 handle 106: pfifo
tc qdisc add dev ppp0 parent 10:70 handle 107: pfifo

# 设定过滤器
# 指定贴有 10 标签 (handle) 的封包,归类到 10:10 类别,以此类推
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 20 fw classid 10:20
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 40 fw classid 10:40
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 50 fw classid 10:50
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 60 fw classid 10:60
tc filter add dev ppp0 parent 10: protocol ip prio 100 handle 70 fw classid 10:70



# QoS eth0  下载方面
#

# 清除 eth0所有队列规则
tc qdisc del dev eth0 root 2>/dev/null

# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev eth0 root handle 10: htb default 70

# 定义第一层的 10:1 类别 (总频宽)
tc class add dev eth0 parent 10: classid 10:1 htb rate 350kbps ceil 350kbps

# 定义第二层叶类别
# rate 保证频宽,ceil 最大频宽,prio 优先权
tc class add dev eth0 parent 10:1 classid 10:10 htb rate 400kbps ceil 400kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:20 htb rate 60kbps ceil 60kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:30 htb rate 60kbps ceil 60kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:40 htb rate 60kbps ceil 60kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:50 htb rate 60kbps ceil 60kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:60 htb rate 60kbps ceil 60kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:70 htb rate 60kbps ceil 60kbps prio 1

# 定义各叶类别的队列规则
# parent 类别编号,handle 叶类别队列规则编号
tc qdisc add dev eth0 parent 10:10 handle 101: pfifo
tc qdisc add dev eth0 parent 10:20 handle 102: pfifo
tc qdisc add dev eth0 parent 10:30 handle 103: pfifo
tc qdisc add dev eth0 parent 10:40 handle 104: pfifo
tc qdisc add dev eth0 parent 10:50 handle 105: pfifo
tc qdisc add dev eth0 parent 10:60 handle 106: pfifo
tc qdisc add dev eth0 parent 10:70 handle 107: pfifo

# 设定过滤器
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 10 fw  classid 10:10
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 20 fw  classid 10:20
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 30 fw  classid 10:30
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 40 fw  classid 10:40
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 50 fw  classid 10:50
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 60 fw  classid 10:60
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 70 fw  classid 10:70



# uploads
# 设定上传方面,先利用 iptables 给封包贴标签,再交由 fw 过滤器进行过滤

iptables -t mangle -A PREROUTING -s 192.168.1.101 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.1.102 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.1.103 -j MARK --set-mark 30
iptables -t mangle -A PREROUTING -s 192.168.1.104 -j MARK --set-mark 40
iptables -t mangle -A PREROUTING -s 192.168.1.105 -j MARK --set-mark 50
iptables -t mangle -A PREROUTING -s 192.168.1.106 -j MARK --set-mark 60

# downloads
# 下载方面

iptables -t mangle -A POSTROUTING -d 192.168.1.101 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -d 192.168.1.102 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.1.103 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -d 192.168.1.104 -j MARK --set-mark 40
iptables -t mangle -A POSTROUTING -d 192.168.1.105 -j MARK --set-mark 50
iptables -t mangle -A POSTROUTING -d 192.168.1.106 -j MARK --set-mark 60






















说明 (这里不用输入)
192.168.1.101  没有限制速度   192.168.1.102~106都限制了上行20k 下行60k  你可以测试一下!
回复

使用道具 举报

这么麻烦?  
回复

使用道具 举报

原帖由 mfk91 于 2007-2-8 09:36 发表
这么麻烦?  


也不是麻烦!    其实只有几段代码需要修改
回复

使用道具 举报

 楼主| | 显示全部楼层
是不是直接复制运行就可以啦??
回复

使用道具 举报

原帖由 shuang1202 于 2007-2-8 13:44 发表
是不是直接复制运行就可以啦??

保存为防火墙 就可以了  试了说说效果如何!
回复

使用道具 举报

如果要限制192.168.1.124的下载速度为100K上传不限

其它的机器都不做任何限制
要怎么修改上述代码?!

谢了
回复

使用道具 举报

原帖由 A9d07ead 于 2007-2-8 17:32 发表
如果要限制192.168.1.124的下载速度为100K上传不限

其它的机器都不做任何限制
要怎么修改上述代码?!

谢了



#!/bin/sh
# BY MAGIC 0.2
# Coyote local command init script

ODEV="ppp0"
IDEV="eth0"

DOWN="1000kbps"


DOWNLOAD="100kbps"

INET="192.168.1."

IPS="124"
IPE="124"



tc qdisc del dev $IDEV root 2>/dev/null


tc qdisc add dev $IDEV root handle 10: htb default 2254


tc class add dev $IDEV parent 10: classid 10:1 htb rate $DOWN ceil $DOWN


i=$IPS;
while [ $i -le $IPE ]
do
tc class add dev $IDEV parent 10:1 classid 10:2$i htb rate $DOWNLOAD ceil $DOWNLOAD prio 1
tc qdisc add dev $IDEV parent 10:2$i handle 100$i: pfifo
tc filter add dev $IDEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i
i=`expr $i + 1`
done


tc class add dev $IDEV parent 10:1 classid 10:2254 htb rate 1000kbps ceil 1000kbps prio 1
tc qdisc add dev $IDEV parent 10:2254 handle 100254: pfifo
tc filter add dev $IDEV parent 10: protocol ip prio 100 handle 2254 fw classid 10:2254


i=$IPS;
while [ $i -le $IPE ]
do
# downloads
iptables -t mangle -A POSTROUTING -d $INET$i -j MARK --set-mark 2$i
i=`expr $i + 1`
done
回复

使用道具 举报

原帖由 ekinmagic 于 2007-2-8 18:03 发表



#!/bin/sh
# BY MAGIC 0.2
# Coyote local command init script

ODEV="ppp0"
IDEV="eth0"

DOWN="1000kbps"


DOWNLOAD="100kbps"

INET="192. ...


用了之后感觉好像没什么作用
我用的是 DD-WRT v23 SP2 (09/15/06) std

[ 本帖最后由 A9d07ead 于 2007-2-9 08:48 编辑 ]
回复

使用道具 举报

不知道你的 是不是ADSL
回复

使用道具 举报

原帖由 ekinmagic 于 2007-2-9 09:27 发表
不知道你的 是不是ADSL


是DSL
回复

使用道具 举报

重启了一下,就能用了,^_^

谢谢了
回复

使用道具 举报

效果还可以吧!    我觉得限制的蛮准的!  你测试一下 准不准
回复

使用道具 举报

 楼主| | 显示全部楼层
谢谢..........
回复

使用道具 举报

成功了没?兄弟上来说下
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-20 11:11

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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