少尉
我的路由,我做主
- 注册时间
- 2008-2-17
- 金币
- 151 个
- 威望
- 0 个
- 荣誉
- 0 个
尚未签到
|
<span class="bold">最新修改的单IP限制上下行防火墙规则0.3版本!(不用特别版也可以按IP限制流量)</span><br/><br/>
最新0.3版本 简化了代码! <br/>
1.增加了定义限制的IP范围以外的共享速度 例如你路由分配了192.168.1.2~192.168.1.5
一共4个IP地址 但如果你有其他用户私自更改IP 或增加电脑 是192.168.1.6
~192.168.1.254 这就属于定义限制的IP范围以外 的IP了 就可以利用这个去定义他们的共享速度!注意这个速度是共享的!<br/>
2.增加定义特殊IP 速度功能! 例如 你定义了192.168.1.2~192.168.1.5的每个IP速度下行100k 上行10k !
但其中 192.168.1.2是我自己的! 谁还会那么傻限自己速呢! 呵呵 这就速度特殊IP了! 又或者某个IP 是BT狂人
需要把速度再降低一点! 这也属于特殊IP!<br/>
<br/>
<br/>
特殊IP可以按自己实际去增加 减少 或 完全不定义!<br/>
例如: 这是五行原始代码NIP 为IP号 NIPDOWN为下载速度 NIPUP为上行速度 最后两行无须修改 如果不需要定义特殊IP可以直接这五行代码删除! <br/>
如果需要增加可以复制这五行代码 粘贴到 前段代码的后面 ! 在按实际去修改 NIP NIPDOWN NIPUP这三个参数!<br/>
NIP="2"<br/>
NIPDOWN="200kbps"<br/>
NIPUP="20kbps"<br/>
tc class add dev $ODEV parent 10:1 classid 10:2$NIP htb rate $NIPUP ceil $NIPUP prio 1<br/>
tc class add dev $IDEV parent 10:1 classid 10:2$NIP htb rate $NIPDOWN ceil $NIPDOWN prio 1<br/>
<br/>
以下为0.3版本代码从#开始复制到结尾 <br/>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
#!/bin/sh<br/>
# BY MAGIC 0.3 070213<br/>
# Coyote local command init script<br/>
<br/>
# 定义进出设备(如果不是ADSL拨号用户可以把ppp0改为eth1)<br/>
ODEV="ppp0"<br/>
IDEV="eth0"<br/>
<br/>
# 定义总的上下带宽<br/>
UP="60kbps"<br/>
DOWN="400kbps"<br/>
<br/>
# 定义每个受限制的IP上下带宽<br/>
UPLOAD="10kbps"<br/>
DOWNLOAD="100kbps"<br/>
<br/>
# 定义内网IP段<br/>
INET="192.168.1."<br/>
<br/>
# 定义限制的IP范围<br/>
IPS="2"<br/>
IPE="36"<br/>
<br/>
# 定义限制的IP范围以外的共享速度outdown为下行outup为上行<br/>
outdown="2kbps"<br/>
outup="2kbps"<br/>
<br/>
<br/>
<br/>
#以下部分无须修改 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>
# 清除 ppp0 eth0 所有队列规则<br/>
tc qdisc del dev $ODEV root 2>/dev/null<br/>
tc qdisc del dev $IDEV root 2>/dev/null<br/>
<br/>
# 定义最顶层(根)队列规则,并指定 default 类别编号<br/>
tc qdisc add dev $ODEV root handle 10: htb default 2254<br/>
tc qdisc add dev $IDEV root handle 10: htb default 2254<br/>
<br/>
# 定义第一层的 10:1 类别 (上行/下行 总频宽)<br/>
tc class add dev $ODEV parent 10: classid 10:1 htb rate $UP ceil $UP<br/>
tc class add dev $IDEV parent 10: classid 10:1 htb rate $DOWN ceil $DOWN<br/>
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>
<br/>
<br/>
<br/>
#定义特殊IP按实际添加和修改 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>
#如使用经常BT的的用户或自己 <br/>
#例如 我这里把自己用的192.168.1.2 设置为下行设置为200k上行20k,还可以按实际增加或删除下面五行<br/>
<br/>
NIP="2"<br/>
NIPDOWN="200kbps"<br/>
NIPUP="20kbps"<br/>
tc class add dev $ODEV parent 10:1 classid 10:2$NIP htb rate $NIPUP ceil $NIPUP prio 1<br/>
tc class add dev $IDEV parent 10:1 classid 10:2$NIP htb rate $NIPDOWN ceil $NIPDOWN prio 1<br/>
<br/>
#经常BT 的192.168.1.4设置下行50k 上行8k 如果不需要可以删除下面五行<br/>
NIP="4"<br/>
NIPDOWN="50kbps"<br/>
NIPUP="8kbps"<br/>
tc class add dev $ODEV parent 10:1 classid 10:2$NIP htb rate $NIPUP ceil $NIPUP prio 1<br/>
tc class add dev $IDEV parent 10:1 classid 10:2$NIP htb rate $NIPDOWN ceil $NIPDOWN prio 1<br/>
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>
<br/>
<br/>
#以下部分无须修改 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>
# rate 保证频宽,ceil 最大频宽,prio 优先权<br/>
i=$IPS; <br/>
while [ $i -le $IPE ] <br/>
do<br/>
tc class add dev $ODEV parent 10:1 classid 10:2$i htb rate $UPLOAD ceil $UPLOAD prio 1<br/>
tc qdisc add dev $ODEV parent 10:2$i handle 100$i: pfifo<br/>
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i<br/>
tc class add dev $IDEV parent 10:1 classid 10:2$i htb rate $DOWNLOAD ceil $DOWNLOAD prio 1 <br/>
tc qdisc add dev $IDEV parent 10:2$i handle 100$i: pfifo<br/>
tc filter add dev $IDEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i<br/>
iptables -t mangle -A PREROUTING -s $INET$i -j MARK --set-mark 2$i<br/>
iptables -t mangle -A POSTROUTING -d $INET$i -j MARK --set-mark 2$i<br/>
i=`expr $i + 1` <br/>
done<br/>
<br/>
#定义default 类别编的上行 (上面没定义带宽的IP上行速度)<br/>
tc class add dev $ODEV parent 10:1 classid 10:2254 htb rate $outup ceil $outup prio 1<br/>
tc qdisc add dev $ODEV parent 10:2254 handle 100254: pfifo<br/>
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2254 fw classid 10:2254<br/>
<br/>
#定义default 类别编的下行 (上面没定义带宽的IP下行速度)<br/>
tc class add dev $IDEV parent 10:1 classid 10:2254 htb rate $outdown ceil $outdown prio 1 <br/>
tc qdisc add dev $IDEV parent 10:2254 handle 100254: pfifo<br/>
tc filter add dev $IDEV parent 10: protocol ip prio 100 handle 2254 fw classid 10:2254<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/> |
|