fologan 发表于 2006-7-16 16:05:56

注意:双线路由脚本中语法参数不对导致不能运行已解决--脚本的风采

近日下载新的版本2.9.26RouterOS,刻盘再安装,一切OK。设置好内网IP及两个外网、伪装等,再建好双线断线自动切换脚本和监视(按照坛子里做法),全部搞定后,然后人为拨一个WAN口的线,可最后死活就是不能自动变换网关。我的操作全部是在winbox中进行的(除了设置内网I)

监视肯定没做错,用winbox查看netwatch可看到状态为down。那肯定就脚本的问题,接着反复对照坛子的几篇文章和网大说明书,没有什么不对的。(在source窗口中内容为/ip route set gateway 58.20.20.1)

正在发愁的时候,忽然在winbox的脚本scripts list窗口中看见有Run Scripts按钮,这不是直接运行脚本的按钮吗,马上选中一个CNCdown然后点击Run Scripts按钮,结果无反应,这下100%确定为脚本source语句有问题,于是反复再实验和在Terminal中试验语句,后比较发现在查找条件项有所区别ip route find dst 0.0.0.0,有的是这样写的:ip route find dst-address=0.0.0.0,但我改成这样不行,改来改去没用,最后路由表中发现dst-address列中描述出口网关是“0.0.0.0/0”,那是不是写成这样呢,马上加个斜扛和零“/0”,结果OK!成功了,问题既然出在这里,万分狂喜。

搞了半个晚上,一个“/0”折腾了半晚,真是悲喜交加!这可能是RouterOS的版本不一,只是说有可能,我是从前没用过RouterOS,是最近要搞双Wan才研究这个的,在此向大家说一下我的经历,望有所参考。初次使用,还望大家赐教!

[ 本帖最后由 cracks 于 2007-11-4 13:08 编辑 ]

fologan 发表于 2006-7-16 16:12:29

也就这样写:ip route set gateway 58.20.20.1

parphy 发表于 2006-7-17 11:41:02

还是基本功的问题!
一般情况下,掩码不写,根据各厂家设备的不同,要么会报错,要么就默认为32
0.0.0.0不写掩码就等于0.0.0.0/32这个地址
而0.0.0.0/0则代表任何地址

casper2000 发表于 2006-7-17 11:52:09

2.9.X的版本不用写脚本

fologan 发表于 2006-7-17 13:54:07

原帖由 parphy 于 2006-7-17 11:41 发表
还是基本功的问题!
一般情况下,掩码不写,根据各厂家设备的不同,要么会报错,要么就默认为32
0.0.0.0不写掩码就等于0.0.0.0/32这个地址
而0.0.0.0/0则代表任何地址

多谢parphy,其实这些基本功我还是有的,我的问题不在此,而是为什么坛子里都是那样写的语句,且网大的2.8的说明书也是这样写的,而我的脚本却不能正常运行。双线自动切换不就是监视两个线路的状态然后触发相应的脚本而自动变换网关目的,也就是0.0.0.0/0的路由去向。

cracks 发表于 2007-11-4 13:08:03

为他人排错。支持

kele521 发表于 2007-11-16 15:22:47

尽信书不如无书,本人也有类似的遭遇,总之一句话:“实践出真知,不要迷信权威,自己多做实验。”
页: [1]
查看完整版本: 注意:双线路由脚本中语法参数不对导致不能运行已解决--脚本的风采