找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4806|回复: 6

[脚本] 一个奇怪问题的解决思路 附上脚本

[复制链接]
发表于 2009-3-13 14:19:20 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 zooyo 于 2009-3-13 14:20 编辑

    今天有个网友加我QQ,遇到一个奇怪的问题,只要ADSL拨号获得的是112开头的IP,远程WINBOX就连接不上,但是获得221和222开头的IP就能远程连接,起初我以为是设置、默认路由等问题,连接进去后发现设置都正常,就是一条单线ADSL拨号,没什么复杂的东西,防火墙规则也没有特别设置,奇怪了,或者是当地ISP有什么特殊的限制吧,不钻牛角尖,运用强大的脚本功能即可解决问题。
    首先要获取拨号后的IP前3位,如果是小于221开头的IP,就禁止拨号,延迟数秒后再重新拨号,看能不能获得221和222开头的IP地址,如果是221-222开头的,那么就更新DDNS,在DDNS脚本中得加个判断,否则只要是221-222开头的IP脚本就会一直更新。
    下面是脚本,抛砖引玉,有了ros强大的脚本功能,很多问题都可以得到解决。


:global oip [:pick [/ip address get [find dynamic=yes] address] 0 3]
:if ($oip < 221) do={
    /interface pppoe-client set [find name="pppoe-out1"] disable=yes
    :delay 3
    /interface pppoe-client set [find name="pppoe-out1"] disable=no
} else={
        :global nip [:pick [/ip address get [find dynamic=yes] address] 0 [:find [/ip address get [find dynamic=yes] address] "/"]]
        :if ($nip != [:resolve "XXX.ddns.ms"]) do={
            /tool dns-update name=XXX.ddns.ms address=$nip key-name=XXX key=XXX
        }
}

该脚本在v3.20下测试通过,设置每8秒自动运行一次。


话说回来,要是遇到上网高峰期221-222的IP池满了,刚好你启动ROS,运气不好可能等个十来分钟。
routeros
发表于 2009-3-13 14:27:37 | 显示全部楼层
呵呵呵 呵呵不错不错
routeros
回复

使用道具 举报

发表于 2009-3-13 14:27:49 | 显示全部楼层
顶一下
routeros
回复

使用道具 举报

发表于 2009-3-13 16:55:21 | 显示全部楼层
确实是奇怪
routeros
回复

使用道具 举报

发表于 2009-3-13 21:56:54 | 显示全部楼层
上有政策,下有对策!
routeros
回复

使用道具 举报

发表于 2009-3-13 22:36:57 | 显示全部楼层
那天我问你的那个问题,也没有很好的办法,最后也是用脚本解决的

我推崇ROS,就是因为有强大的脚本功能
routeros
回复

使用道具 举报

发表于 2009-3-13 22:49:21 | 显示全部楼层
做标记。。
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 01:41 , Processed in 0.052818 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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