终于搞定DD-WRT 控制网速问题。。
我这网速虽然是2M的,别人一下东西,打开网页就慢的要命。没办法在网上找封bt,迅雷的设置。试了,都不好使。靠,一看,原来别人用的是超级旋风。用了QoS也不定要。网速照样慢。。
再用。iptables -I FORWARD -p tcp -s 192.168.1.X -m connlimit --connlimit-above 50 -j REJECT;
iptables -I INPUT -p tcp -s 192.168.1.X -m connlimit --connlimit-above 50 -j REJECT;
这个命令。现在怎么竟然不好用。用了IP链接还是原来那样。限制不了在50内。。
没办法只能用TC+iptables。搞定了。
我把192.168.1.200,201两个地址开放,其他地址全部限制在下载速度60K/S左右.
自己用其他的IP地址试了一下。只能维持个上网的速度。
那两个IP地址就爽了。干什么就很快。哈哈。
下面是命令行:
#!/bin/sh
# Download
tc qdisc del dev br0 root 2>/dev/null
tc qdisc add dev br0 root handle 2:0 htb default 100
tc class add dev br0 parent 2:0 classid 2:1 htb rate 10000kbit burst 1000k
tc class add dev br0 parent 2:1 classid 2:2 htb rate 720kbit ceil 1200kbit burst 8k prio 1
tc class add dev br0 parent 2:2 classid 2:20 htb rate 10000kbit ceil 10000kbit burst 6k prio 2
tc class add dev br0 parent 2:2 classid 2:25 htb rate 500kbit ceil 500kbit burst 6k prio 5
tc qdisc add dev br0 parent 2:20 handle 20: sfq perturb 10
tc qdisc add dev br0 parent 2:25 handle 25: sfq perturb 10
tc filter add dev br0 parent 2:0 protocol ip prio 1 handle 25 fw classid 2:25
tc filter add dev br0 parent 2:0 protocol ip prio 9 handle 20 fw classid 2:20
# Mark
iptables -t mangle -A POSTROUTING -d 192.168.1.2/31 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.4/30 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.8/29 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.16/28 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.32/27 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.64/26 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.128/26 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.192/29 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.200/32 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.1.201/32 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.1.205/32 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.206/31 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.208/28 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.224/28 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.240/29 -j MARK --set-mark 25
iptables -t mangle -A POSTROUTING -d 192.168.1.248/31 -j MARK --set-mark 25
最新修改的单IP限制上下行防火墙规则0.3版本!(不用特别版也可以按IP限制流量)
最新0.3版本 简化了代码!
1.增加了定义限制的IP范围以外的共享速度例如你路由分配了192.168.1.2~192.168.1.5 一共4个IP地址 但如果你有其他用户私自更改IP 或增加电脑是192.168.1.6 ~192.168.1.254 这就属于定义限制的IP范围以外 的IP了就可以利用这个去定义他们的共享速度!注意这个速度是共享的!
2.增加定义特殊IP 速度功能! 例如你定义了192.168.1.2~192.168.1.5的每个IP速度下行100k 上行10k ! 但其中 192.168.1.2是我自己的!谁还会那么傻限自己速呢! 呵呵 这就速度特殊IP了! 又或者某个IP 是BT狂人 需要把速度再降低一点! 这也属于特殊IP!
特殊IP可以按自己实际去增加 减少 或 完全不定义!
例如: 这是五行原始代码NIP 为IP号 NIPDOWN为下载速度 NIPUP为上行速度 最后两行无须修改 如果不需要定义特殊IP可以直接这五行代码删除!
如果需要增加可以复制这五行代码 粘贴到 前段代码的后面 ! 在按实际去修改 NIP NIPDOWN NIPUP这三个参数!
NIP="2"
NIPDOWN="200kbps"
NIPUP="20kbps"
tc class add dev $ODEV parent 10:1 classid 10:2$NIP htb rate $NIPUP ceil $NIPUP prio 1
tc class add dev $IDEV parent 10:1 classid 10:2$NIP htb rate $NIPDOWN ceil $NIPDOWN prio 1
以下为0.3版本代码从#开始复制到结尾
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
# BY MAGIC 0.3 070213
# Coyote local command init script
# 定义进出设备(如果不是ADSL拨号用户可以把ppp0改为eth1)
ODEV="ppp0"
IDEV="eth0"
# 定义总的上下带宽
UP="60kbps"
DOWN="400kbps"
# 定义每个受限制的IP上下带宽
UPLOAD="10kbps"
DOWNLOAD="100kbps"
# 定义内网IP段
INET="192.168.1."
# 定义限制的IP范围
IPS="2"
IPE="36"
# 定义限制的IP范围以外的共享速度outdown为下行outup为上行
outdown="2kbps"
outup="2kbps"
#以下部分无须修改 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 清除 ppp0 eth0 所有队列规则
tc qdisc del dev $ODEV root 2>/dev/null
tc qdisc del dev $IDEV root 2>/dev/null
# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev $ODEV root handle 10: htb default 2254
tc qdisc add dev $IDEV root handle 10: htb default 2254
# 定义第一层的 10:1 类别 (上行/下行 总频宽)
tc class add dev $ODEV parent 10: classid 10:1 htb rate $UP ceil $UP
tc class add dev $IDEV parent 10: classid 10:1 htb rate $DOWN ceil $DOWN
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#定义特殊IP按实际添加和修改 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#如使用经常BT的的用户或自己
#例如 我这里把自己用的192.168.1.2 设置为下行设置为200k上行20k,还可以按实际增加或删除下面五行
NIP="2"
NIPDOWN="200kbps"
NIPUP="20kbps"
tc class add dev $ODEV parent 10:1 classid 10:2$NIP htb rate $NIPUP ceil $NIPUP prio 1
tc class add dev $IDEV parent 10:1 classid 10:2$NIP htb rate $NIPDOWN ceil $NIPDOWN prio 1
#经常BT 的192.168.1.4设置下行50k 上行8k 如果不需要可以删除下面五行
NIP="4"
NIPDOWN="50kbps"
NIPUP="8kbps"
tc class add dev $ODEV parent 10:1 classid 10:2$NIP htb rate $NIPUP ceil $NIPUP prio 1
tc class add dev $IDEV parent 10:1 classid 10:2$NIP htb rate $NIPDOWN ceil $NIPDOWN prio 1
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#以下部分无须修改 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# rate 保证频宽,ceil 最大频宽,prio 优先权
i=$IPS;
while [ $i -le $IPE ]
do
tc class add dev $ODEV parent 10:1 classid 10:2$i htb rate $UPLOAD ceil $UPLOAD prio 1
tc qdisc add dev $ODEV parent 10:2$i handle 100$i: pfifo
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i
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
iptables -t mangle -A PREROUTING -s $INET$i -j MARK --set-mark 2$i
iptables -t mangle -A POSTROUTING -d $INET$i -j MARK --set-mark 2$i
i=`expr $i + 1`
done
#定义default 类别编的上行 (上面没定义带宽的IP上行速度)
tc class add dev $ODEV parent 10:1 classid 10:2254 htb rate $outup ceil $outup prio 1
tc qdisc add dev $ODEV parent 10:2254 handle 100254: pfifo
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2254 fw classid 10:2254
#定义default 类别编的下行 (上面没定义带宽的IP下行速度)
tc class add dev $IDEV parent 10:1 classid 10:2254 htb rate $outdown ceil $outdown 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为0.2版本
#!/bin/sh
# BY MAGIC 0.2
# Coyote local command init script
# 定义进出设备(如果不是ADSL拨号用户可以把ppp0改为eth1)
ODEV="ppp0"
IDEV="eth0"
# 定义总的上下带宽
UP="60kbps"
DOWN="400kbps"
# 定义每个IP上下带宽
UPLOAD="10kbps"
DOWNLOAD="100kbps"
# 定义内网IP段
INET="192.168.1."
# 定义限制的IP范围
IPS="2"
IPE="30"
# 清除 ppp0 所有队列规则
tc qdisc del dev $ODEV root 2>/dev/null
# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev $ODEV root handle 10: htb default 2254
# 定义第一层的 10:1 类别 (上行总频宽)
tc class add dev $ODEV parent 10: classid 10:1 htb rate $UP ceil $UP
# 定义192.168.1.2~192.168.1.29ip的上行速度
# rate 保证频宽,ceil 最大频宽,prio 优先权
i=$IPS;
while [ $i -le $IPE ]
do
tc class add dev $ODEV parent 10:1 classid 10:2$i htb rate $UPLOAD ceil $UPLOAD prio 1
tc qdisc add dev $ODEV parent 10:2$i handle 100$i: pfifo
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i
i=`expr $i + 1`
done
#定义default 类别编的上行 (上面没定义带宽的IP上行速度)
tc class add dev $ODEV parent 10:1 classid 10:2254 htb rate 5kbps ceil 5kbps prio 1
tc qdisc add dev $ODEV parent 10:2254 handle 100254: pfifo
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2254 fw classid 10:2254
# QoS eth0 下载方面
# 清除 eth0所有队列规则
tc qdisc del dev $IDEV root 2>/dev/null
# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev $IDEV root handle 10: htb default 2254
# 定义第一层的 10:1 类别 (上行总频宽)
tc class add dev $IDEV parent 10: classid 10:1 htb rate $DOWN ceil $DOWN
#定义192.168.1.2~192.168.1.2.29 IP的下行速度
# rate 保证频宽,ceil 最大频宽,prio 优先权
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
#定义default 类别编的下行 (上面没有定义带宽IP的下行速度)
tc class add dev $IDEV parent 10:1 classid 10:2254 htb rate 50kbps ceil 50kbps 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
#按IP 控制up 和 dwon
i=$IPS;
while [ $i -le $IPE ]
do
iptables -t mangle -A PREROUTING -s $INET$i -j MARK --set-mark 2$i
# downloads
iptables -t mangle -A POSTROUTING -d $INET$i -j MARK --set-mark 2$i
i=`expr $i + 1`
done
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。