diyernet 发表于 2010-3-13 13:57:23

求ROS 3.22 可用的DDNS脚本 (www.changeip.com)

如题 ROS2.9.27的脚本。放到3.22不能用。最好是能说出这个脚本哪儿不符合3.22
:log info "DDNS: Begin"
:global ddns-user "*****"
:global ddns-pass "*****
:global ddns-host "*1"
:global ddns-interface "pppoe-out1"
: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"

47771885 发表于 2010-3-13 21:08:12

本帖最后由 47771885 于 2010-3-13 21:10 编辑

#阿湘 21:08 2010-3-13 广州
#脚本 QQ 706254058 相亲QQ 47771885
#友情支持
#http://www.ygwlan.com 上海域广通讯科技有限公司
/interface pppoe-client;
:for ii from 1 to 2 do={
#监控多少个接口 如2 个 1 to 2 如果只有一个那就 1 to 1 如果是需要检测 2号接口 那么就是 2 to 2 这样子
:foreach PCT in do={
:local PCName ;
monitor $PCName once do={
:if ($status="connected" && $uptime<02:00:00) do={
#检测是否连接状态并 连接时间小于 02:00:00 的 【适当修改】
:local Ipaddress address];
:set Ipaddress [:pick $Ipaddress 0 [:find $Ipaddress "/"]];
:if ($PCName="pppoe-out1") do={
#这里如果是pppoe-out1接口 运行 更新帮顶下面的域名
/tool dns-update name=aaa.com address=$Ipaddress key-name=xx key=xxx;
} else={
#如果是其他的借口 多个接口绑定不同 域名 这里实例是2个的 多个还需要适当修改
/tool dns-update name=xxx.com address=$Ipaddress key-name=aa key=aaa;
}
:delay 1;
}}}}
#####实际使用请去掉##号后备注 不去掉也可以的 脚本可半小时 一个小时运行一次 适当修改

diyernet 发表于 2010-3-13 22:55:43

回复 2# 47771885


    这位高手。我好像不是很看得懂你给的脚本。应该不只是DDNS脚本吧。还有不完全的多线脚本???

47771885 发表于 2010-3-13 23:09:29

本帖最后由 47771885 于 2010-3-13 23:27 编辑

{:2_32:}
{
#阿湘 21:08 2010-3-13 广州
#脚本 QQ 706254058 相亲QQ 47771885
#友情支持
#http://www.ygwlan.com 上海域广通讯科技有限公司
/interface pppoe-client;
:local PeName "pppoe-out1"
monitor $PeName once do={
:if ($status="connected" && $uptime<02:00:00) do={
:local Ipaddress address];
:set Ipaddress [:pick $Ipaddress 0 [:find $Ipaddress "/"]];
/tool dns-update name=aaa.com address=$Ipaddress key-name=xx key=xxx;
}}}
脚本可半小时 一个小时运行一次 适当修改 给你个简单的

:local PeName "pppoe-out1"
pppoe-out1 是你要扫描的接口

/tool dns-update name=aaa.com address=$Ipaddress key-name=xx key=xxx;
aaa.com 是你要更新的域名
xx 是你的账号
xxx你的密码

37564751 发表于 2010-3-14 09:36:11

DDNS是什么东西?

diyernet 发表于 2010-3-19 14:08:15

谢谢2楼了

g1325 发表于 2010-3-21 03:16:46

做个记号,可能用到的时候不多。

caokai1018 发表于 2010-3-26 19:24:14

谢了先

62911791 发表于 2010-3-27 01:19:57

:global ddnsuser "帐号"
:global ddnspass "密码"
:global ddnshost "域名"
:global ddnsip
:global ddnsipfn
:global ddnslastip [:tostr [:resolve $ddnshost] ]
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }
:global ddnsinterface "外网网卡"
:global ddnssystem ("mt-" . )
:local int
:local ddnsipfn [ /ip address get address ]
:global ddnsip [:pick $ddnsipfn 0 [:find $ddnsipfn "/" ] ]
:if ([ :typeof $ddnsip ] = nil ) do={
:log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
} else={
:if ($ddnsip != $ddnslastip) do={
:log info "DDNS: Sending UPDATE!"
:log info [ :put ]
:global ddnslastip $ddnsip
} else={
:log info "DDNS: No update required."
}
}

cooljay 发表于 2011-2-14 15:22:56

谢谢分享,学习到很多,再次谢谢.
页: [1]
查看完整版本: 求ROS 3.22 可用的DDNS脚本 (www.changeip.com)