请教对指定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: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}
}
谢谢 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: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 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: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:混著使用,也是您的自由.
谢谢。
页:
[1]