风一样的男孩 发表于 2013-1-27 10:13:30

ROS几个版本系列的动态域名更新脚本(2.9.x,3.2.x,4.x)

这里罗列的DDNS更新脚本主要针对changeip提供的服务,搭建的ROS2.9.27运行也有一年多了,一直没用DDNS来管理,几天前运行脚本就已放到ROS里,发现没起作用,原来是由于changeip服务器的原因没更新,这两天发现可以正常更新.
另外,加了DDNS更新后,由于我用的三线ADSL,发现必须有一条ADSL拨号后要勾选"Add Default Route”,否则无法通过DDNS连线.勾选后,路由表前面的标识会变为DA.
以下分别是ROS 2.9系列,3.20系列,4.0系列的chageip动态域名更新脚本.(2.9系列在2.9.27下测试通过)
ROS 2.9.X系列 (脚本中的*1也可以替换为你在chageip网站申请的二级域名):log info "DDNS: Begin"
:global ddns-user "用户名ID"
: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"ROS 3.20系列:local u "用户名"
:local p "密码"
:local n "你申请的二级域名"
:local nowip address]
:local nowip [:pick $nowip 0 [:find $nowip "/"]]
:local dnsip [:resolve ($n)]
:if (($dnsip) != (0.0.0.0)) do={
:if (($dnsip) !=$nowip) do={
/tool dns-update name=$n address=$nowip key-name=$u key=$p
:log info ("DDNS IS UPDATE :" . $nowip)
}
}ROS 4.X系列:global ddnsuser "YourChangeIPUserID"
:global ddnspass "PASSWORD"
:global ddnshost "MyRouterHostname.example.org"
:global ddnsinterface "ether1"
:global ddnssystem ("mt-" . version] )
:global ddnsip [ /ip address get address ]
:global ddnslastip
:if ([:len ] = 0 ) do={ :log info "DDNS: No interface named $ddnsinterface, please check configuration." }
:if ([ :typeof $ddnslastip ] = "nothing" ) do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] = "nothing" ) 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 ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
} else={
:log info "DDNS: No changes necessary."
}

dzwmh 发表于 2013-2-1 07:43:02

http://www.lansedongli.com/forum.php?mod=viewthread&tid=17280&extra=page%3D&page=http://www.lansedongli.com/forum.php?mod=viewthread&tid=17280&extra=page%3D&page=http://www.lansedongli.com/forum.php?mod=viewthread&tid=17280&extra=page%3D&page=

1497987830 发表于 2013-8-25 11:51:54

这个看不懂,飘过                                       
页: [1]
查看完整版本: ROS几个版本系列的动态域名更新脚本(2.9.x,3.2.x,4.x)