xuxi3201 发表于 2016-6-9 01:04:18

请教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?
谢谢了


.

47771885 发表于 2016-6-9 11:11:38

就字面需求来说

/ip firewall address-list
set 0 timeout=30m

仅供参考

xuxi3201 发表于 2016-6-9 16:02:31

我的问题是这样的,
比如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被捕获。
一直这样循环。

cspm333 发表于 2016-6-9 16:59:10

小弟知道您想問編譯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錯誤崩潰.

xuxi3201 发表于 2016-6-9 21:03:22

我说的是,
电脑ip已经存在于address-list的时候,
timeout时间不刷新。   
自己已经找到 刷新为“30m” 的办法了。 谢谢各位

xuxi3201 发表于 2016-6-9 21:05:53

本帖最后由 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时间”

cspm333 发表于 2016-6-10 00:21:23

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 14:07:03

本帖最后由 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]
查看完整版本: 请教address-list刷新的问题