请教address-list刷新的问题
/ip firewall filter里的规则产生的/ip firewall address-list地址,如果有倒计时,会自动刷新时间。比如timeout=30m当 /ip firewall filter再次满足条件时,/ip firewall address-list里的对应记录 timeout会自动刷新到30m。
我的计划任务可以添加ip到/ip firewall address-list,
而且是 倒计时的,timeout=30m,就不自动刷新时间到30m
请教:每次计划任务执行的时候,如何让timeout变成30m?
谢谢了
.
就字面需求来说
/ip firewall address-list
set 0 timeout=30m
仅供参考 我的问题是这样的,
比如20分钟运行一次
:foreach i in= \
do={
:local ADD
/ip firewall address-list add list=SCAN-IP address=$ADD timeout=30m}
我遇到的问题是 当第二次运行是 address-list里面已经捕获到ip, 而且倒计时是10m。
再过10分钟,这个ip就从address-list里自动退出。
直到第三次定时,这个ip被捕获。
一直这样循环。 小弟知道您想問編譯script:
若SCAN-IP新增相同address的情況,會出現failure: already have such entry
所以您可用兩種方式避開:
1.先計算SCAN-IP清單有無相同的ip. 數量為0時,才新增address.
:if ([:len ]=0) \
do={/ip firewall address-list add list=SCAN-IP address=$ADD timeout=30m}
2.無視錯誤新增address.
do {/ip firewall address-list add list=SCAN-IP address=$ADD timeout=30m} on-error={}
若do裡面的內容發生錯誤,會跳到on-error執行必要的程式碼.
故意讓on-error空白,即錯誤也不在乎.
問小弟喜歡那種方式,我想應該是2吧.因為會減少find次數讓script效能變好^^
但do {} on-error={}是v6.2後才支援的語法,用在v6.2前會讓整個script錯誤崩潰. 我说的是,
电脑ip已经存在于address-list的时候,
timeout时间不刷新。
自己已经找到 刷新为“30m” 的办法了。 谢谢各位 本帖最后由 xuxi3201 于 2016-6-10 13:45 编辑
cspm333 发表于 2016-6-9 16:59
小弟知道您想問編譯script:
若SCAN-IP新增相同address的情況,會出現failure: already have such entry本贴想做到的就是,刷新address里的timeout时间。
若SCAN-IP新增相同address的情況,會出現failure: already have such entry
这个时候,timeout时间,不会刷新为脚本里的“timeout时间”。
我发这个贴,想找个办法,
把address-list里的 timeout时间刷新为脚本里的“timeout时间”
xuxi3201 发表于 2016-6-9 21:05
若SCAN-IP新增相同address的情況,會出現failure: already have such entry
这个时候,timeout时间,不会 ...
很簡單啊~
從列表移除address,再新增回去timeout不就又回到30m了嗎;P
另外更正p2p應該從dst-address抓取相同的address和port才對,
從src-address抓會沒結果.
http://i.imgur.com/XkEbtDD.png
本帖最后由 xuxi3201 于 2016-6-10 16:54 编辑
cspm333 发表于 2016-6-10 00:21
很簡單啊~
從列表移除address,再新增回去timeout不就又回到30m了嗎
发这个贴,是问timeout的事情, 已经解决。就转移到P2P的话题,如下:
我发给你的脚本,我已经在路由器中使用。
其中 rem $j 那一行需要优化。
你回帖说的 "應該從dst-address抓取",
我这里在路由器查了,是空白:
抓到的2条记录,是dns的。
在路由器按照“src-address抓取"
得到数据是正确 ,截图如下
对了,我的路由器 UPnP当前是关闭。
页:
[1]