找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6536|回复: 10

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

[复制链接]
发表于 2010-6-21 15:47:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  1. #获取pppoe用户登录数
  2. :global user1 [/pp ac p c ]
  3. #设置用户数usera为30
  4. :global usera 30
  5. #设置用户数userb为50
  6. :global userb 50
  7. #设置用户数userc为70
  8. :global userc 70
  9. #设置用户数userc为90
  10. :global userd 90
  11. #设置流量小于10m时运行,请根据实际环境修改
  12. :global TxCurPacket

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

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

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

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

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

  36. #如果用户数大于90时运行,请根据实际环境修改
  37. :if ($user1 > $userd) do={
  38. /que ty s "down" pcq-r=800000
  39. /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无任何基础  还望各位赐教
routeros
发表于 2010-6-22 02:44:29 | 显示全部楼层
:global TxCurPacket  这一句不知道啥意思,这句不要
routeros
回复

使用道具 举报

 楼主| 发表于 2010-6-22 16:41:56 | 显示全部楼层
回复 2# WGHBOY


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

那带宽的单位是什么?
routeros
回复

使用道具 举报

发表于 2010-6-22 23:23:15 | 显示全部楼层
那么多0,我想是bps吧
routeros
回复

使用道具 举报

 楼主| 发表于 2010-6-24 18:02:41 | 显示全部楼层
单位弄明白了   但是这个脚本的启动机制还是不明白

另外发现没有效果啊  

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

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

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

使用道具 举报

发表于 2010-6-24 19:07:29 | 显示全部楼层
每个ros版本都不通的,具体你要修改一下
routeros
回复

使用道具 举报

 楼主| 发表于 2010-6-25 10:10:28 | 显示全部楼层
后来我在控制台一条一条的输入 发现
/que ty s "down" pcq-r=1200000  这一类型的是写不进去的
需要手动添加一个名为down或者up的规则   
我又查找了以前资料  有的说要在防火墙Mangle这里添加一条规则
  1. / ip firewall mangle

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

  3.   passthrough=yes comment="" disabled=no
复制代码
这个样子 然后重试 还是限速无效
  1. / queue type

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

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

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

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


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

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

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

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

使用道具 举报

 楼主| 发表于 2010-6-25 16:22:09 | 显示全部楼层
经过继续查找PQC限速的资料 ,终于可以限速了,
现在有个想法  请肌肉男和各路高手斧正

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

添加受PCQ限速的网段

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

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

使用道具 举报

 楼主| 发表于 2010-6-26 17:07:40 | 显示全部楼层
经过N个小时的折腾 终于可以按照用户数量来限制速度了...
routeros
回复

使用道具 举报

发表于 2010-7-14 22:03:46 | 显示全部楼层
发个脚本来看看~~~怎么弄的!
routeros
回复

使用道具 举报

发表于 2010-7-15 12:04:22 | 显示全部楼层
脚本在上边啊
routeros
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-6-1 17:05 , Processed in 0.059119 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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