找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 13802|回复: 7

[其它] 请教address-list刷新的问题

[复制链接]
发表于 2016-6-9 01:04:18 | 显示全部楼层 |阅读模式

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

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

×
/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?
谢谢了


  .

routeros
发表于 2016-6-9 11:11:38 | 显示全部楼层
就字面需求来说  

  1. /ip firewall address-list
  2. set 0 timeout=30m
复制代码

仅供参考
routeros
回复

使用道具 举报

 楼主| 发表于 2016-6-9 16:02:31 | 显示全部楼层
我的问题是这样的,
比如20分钟运行一次
:foreach i in=[/ip firewall connection find dst-address~"192.168.1."] \
   do={
          :local ADD [/ip firewall connection get $i src-address]
          /ip firewall address-list add list=SCAN-IP address=$ADD timeout=30m}

我遇到的问题是 当第二次运行是 address-list里面已经捕获到ip, 而且倒计时是10m。
再过10分钟,这个ip就从address-list里自动退出。
直到第三次定时,这个ip被捕获。
一直这样循环。
routeros
回复

使用道具 举报

发表于 2016-6-9 16:59:10 | 显示全部楼层
小弟知道您想問編譯script:
若SCAN-IP新增相同address的情況,會出現failure: already have such entry

所以您可用兩種方式避開:

1.先計算SCAN-IP清單有無相同的ip. 數量為0時,才新增address.
  :if ([:len [/ip firewall address-list find list=SCAN-IP address=$ADD]]=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錯誤崩潰.
routeros
回复

使用道具 举报

 楼主| 发表于 2016-6-9 21:03:22 | 显示全部楼层
我说的是,
电脑ip已经存在于address-list的时候,
timeout时间不刷新。   
自己已经找到 刷新为“30m” 的办法了。 谢谢各位
routeros
回复

使用道具 举报

 楼主| 发表于 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时间”

routeros
回复

使用道具 举报

发表于 2016-6-10 00:21:23 | 显示全部楼层
xuxi3201 发表于 2016-6-9 21:05
若SCAN-IP新增相同address的情況,會出現failure: already have such entry
这个时候,timeout时间,不会 ...

很簡單啊~
從列表移除address,再新增回去timeout不就又回到30m了嗎

另外更正p2p應該從dst-address抓取相同的address和port才對,
從src-address抓會沒結果.

                               
登录/注册后可看大图


routeros
回复

使用道具 举报

 楼主| 发表于 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抓取",
我这里在路由器查了,是空白:
ros0609.JPG
抓到的2条记录,是dns的。

在路由器按照“src-address抓取"  
得到数据是正确 ,截图如下
ros0610.JPG


对了,我的路由器 UPnP当前是关闭。


routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 18:52 , Processed in 0.080240 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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