找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6972|回复: 11

[脚本] 谁能给个3.22的DDNS脚本 论坛里的没有能用的

[复制链接]
发表于 2012-2-23 16:28:44 | 显示全部楼层 |阅读模式

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

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

×
:global ddnsuser "user"
:global ddnspass "password"
:global ddnshost "my.dyn.ip"
:global ddnsip
:global ddnslastip [:tostr [:resolve $ddnshost] ]
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }
:global ddnsinterface "pppoe-out1"
:global ddnssystem ("mt-" . [/system package get system version] )
红字的部分 总是提示不对
routeros
发表于 2012-2-23 18:25:47 | 显示全部楼层
你的是单线的还是多线的?
routeros
回复

使用道具 举报

 楼主| 发表于 2012-2-23 19:52:16 | 显示全部楼层
我是单线  PPPOE 拨号
routeros
回复

使用道具 举报

发表于 2012-2-23 20:06:08 | 显示全部楼层
/tool dns-update name=你申请的域名前缀 zone=changeip.net address=127.0.0.255 key-name="用户名"  key="密码"
routeros
回复

使用道具 举报

 楼主| 发表于 2012-2-23 20:07:07 | 显示全部楼层
多谢楼上  我试试
routeros
回复

使用道具 举报

 楼主| 发表于 2012-2-23 20:09:00 | 显示全部楼层

[admin@MikroTik] > /tool dns-update name=xxxxxx zone=changeip.net address=127.0.0.255 key-name="coolicete
a"  key="1xxxxxx"
bad command name dns-update (line 1 column 7)
[admin@MikroTik] >
routeros
回复

使用道具 举报

 楼主| 发表于 2012-2-23 20:09:17 | 显示全部楼层
看来是无效 。。。。
routeros
回复

使用道具 举报

发表于 2012-3-17 12:23:21 | 显示全部楼层
要在脚本运行。
routeros
回复

使用道具 举报

发表于 2012-3-17 12:33:59 | 显示全部楼层
#3322域名更新脚本,默认更新pppoe-out1,如果pppoe-out1掉线即更新pppoe-out2的
#QQ:1337177977  apple
:do {
:local ether
#DDNS帐号
:local user  "11"
#DDNS密码
:local pass  "22"
#DDNS域名地址
:local host  "qq.com"
:local status [/interface pppoe-client get [/interface pppoe-client find name="pppoe-out1"] running];
:if ($status=true) do={
:set ether "pppoe-out1"};
:if ($status=false) do={
:set ether "pppoe-out2"};
:local oldip [:resolve $host]
:delay 5s
:local newip [ /ip address get [/ip address find interface=$ether ] address ]
:set newip [:pick $newip 0 [:find $newip "/"]]
:if ($oldip != $newip) do={
/tool fetch url=("http://members.3322.org/dyndns/update\?system=dyndns&hostname=\
$host&myip=$newip") mode=http user=$user password=$pass dst-path=$host
:log error ("\BE\C9\B5\C4IP\B5\D8\D6\B7\A3\BA: ".$oldip)
:log error ("\D0\C2\B5\C4IP\B5\D8\D6\B7\A3\BA: ".$newip)
:delay 3s
:local end [/file get $host contents]
:if ([:find $end "good"] != "nil") do={
:log error ($host." \B8\FC\D0\C2\B3\C9\B9\A6")
} else={
:log error ($host." \B8\FC\D0\C2\CA\A7\B0\DC")}
/file remove $host}}

点评

非常感谢 这个很适合我。  发表于 2012-9-13 16:11
routeros
回复

使用道具 举报

发表于 2012-3-17 21:11:40 | 显示全部楼层
本帖最后由 s6510 于 2012-3-17 21:12 编辑

发一个在用的3322脚本,请笑纳:

:local ednsuser "申请的用户名"
:local ednspass "域名密码"
:local ednshost "申请的动态域名地址"
:local ednsinterface "ADSL"
:local members "http://members.3322.org/dyndns/update?system=dyndns"
#:local members "http://members.dyndns.org/nic/update?"
:local status
:local status [/interface get [/interface find  name=$ednsinterface] running]
:if ($status!=false) do={
:local ednslastip [:resolve $ednshost]
:if ([ :typeof $ednslastip ] = nil ) do={ :local ednslastip "0" }
:local ednsiph [ /ip address get [/ip address find interface=$ednsinterface ] address ]
:local ednsip [:pick $ednsiph 0 [:find $ednsiph "/"]]
:local ednsstr "&hostname=$ednshost&myip=$ednsip"
:if ($ednslastip != $ednsip) do={/tool fetch url=($members . $ednsstr) mode=http user=$ednsuser password=$ednspass dst-path=$ednshost
:delay 2
:local result [/file get $ednshost contents]
:log info ($ednshost . " " .$result)
/file remove $ednshost ;
}
}
routeros
回复

使用道具 举报

发表于 2012-3-17 21:15:49 | 显示全部楼层
本帖最后由 s6510 于 2012-3-17 21:16 编辑

这个是changeip的脚本,我现在绑定两个在用,祝你成功
:global ddnsuser "xxxx"

:global ddnspass "xxxxx"

:global ddnshost "xxxxx.changeip.net"

:global ddnsinterface "ADSL"

: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-3-17 23:22:57 | 显示全部楼层
/ip route
:global ddnsint [get [find dst-address=0.0.0.0/0 dy=yes active=yes] interface]
:global ddnsip [ /ip address get [/ip address find dy=yes int=$ddnsint] address ]
:global ddnsip [:pick $ddnsip 0 [:find $ddnsip "/"]]
:if ($ddnsip = [:resolve 注册的域名]) do={
        :log info "ddns:No change"
      } else={
     :log info [/tool dns-update name="注册的域名" address=$ddnsip key-name=changeip登录名 key=changeip登录密码]
}

祝你成功,在这里同时感谢专卖精品的指导。。


routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 01:35 , Processed in 0.194091 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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