关用ROS 3.0 脚本的问题. 高手请进.....
1. 建立更新域名信息. 进入 Winbox-system-script 添加:Name: DDNS 内容如下::log info "DDNS: Mikro"
:global ddns-user "账号"
:global ddns-pass "密码"
:global ddns-host "*1"
:global ddns-interface "ADSL接口名"
:global ddns-ip [ /ip address get address ]
:if ([ :typeof $ddns-lastip ] = nil ) do={ :global ddns-lastip 0.0.0.0/0 }
:if ([ :typeof $ddns-ip ] = nil ) do={
:log info ("DDNS: No ip address present on " . $ddns-interface . ", please check.")
} else={
:if ($ddns-ip != $ddns-lastip) do={
:log info "DDNS: Sending UPDATE!"
:log info [ /tool dns-update name=$ddns-host address=[:pick $ddns-ip 0 [:find $ddns-ip "/"] ] key-name=$ddns-user key=$ddns-pass ]
:global ddns-lastip $ddns-ip
} else={
:log info "DDNS: No change"
}
}
:log info "DDNS: End"
2. 检测你的IP是否改变,进入 Winbox-system-script 添加:Name: DNScheck 内容如下:
:if ([ :typeof $a ] = nil ) do {
:global a "0.0.0.0/24"
}
:global ddns-interface "ADSL接口名"
:global b [ /ip address get address ]
:if ($a != $b) do {
/system script run DDNS
:set a $b
}
3. 设置定时运行DNScheck,进入 Winbox-system-Scheduler 添加:Name: RUN-DNScheck 内容如下:
DNScheck
整体测试:条件设置,在:RUN-DNScheck的Interval(间隔时间)里暂时设置00:00:06 每6秒运行DNScheck一次(前提下必须这个RUN-DNScheck),开始测试禁用你的ADSL(pppoe-out1),启用你的ADSL(pppoe-out1),这时你可以看到你的IP地址已经改变,打开Script List窗口,可以看到Run Count(运行次数)的DNScheck已经增加一个数字,DDNS也接着增加一个数字,在你的IP没有变化的情况下,DNScheck的运行次数会每6秒增加一个数字,但DDNS不会增加运行次数,你可以禁用和启用ADSL(pppoe-out1)就可以重复看到我们所设置的真正达到更新域名的效果!(最近changeip.com的服务器比较忙(台湾地震问题),如果在ROS的日记时出现DNS update successful时域名更新已经成功,如果出现ddns error timeout,可能是changeip.com的服务器忙)
每运行script下的DDNS你的动态域名就会在30秒内得到更新(每次查看是否已经更新域名,在开始-运行里ping netlea.changeip.com,不要在dos窗口下查看,因为DOS窗口下在没有关闭窗口下都有原来的DNS记录)
上面的是动态更新ADSL IP的脚本. 但不能在3.0RC11上用. 哪位高手能为能在3.0上用. 在线等.............thx
页:
[1]