注册 登录
自由的生活_软路由 返回首页

jacksonzhang的个人空间 https://bbs.routerclub.com/?121577 [收藏] [复制] [分享] [RSS]

日志

push功能(强开首页)的辅助脚本

已有 1044 次阅读2011-4-21 01:16 |个人分类:ros资料|

我今天无意中翻阅push的帖子,找到http://bbs.routerclub.com/forum.php?mod=viewthread&tid=37574,看到"寒风落叶"写的脚本,恰好这个功能我也需要.用过这个功能的朋友都知道吧,就是第一个生存时间很短.一般20秒左右,第二个生存时间就起码4小时左右了,那么在这个期间用户掉线后,这个带D的IP地址仍然在地址列表里的直到它timeout,不管用户在期间上下线多少次,就只有第一次会有提示,通过这个脚本的弥补,用户断线后就自动清除地址列表里对应的IP,让每次客户连接都会看到强推首页.

脚本我改进了一下,更精简,减少资源占用.一般设置10s间隔吧,差不多.

{
:local ip
/ip firewall address-list
:foreach i in=[find list=src2] do={
:set ip [get $i address]
:if ([:len [/ip address find dynamic=yes network=$ip]]=0) do={remove $i}}}

应是这样的吧
ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 src-address-list=!src2 \
        action=add-src-to-address-list address-list=src1 address-list-timeout=3s comment=TimeOut1

ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 \
        action=add-src-to-address-list address-list=src2 address-list-timeout=3h comment=TimeOut2

ip firewall nat add chain=dstnat protocol=tcp dst-port=80 src-address-list=src1 \
        action=dst-nat to-addresses=10.24.28.200 to-ports=80 comment=ToAddress

{
:local ip
/ip firewall address-list
:foreach i in=[find list=src2] do={
:set ip [get $i address]
:if ([:len [/ip address find dynamic=yes network=$ip]]=0) do={remove $i}}}


路过

雷人

握手

鲜花

鸡蛋

全部作者的其他最新日志

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-5-18 19:24 , Processed in 0.043039 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

返回顶部