一个奇怪问题的解决思路 附上脚本
本帖最后由 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 address] 0 3]
:if ($oip < 221) do={
/interface pppoe-client set pppoe-out1"] disable=yes
:delay 3
/interface pppoe-client set pppoe-out1"] disable=no
} else={
:global nip [:pick address] 0 [:find 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,运气不好可能等个十来分钟。 呵呵呵 呵呵不错不错 顶一下 确实是奇怪 上有政策,下有对策! 那天我问你的那个问题,也没有很好的办法,最后也是用脚本解决的
我推崇ROS,就是因为有强大的脚本功能 做标记。。
页:
[1]