找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8787|回复: 14

[脚本] 谁有新版本的ros ddns 脚本

  [复制链接]
发表于 2012-3-24 09:55:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
我现在的脚本以前在2.9.27 上用的。5.4版本的用不了

:global pptpname ("pptp-out")
:global hostip ("***.25u.com")
:global ddnsip [:tostr [:resolve $hostip] ]
:if ([ :typeof $ddnsip ] = nil ) do={ :global ddnsip "0" }
:global pptpip [ /interface pptp-client get [/interface pptp-client find name=$pptpname ] connect-to]
:if ($ddnsip != $pptpip) do={
/interface pptp-client set [/interface pptp-client find name=$pptpname ] connect-to=$ddnsip
:log info ("pptp:Change connect-to IP " . $pptpip . " to "  . $ddnsip)
  }

这个很好用,可是新版本用不了
这个可能是 4.0以前的版本可以用吧
希望高手帮改一下新版本的。非常感谢
routeros
发表于 2012-3-24 10:30:02 | 显示全部楼层
这是5.X的DDNS脚本
  1. /system script

  2. add name=HomingBeacon policy=\

  3.     ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \

  4.     source="# HomingBeacon Main Dynamic DNS Update Script\r\

  5.     \n# Written by Sam Norris, ChangeIP.com\r\

  6.     \n# 20100728 Tested on RouterOS 4.9\r\

  7.     \n# 20110511 Tested on RouterOS 5.2\r\

  8.     \n\r\

  9.     \n# Set your specific ChangeIP.com preferences here.\r\

  10.     \n:global ddnsuser "USERID"\r\

  11.     \n:global ddnspass "PASSWORD"\r\

  12.     \n:global ddnshost "HOSTNAME.changeip.net"\r\

  13.     \n# Change ddnsport to 8245 to bypass proxy.\r\

  14.     \n:local ddnsport 80\r\

  15.     \n\r\

  16.     \n# Do not edit anything below this line.  You have been warned.\r\

  17.     \n# Abusive updates to the system will cause firewall blocks.\r\

  18.     \n\r\

  19.     \n# Please be considerate and\r\

  20.     \n# do not let this script run more than once per 3-5 minutes.\r\

  21.     \n\r\

  22.     \n:log info "DDNS: Starting."\r\

  23.     \n\r\

  24.     \n# Initialize checkpoint\r\

  25.     \n:global ddnscheckpoint\r\

  26.     \n:if ([:typeof \$ddnscheckpoint] = "time") do={\r\

  27.     \n\t:log info ("DDNS: Last check was " . ([/system clock get time] - \$d\

  28.     dnscheckpoint))\r\

  29.     \n} else={\r\

  30.     \n\t:log info "DDNS: Cannot determine checkpoint, set now."\r\

  31.     \n\t:global ddnscheckpoint ( [/system clock get time] - 1d )\r\

  32.     \n}\r\

  33.     \n\r\

  34.     \n# Get the current IP\r\

  35.     \n:if ([/system clock get time] - \$ddnscheckpoint > [:totime 180s] || [/s\

  36.     ystem clock get time] - \$ddnscheckpoint < [:totime 0s]) do={\r\

  37.     \n   :log info "DDNS: Performing remote IP detection."\r\

  38.     \n   /tool fetch address="ip.changeip.com" host="ip.changeip.com" src-\

  39.     path=("/\?" . [/int eth get 0 mac-address ]) dst-path="ip.changeip.com.\

  40.     txt" mode=http port=\$ddnsport\r\

  41.     \n   :global ddnscheckpoint [/system clock get time]\r\

  42.     \n} else={\r\

  43.     \n   :log info "DDNS: Please be considerate and wait a few seconds longer\

  44.     ."\r\

  45.     \n   :break\r\

  46.     \n}\r\

  47.     \n\r\

  48.     \n# Parse the IP address received from fetch script.\r\

  49.     \n\t:global ddnslastip\r\

  50.     \n\t:local html [/file get "ip.changeip.com.txt" contents]\r\

  51.     \n\t:local ddnsip [:pick \$html ([:find \$html "<!--IPADDR="] + 11) [:fi\

  52.     nd \$html "-->"] ]\r\

  53.     \n\r\

  54.     \n# Is it a valid IP and is it different than the last one\?\r\

  55.     \n\t:if ([:typeof [:toip \$ddnsip]] = "ip" AND \$ddnsip != \$ddnslastip \

  56.     ) do={\r\

  57.     \n\t\t:log info "DDNS: Sending UPDATE with \$ddnsip"\r\

  58.     \n\t\t:log info [/tool dns-update name=\$ddnshost address=\$ddnsip key-nam\

  59.     e=\$ddnsuser key=\$ddnspass ]\r\

  60.     \n\t\t:global ddnslastip \$ddnsip\r\

  61.     \n\t} else={\r\

  62.     \n\t\t:log info "DDNS: No update required."\r\

  63.     \n\t}\r\

  64.     \n}\r\

  65.     \n"



  66. /system scheduler

  67. add comment="ChangeIP.com Dynamic DNS Update" \

  68.   disabled=no \

  69.   interval=5m name=DynamicDNS \

  70.   on-event=HomingBeacon \

  71.   policy=read,write start-time=startup
复制代码
routeros
回复

使用道具 举报

发表于 2012-3-24 11:18:05 | 显示全部楼层
我碰到的:

5.12可用,升级到5.14,无法使用。卡在:resolve,无法解析(通过终端一条一条测试发现的)。

后来不死心,在虚拟机测试,发现没问题,那么就是升级后没有复位的问题了。

routeros
回复

使用道具 举报

发表于 2012-3-24 11:21:23 | 显示全部楼层
:global ddnsuser "帐号"
:global ddnspass "密码"
:global ddnshost "XXXXXXX.ddns.info"
:global ddnsinterface "pppoe-out1"
:global ddnslastip

:global ddnsip [ /ip address get [/ip address find dynamic=yes interface=$ddnsinterface ] address ]
: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 [ /tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ]
     :global ddnslastip $ddnsip
   } else={
     :log info "DDNS: No change"
}
}
:log info "DDNS: End"
routeros
回复

使用道具 举报

发表于 2012-4-16 14:26:48 | 显示全部楼层
怎么还用这些脚本,一条命令搞定的事,搞得这么麻烦!唉
routeros
回复

使用道具 举报

发表于 2012-4-16 16:50:45 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2012-4-16 21:23:51 | 显示全部楼层
风轻 发表于 2012-4-16 16:50
哪条命令?发出来嘛!

/tool dns-update name="www.baidu.com" address127.0.0.255 key-name=user key=passwd
routeros
回复

使用道具 举报

发表于 2013-5-11 21:42:45 | 显示全部楼层
老大你们这个脚有点看不懂,能否请教一下。。
routeros
回复

使用道具 举报

发表于 2013-5-12 08:21:00 | 显示全部楼层
FreeBSD_shell 发表于 2012-4-16 21:23
/tool dns-update name="www.baidu.com" address127.0.0.255 key-name=user key=passwd

这条命令是没错
但是没有进行ip变动的比对
容易造成频繁发送ddns请求
如果ddns封了帐号就不好了
routeros
回复

使用道具 举报

发表于 2013-5-16 10:02:56 | 显示全部楼层
sealin 发表于 2013-5-12 08:21
这条命令是没错
但是没有进行ip变动的比对
容易造成频繁发送ddns请求

很想知道有没有用过这条命令而被封的.
routeros
回复

使用道具 举报

发表于 2013-5-16 10:12:00 | 显示全部楼层
crc8 发表于 2013-5-16 10:02
很想知道有没有用过这条命令而被封的.

大把的,没事就去更新DDNS,结局就是被封,而且是被封很久。
routeros
回复

使用道具 举报

发表于 2013-5-16 10:18:14 | 显示全部楼层
9939781 发表于 2013-5-16 10:12
大把的,没事就去更新DDNS,结局就是被封,而且是被封很久。

好吧.那我改为10小时更新一次了
routeros
回复

使用道具 举报

发表于 2013-5-16 11:08:56 | 显示全部楼层
一直用7楼的脚本,设置成20分钟更新一次,偶尔开不了,总体还是很好的,被封就再申请呗
routeros
回复

使用道具 举报

发表于 2013-5-16 15:56:12 | 显示全部楼层
crc8 发表于 2013-5-16 10:02
很想知道有没有用过这条命令而被封的.

一直在用,从未被封
www  ftp 都一直在用....都是10分钟更新一次
routeros
回复

使用道具 举报

发表于 2013-5-17 08:23:47 | 显示全部楼层
FreeBSD_shell 发表于 2013-5-16 15:56
一直在用,从未被封
www  ftp 都一直在用....都是10分钟更新一次

感谢反馈消息.
routeros
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-5 20:45 , Processed in 0.078128 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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