蓝色动力网络

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2278|回复: 2

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

[复制链接]
发表于 2013-1-27 10:13:30 | 显示全部楼层 |阅读模式
这里罗列的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网站申请的二级域名)
  1. :log info "DDNS: Begin"
  2. :global ddns-user "用户名ID"
  3. :global ddns-pass "密码"
  4. :global ddns-host "*1"
  5. :global ddns-interface "pppoe-out1"
  6. :global ddns-ip [ /ip address get [/ip address find interface=$ddns-interface] address ]
  7. :if ([ :typeof $ddns-lastip ] = nil ) do={ :global ddns-lastip 0.0.0.0/0 }
  8. :if ([ :typeof $ddns-ip ] = nil ) do={
  9. :log info ("DDNS: No ip address present on " . $ddns-interface . ", please check.")
  10. } else={
  11. :if ($ddns-ip != $ddns-lastip) do={
  12.   :log info "DDNS: Sending UPDATE!"
  13.   :log info [ /tool dns-update name=$ddns-host address=[:pick $ddns-ip 0 [:find $ddns-ip "/"] ] key-name=$ddns-user key=$ddns-pass ]
  14.   :global ddns-lastip $ddns-ip
  15. } else={
  16.   :log info "DDNS: No change"
  17. }
  18. }
  19. :log info "DDNS: End"
复制代码
ROS 3.20系列
  1. :local u "用户名"
  2. :local p "密码"
  3. :local n "你申请的二级域名"
  4. :local nowip [/ip address get [/ip address find dynamic=yes interface=pppoe-out1] address]
  5. :local nowip [:pick $nowip 0 [:find $nowip "/"]]
  6. :local dnsip [:resolve ($n)]
  7. :if (($dnsip) != (0.0.0.0)) do={
  8. :if (($dnsip) !=$nowip) do={
  9. /tool dns-update name=$n address=$nowip key-name=$u key=$p
  10. :log info ("DDNS IS UPDATE :" . $nowip)
  11. }
  12. }
复制代码
ROS 4.X系列
  1. :global ddnsuser "YourChangeIPUserID"
  2. :global ddnspass "PASSWORD"
  3. :global ddnshost "MyRouterHostname.example.org"
  4. :global ddnsinterface "ether1"
  5. :global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )
  6. :global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
  7. :global ddnslastip
  8. :if ([:len [/interface find name=$ddnsinterface]] = 0 ) do={ :log info "DDNS: No interface named $ddnsinterface, please check configuration." }
  9. :if ([ :typeof $ddnslastip ] = "nothing" ) do={ :global ddnslastip 0.0.0.0/0 }
  10. :if ([ :typeof $ddnsip ] = "nothing" ) do={
  11. :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
  12. } else={
  13. :if ($ddnsip != $ddnslastip) do={
  14. :log info "DDNS: Sending UPDATE!"
  15. :log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
  16. :global ddnslastip $ddnsip
  17. } else={
  18. :log info "DDNS: No changes necessary."
  19. }
复制代码
发表于 2013-2-1 07:43:02 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-8-25 11:51:54 | 显示全部楼层
这个看不懂,飘过                                         
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

蓝色动力网络微信平台
网站管理,业务合作联系邮箱: admin#lansedongli.com    QQ:13412492 限网站业务问题.
网站帐号、密码、密保找回请使用注册邮箱,发送邮件至 password#lansedongli.com ,否则不予受理.
免责声明:本论坛所有文字和图片仅代表其个人观点.
本站某些资料或文章来自于互联网,不代表本站观点,如果侵犯了您的权益,请来信告知,我们会在三天内删除.
为了给大家一个更好的交流场所,请勿在本论坛发表与中华人民共和国法律相抵触的言论,请合作,谢谢!
Copyright © 2007-2019 Corporation Powered by网吧系统 版权所有    转载请注明!
浙ICP备11043737号 程序:Discuz! x3.4

湘公网安备 43018102000145号

手机版|Archiver|蓝色动力网络   

快速回复 返回顶部 返回列表