返回列表 發帖
不知道其他members是否用的Script能关机后再能update DNS server呢?

TOP

我用了一个懒方法加DDNS NO-IP。 各位有没有更好的? 不知道如何 import File 内的 Script 到 System Script name, 所以将Script 直接打到 Source 后。没有 Read, Test 是不能运行,不知道有什么用处?

这是我的DDNS NOIP Script。
/system script add name=ddns-noip policy=write,read,policy,sensitive,test source={
:local DDNSuser "YYYYYY@gmail.com"
:local DDNSpass "PASSWORD"
:local DDNShost "XXXX.ddns.net"

# possible value are DynDNS, No-IP, ChangeIP;
:local DDNStype value="No-IP";

/tool fetch mode=http keep-result=yes url="http://myip.dnsomatic.com/index.html" dst-path="CURRip";
/delay delay-time=2s;
:local CURRip value=[:toip [/file get "CURRip" value-name=contents]];
/delay delay-time=2s;
/file remove "CURRip";

:if ([:resolve $DDNShost] != $CURRip) do={
:if ($DDNStype = "DynDNS") do={ /tool fetch mode=http keep-result=no url="http://members.dyndns.org/nic/update?hostname=$DDNShost&myip=$CURRip" user=$DDNSuser password=$DDNSpass; };
:if ($DDNStype = "No-IP") do={ /tool fetch mode=http keep-result=no url="http://dynupdate.no-ip.com/nic/update?hostname=$DDNShost&myip=$CURRip" user=$DDNSuser password=$DDNSpass; };
:if ($DDNStype = "ChangeIP") do={ /tool dns-update name=$DDNShost address=$CURRip key-name=$DDNSuser key=$DDNSpass; };
/log info message=($DDNStype.": Updating ".$DDNShost." to:".$CURRip);
};
}


以下是我的Scheduler
/system scheduler
add comment="Update No-IP DDNS" disabled=yes interval=600s name=ddns-noip on-event=ddns-noip policy=read,write,test,policy

TOP

效果怎样?你在大陆?

TOP

幾年前我記得大陸封左no-ip 架. 宜家又放生返啦?

TOP

DynDNS一样,主要主hostname xxx.dyndns.org当然被blocked,但是用dyndns的sub-domian就没有问题。由于要收费,所以已经全部停用了。

TOP

對啊 全面收費, 差點忘了呢.. 哈哈

TOP

在广州移动宽带。No-ip 能ACCESS/Update。只是对海外线慢的离谱。
已上的Script Policy 是有点问题。

TOP

失败了。No-IP 网站能Update 新的网址. 但ping/Nslookup 能发现新的网址不知道要多久。起码不止半小时。

TOP

那么奇怪?时能PM我的你的hostname,然后我从香港check一下看看?

TOP

我Login 香港的Router,ping/tracert hostname 都没有问题。NO-ip网址都更新。
所有是中国移动的DNS Server没有立刻更新。在中国也用不了8.8.8.8。。。等等。?没有办法去找最新的网址。

TOP

DNS用香港的Servers,就是你是香港的ISP给你的DNS server。

TOP

本帖最後由 fems 於 2015-1-7 19:21 編輯

一直用DNSexit,免费稳定,也支持顶级域名。
更新脚本参考http://forum.mikrotik.com/viewtopic.php?t=65013修改一下即可,需指定wan口。
ROS6.24

  1. #************************************************************************************************
  2. # Parameters
  3. #************************************************************************************************
  4. :local username "<your username>"
  5. :local password "<your password>"
  6. :local hostname "<subdomain.yourprovider.net>"

  7. #availabe options: "http" or "iface"
  8. # - http: will query an external server and discover you public ip (userful for NATted connections)
  9. # - iface: will use the ip address assigned to the $iface interface (see below)

  10. :local discoverBy "iface"

  11. # interface used to get ip address from (only if discoverBy = iface)

  12. :local iface "public-dsl"

  13. # current available services: "dyndns", "noip" and "dnsexit"
  14. :local service "dnsexit"

  15. # number of days to force an update if your IP did not change (helps keeping your account active)
  16. :local forceUpdate 15

  17. #************************************************************************************************
  18. # do not change below this unless you know what you are doing
  19. #************************************************************************************************

  20. :local force
  21. :global lastUpdate
  22. :local currentIP

  23. :if ($discoverBy="http") do={
  24.    /tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html"
  25.    :local result [/file get dyndns.checkip.html contents]
  26.    :local resultLen [:len $result]
  27.    :local startLoc [:find $result ": " -1]
  28.    :set startLoc ($startLoc + 2)
  29.    :local endLoc [:find $result "</body>" -1]
  30.    :set currentIP [:pick $result $startLoc $endLoc]
  31. } else={
  32.    :set currentIP [ /ip address get [find interface=$iface disabled=no] address ]
  33.    :for i from=( [:len $currentIP] - 1) to=0 do={
  34.       :if ( [:pick $currentIP $i] = "/") do={ :set currentIP [:pick $currentIP 0 $i] }
  35.    }
  36. }

  37. #get IP from DynDNS for our hostname
  38. :local resolvedIP [:resolve $hostname]

  39. # get current date in format mm/DD/YYYY
  40. :local date [ /system clock get date ]

  41. # convert to YYYYMMDD
  42. :local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
  43. :local month [ :pick $date 0 3 ]; :local day [ :pick $date 4 6 ]; :local year [ :pick $date 7 11 ];
  44. :local mm ([ :find $months $month -1 ] + 1);
  45. :if ($mm < 10) do={ :set month ("0" . $mm); } else={ :set month $mm; }
  46. :set date ($year . $month . $day);

  47. :if ([ :typeof $lastUpdate ]=[:nothing] || (($date-$lastUpdate) >= $forceUpdate  && $forceUpdate > 0)) do={
  48.    :set force true
  49. }

  50. :put ("Current IP: $currentIP ($discoverBy), Last update: $lastUpdate")

  51. # Determine if dyndns update is needed
  52. :if (($currentIP != $resolvedIP) || ($force = true)) do={
  53.    
  54.     :if ($service = "dyndns") do={
  55.        /tool fetch user=$username password=$password mode=http address="members.dyndns.org" \
  56.             src-path="/nic/update?hostname=$hostname&myip=$currentIP" dst-path="/output.txt"
  57.     }
  58.     :if ($service = "noip") do={
  59.        /tool fetch user=$username password=$password mode=http address="dynupdate.no-ip.com" \
  60.             src-path="/nic/update?hostname=$hostname&myip=$currentIP" dst-path="/output.txt"
  61.     }
  62.     :if ($service = "dnsexit") do={
  63.        /tool fetch user=$username password=$password mode=http address="update.dnsexit.com" \
  64.             src-path="/RemoteUpdate.sv?login=$username&password=$password&host=$hostname&myip=$currentIP" dst-path="/output.txt"
  65.     }
  66.    
  67.     :local result [/file get output.txt contents]
  68.     :log info ("dynamic-dns-updater: Service = $service, Hostname = $hostname")
  69.     :log info ("dynamic-dns-updater: CurrentIP = $currentIP, Resolved IP = $resolvedIP")
  70.     :log info ("dynamic-dns-updater: Update result: ".$result)
  71.     /ip dns cache flush
  72.     :set lastUpdate $date
  73. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

刚搬家所有有点不一样。知道原因:被派假IP 172.0.7.85。 在Log 没有Show.只有Quick Set Show 派的IP Address。PPTP/IPSEC/。。。 Server 都没有REAL IP 运行。
不知道能不能投诉。

TOP

因为是内部IP,不能在外面进入系统,所以要求更换Public IP。
我估计一般是给Private IP,如果有投诉才跟Public IP,估计电信估算很多人只是上网,而不需要public IP,所以给你private IP就算了。

所以你一定要投诉外面不可以登入!

TOP

刚投诉。没有Public IP便取消。另外加中国电信。

TOP

返回列表