xuxi3201 发表于 2016-4-28 23:06:39

请教对指定ip限速

我知道这个语句可以修改限速的ip
/queue simple set 2 target=192.168.100.133

现在,我通过防火墙filter 把一些ip生成到address list


假设Packet1501清单最多10个ip,
请教,如何写个语句,把Packet1501后面的ip修改到 /queue simple 前面10条记录?

cspm333 发表于 2016-4-29 15:31:29

本帖最后由 cspm333 于 2016-4-29 15:37 编辑

:foreach i in= list=Packet1501]\
   do={
          :local Ad
          :if ([:len ]=0) \
            do={/queue simple add dst=pppoe-out1 max-limit=5M/20M name="limit $Ad" target="$Ad/32" place-before=0}
          }

xuxi3201 发表于 2016-4-29 22:35:31


谢谢 cspm333 ,
现在我使用的是这样的,    /system script
:foreach i in= do={
      :local Ad ;
      /queue simple set max-limit=1M/60M\
      }
# list里面的ip地址, 限速改为1M/60M

先在 fir fil 里设置 连接80的 进list

最后   /tool traffic-monitor
add interface=PPPOE name=Limit80link on-event=Limit80 threshold=6000000
意思是 传出大于6M, 就执行一次 上面的脚本。

cspm333 发表于 2016-4-30 10:37:48

本帖最后由 cspm333 于 2016-4-30 10:39 编辑

xuxi3201 發表於 2016-4-29 22:35
謝謝 cspm333 ,
現在我使用的是這樣的,    /system script
:foreach i in=
其實最正解應該是依官方,用PCQ做:
/ip firewall mangle
add action=mark-packet chain=preroutingnew-packet-mark=Limit80_upload   src-address-list=Limit80
add action=mark-packet chain=postrouting new-packet-mark=Limit80_download dst-address-list=Limit80

/queue type
add kind=pcq name=PCQ_upload   pcq-classifier=src-address pcq-rate=1M
add kind=pcq name=PCQ_download pcq-classifier=dst-address pcq-rate=60M

/queue tree
add name=PCQ_Limit80_upload   packet-mark=Limit80_upload   parent=PPPOE queue=PCQ_upload
add name=PCQ_Limit80_download packet-mark=Limit80_download parent=PPPOE queue=PCQ_download

設置完只要是在list=Limit80記錄的任一個ip ,都會被限制在1M/60M




补充内容 (2016-5-1 12:06):
Sorry!
/queue tree的download設定有誤 ,若是下載parent應為LAN ,而非PPPOE

xuxi3201 发表于 2016-4-30 20:58:50

add action=mark-packet chain=preroutingnew-packet-mark=Limit80_upload   src-address-list=Limit80
add action=mark-packet chain=postrouting new-packet-mark=Limit80_download dst-address-list=Limit80

为什么不是 chain=forward?
chain=forward 什么情况下使用?

cspm333 发表于 2016-4-30 21:22:46

本帖最后由 cspm333 于 2016-4-30 21:43 编辑

xuxi3201 發表於 2016-4-30 20:58
add action=mark-packet chain=preroutingnew-packet-mark=Limit80_upload   src-address-list=Limit80 ...
http://i.imgur.com/UhszzTv.gif

prerouting:從wan進入,nat前
postrouting:出nat,wan出口前
forward:路由判斷(在路由器內)

所以重點於標記封包在路由判斷內,還是路由判斷外.
但不管是對路由判斷內,還是外 的封包做qos限速都會有相同效果.

也就是:
下載封包到您的PC那瞬間做限速(forward) ,還是從nat進入時就限速(prerouting);
上載封包在離開您PC後就做限速(forward) ,還是離開nat時才限速(postrouting).

ps:混著使用,也是您的自由.

xuxi3201 发表于 2016-4-30 22:25:49

谢谢。
页: [1]
查看完整版本: 请教对指定ip限速