fyfal 发表于 2010-6-21 15:47:50

关于PPPOE 根据用户数量限速的困惑

#获取pppoe用户登录数
:global user1
#设置用户数usera为30
:global usera 30
#设置用户数userb为50
:global userb 50
#设置用户数userc为70
:global userc 70
#设置用户数userc为90
:global userd 90
#设置流量小于10m时运行,请根据实际环境修改
:global TxCurPacket

#查看lan流量
/int mon lan once do={
#获取lan下载流量
:set TxCurPacket ($"tx-bits-per-second")

#如果用户数少于30时运行,请根据实际环境修改
:if ($user1 < $usera) do={
/que ty s "down" pcq-r=2000000
/que ty s "up" pcq-r=96000}

#如果用户数少于50,大于30时运行,请根据实际环境修改
:if ($user1 < $userb) do={
:if ($user1 > $usera) do={
/que ty s "down" pcq-r=1600000
/que ty s "up" pcq-r=96000}}

#如果用户数少于70,大于50时运行,请根据实际环境修改
:if ($user1 < $userc) do={
:if ($user1 > $userb) do={
/que ty s "down" pcq-r=1200000
/que ty s "up" pcq-r=80000}}

#如果用户数少于90,大于70时运行,请根据实际环境修改
:if ($user1 < $userd) do={
:if ($user1 > $userc) do={
/que ty s "down" pcq-r=1000000
/que ty s "up" pcq-r=80000}}

#如果用户数大于90时运行,请根据实际环境修改
:if ($user1 > $userd) do={
/que ty s "down" pcq-r=800000
/que ty s "up" pcq-r=64000}}以上是代码 出自肌肉男之手,
请问/que ty s "down" pcq-r=2000000
/que ty s "up" pcq-r=96000}
这个数字是什么单位呢??    为什么我设置任何数字以后 ,使用IE下载都会提示与服务器断开连接
而在PPPOE模板那里设置限速则没有这个问题

另外这个脚本是实时运行 ? 根据流量来启动的吗?希望高手回答
:global TxCurPacket这一句不知道啥意思

本人巨菜LINUX无任何基础还望各位赐教

WGHBOY 发表于 2010-6-22 02:44:29

:global TxCurPacket这一句不知道啥意思,这句不要

fyfal 发表于 2010-6-22 16:41:56

回复 2# WGHBOY


    不要就能解决以上问题了吗?

那带宽的单位是什么?

dhp 发表于 2010-6-22 23:23:15

那么多0,我想是bps吧

fyfal 发表于 2010-6-24 18:02:41

单位弄明白了   但是这个脚本的启动机制还是不明白

另外发现没有效果啊

检查了N次   按照这个设置我拨号1个上去 小于30则限速为 2000000即 2M

但是使用迅雷下载都是全速的....IE下载老出错 我系统有问题

求肌肉男和各位高手解答!!!

WGHBOY 发表于 2010-6-24 19:07:29

每个ros版本都不通的,具体你要修改一下

fyfal 发表于 2010-6-25 10:10:28

后来我在控制台一条一条的输入 发现
/que ty s "down" pcq-r=1200000这一类型的是写不进去的
需要手动添加一个名为down或者up的规则   
我又查找了以前资料有的说要在防火墙Mangle这里添加一条规则/ ip firewall mangle

  add chain=prerouting action=mark-packet new-packet-mark=all-mark \

  passthrough=yes comment="" disabled=no
这个样子 然后重试 还是限速无效/ queue type

  add name="PCQ-up" kind=pcq pcq-rate=1500000 pcq-limit=50 \

  pcq-classifier=src-address pcq-total-limit=2000

  add name="PCQ-down" kind=pcq pcq-rate=1500000 pcq-limit=50 \

  pcq-classifier=dst-address pcq-total-limit=2000


这一句和肌肉男发的不一样,可以直接在控制台添加成功 ,但是限速还是没有效果. 我的是3.22
2个SRC和 DST都是什么作用呢? 需要勾选吗?

另外此脚本的触发机制是什么呢? 实时运行?
我对比了你前后发布的这个2种脚本   除了用流量触发这里不太一样 其他都基本上差不多

如果把流量触发部分全部删除 那么这个脚本还可以用吗?

热切期待肌肉男回答...

fyfal 发表于 2010-6-25 16:22:09

经过继续查找PQC限速的资料 ,终于可以限速了,
现在有个想法请肌肉男和各路高手斧正

添加N个PCQ限速规则
例如
2M
4M
6M
8M

添加受PCQ限速的网段

然后引用肌肉男的根据PPPOE数量限速的脚本
获取当前PPPOE数量
如果小于30则限速8M 大于30小于50限速6M以此类推
但是不使用流量触发,而是10分钟运行一次脚本获取用户数量后 开启或关闭相关PCQ规则

不知是否可行希望各高手扔砖

fyfal 发表于 2010-6-26 17:07:40

经过N个小时的折腾 终于可以按照用户数量来限制速度了...

yuefy 发表于 2010-7-14 22:03:46

发个脚本来看看~~~怎么弄的!

danny521 发表于 2010-7-15 12:04:22

脚本在上边啊
页: [1]
查看完整版本: 关于PPPOE 根据用户数量限速的困惑