ผู้เขียน หัวข้อ: การ Set Dynanic DNS บน Mikrotik โดยใช้ Service No-IP  (อ่าน 17184 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

wong62

  • VIP
  • Full Member
  • *****
  • กระทู้: 130
การ Set Dynanic DNS บน Mikrotik โดยใช้ Service No-IP
« เมื่อ: วันที่ 8 กุมภาพันธ์ 2012, 11:58:33 »

การ Set Dynanic DNS บน Mikrotik โดยใช้ Service No-IP



ยังไม่ได้ทดสอบนะครับ ใครว่างช่วยลองทดสอบให้ด้วย
แก้ไขแล้วครับ อันเดิมมันไม่ผ่าน ตัวนี้ทดลองแล้ว กับ V.5 (โมจากสคริปของ DynDNS)


# Set needed variables
:local ddnsuser "username"
:local ddnspass "password"
:local theinterface "interface"
:local ddnshost "hostname.no-ip.org"

:local ipddns [:resolve $ddnshost];
:local ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
   :log info ("No-IPDNS: No ip address on $theinterface .")
} else={
   :for i from=( [:len $ipfresh] - 1) to=0 do={
      :if ( [:pick $ipfresh $i] = "/") do={
    :set ipfresh [:pick $ipfresh 0 $i];
      }
}
 
:if ($ipddns != $ipfresh) do={
    :log info ("No-IPDNS: IP-DynDNS = $ipddns")
    :log info ("No-IPDNS: IP-Fresh = $ipfresh")
   :log info "No-IPDNS: Update IP needed, Sending UPDATE...!"
   :local str "/nic/update?hostname=$ddnshost&myip=$ipfresh"
   /tool fetch address=dynupdate.no-ip.com src-path=$str mode=http user=$ddnsuser \
         password=$ddnspass dst-path=("/No-IPDNS.".$ddnshost)
    :delay 1
    :local str [/file find name="No-IPDNS.$ddnshost"];
    /file remove $str
    :global ipddns $ipfresh
  :log info "No-IPDNS: IP updated to $ipfresh!"
    } else={
     :log info "No-IPDNS: dont need changes";
    }
}
« แก้ไขครั้งสุดท้าย: วันที่ 4 พฤศจิกายน 2013, 11:29:17 โดย yod »

yod

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1847
    • Sysnet Center
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #1 เมื่อ: วันที่ 8 กุมภาพันธ์ 2012, 13:04:53 »
[tr]
[td]# No-ip DNS control automatic updates
# Information on no-ip.com account
: global usernoip "username"
: global passnoip "password"
: global hostnamenoip "hostname"
# Edit variable over here

: global previousIP

# Print the log to debug
: log info "DNSNoIP: Updating dynamic IP on DNS for host $ hostnamenoip"
: log info "DNSNoIP: Pass $ passnoip"
: log info "DNSNoIP: Last IP $ previousIP"

# Get the public IP on the intenet, you can also if you have a PHP script hosting support PHP
/ tool fetch mode = "http" address = "checkip.dyndns.org" src-path = "/" dst-path = "/ ddnsnoip.html"

: local results [/ file get contents ddnsnoip.html]

# Edit to get the latest IP
: local hasilLen [: len $ result]
: local startLoc [: find $ result ":" -1]
: set startLoc ($ startLoc 2)
: local endLoc [: find $ result "</ body>" -1]
: global currentIP [: pick $ result $ startLoc $ endLoc]
: log info "DNSNoIP: IP is now $ currentIP"

# Preparation update
: local str "/ nic / update? hostname = $ hostnamenoip & myip = $ currentIP"

: if ($ currentIP! = $ previousIP) do = {
: log info "DNSNoIP: Required Update"
: set previousIP $ currentIP
: log info "DNSNoIP: Send Update $ currentIP"
: log info [: put [/ tool fetch user = "$ usernoip" password = "$ passnoip" mode = "http" address = "dynupdate.no-ip.com" src-path = "$ str" dst-path = "/ $ hostnamenoip"]]
: log info "DNSNameCheap: Host $ hostnamenoip been updated in DNSNoIP with IP $ currentIP"
=} Else {
: log info "DNSNoIP: $ previousIP previous IP and IP are now $ currentIP same, no update needed"
}
[/td][td][/td]
[/tr]
[/table]

ขอบคุณมากๆเลยครับพี่  ;D ;D

wong62

  • VIP
  • Full Member
  • *****
  • กระทู้: 130
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #2 เมื่อ: วันที่ 8 กุมภาพันธ์ 2012, 18:59:40 »
แก้ไขใหม่แล้วครับอันเดิมทดลองแล้วไม่ได้ เลยลองทำเองเล่นๆ กับสคริปเดิมๆของ DynDNS ครับผมว่าสามารถใช้กับ DDNS ค่ายอื่นๆ ก็น่าจะได้นะถ้ารู้ code 
code No-IP

http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.testdomain.com&myip=1.2.3.4

wong62

  • VIP
  • Full Member
  • *****
  • กระทู้: 130
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #3 เมื่อ: วันที่ 8 กุมภาพันธ์ 2012, 23:44:42 »
เทสกับ V.4 ครับ



อันนี้เป็น V.5

« แก้ไขครั้งสุดท้าย: วันที่ 9 กุมภาพันธ์ 2012, 23:52:14 โดย yod »

wong62

  • VIP
  • Full Member
  • *****
  • กระทู้: 130
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #4 เมื่อ: วันที่ 9 กุมภาพันธ์ 2012, 10:21:28 »
เพิ่มเติมสคริปครับ อันนี้เหมาะกับผู้ที่มีเน็ตหลายเส้นครับ มันจะสลับเส้นทางให้โดยอัตโนมัติ ในกรณีที่เน็ตเส้นใดเส้นหนึ่งมีปัญหา
ไม่ต้องงงนะครับ มันใช้ dyndns เป็นตัวเช็ค current IP ของเรา

# No-ip DNS control automatic updates
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT YOUR DETAILS / CONFIGURATION HERE
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:local username "No-IP Username"
:local password "No-IP Password"
:local hostname "Your No-IP Hostname"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:global dyndnsForce
:global previousIP

# print some debug info
#:log info ("No-IPddns-update: username = $username")
#:log info ("No-IPddns-update: password = $password")
#:log info ("No-IPddns-update: hostname = $hostname")
#:log info ("No-IPddns-update: previousIP = $previousIP")

# get the current IP address from the internet (in case of double-nat)
/tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html"
:local result [/file get dyndns.checkip.html contents]

# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local endLoc [:find $result "</body>" -1]
:local currentIP [:pick $result $startLoc $endLoc]
:log info "dyndns-update: currentIP = $currentIP"

# Determine if dyndns update is needed
# more dyndns updater request details available at http://www.dyndns.com/developers/specs/syntax.html
:if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={
    :set dyndnsForce false
    :set previousIP $currentIP
    /tool fetch user=$username password=$password mode=http address="dynupdate.no-ip.com" src-path="/nic/update?hostname=$hostname&myip=$currentIP"
    :local result [/file get dyndns.txt contents]
    :log info ("No-IPddns-update: No-IPddns update needed")
    :log info ("No-IPddns-update: No-IPddns Update Result: ".$result)
    :put ("No-IPddns Update Result: ".$result)
} else={
    :log info ("No-IPddns-update: No No-IPddns update needed")
}
}

yod

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1847
    • Sysnet Center
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #5 เมื่อ: วันที่ 9 กุมภาพันธ์ 2012, 23:59:43 »
Work ครับพี่  ;D ;D


ใช้แทน dyndns ได้เลยครับ





ขอบคุณครับ



uthaiwaeo

  • Mikrotik
  • Newbie
  • *****
  • กระทู้: 17
    • อีเมล์
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #6 เมื่อ: วันที่ 9 สิงหาคม 2013, 07:22:57 »
ทำไหมของผมมันขึ้นแบบนี้ครับ เป็นipของmikrotik

yod

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1847
    • Sysnet Center
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #7 เมื่อ: วันที่ 9 สิงหาคม 2013, 13:05:46 »
http://www.sysnetcenter.com/board/upload/files/images/mr8mdr-wireless-6a5d0f.jpg[/img]

ใช้ script อันนี้นะครับ

โค๊ด: [Select]
# No-ip DNS control automatic updates
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT YOUR DETAILS / CONFIGURATION HERE
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:local username "No-IP Username"
:local password "No-IP Password"
:local hostname "Your No-IP Hostname"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:global dyndnsForce
:global previousIP

# print some debug info
#:log info ("No-IPddns-update: username = $username")
#:log info ("No-IPddns-update: password = $password")
#:log info ("No-IPddns-update: hostname = $hostname")
#:log info ("No-IPddns-update: previousIP = $previousIP")

# get the current IP address from the internet (in case of double-nat)
/tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html"
:local result [/file get dyndns.checkip.html contents]

# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local endLoc [:find $result "</body>" -1]
:local currentIP [:pick $result $startLoc $endLoc]
:log info "dyndns-update: currentIP = $currentIP"

# Determine if dyndns update is needed
# more dyndns updater request details available at http://www.dyndns.com/developers/specs/syntax.html
:if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={
    :set dyndnsForce false
    :set previousIP $currentIP
    /tool fetch user=$username password=$password mode=http address="dynupdate.no-ip.com" src-path="/nic/update?hostname=$hostname&myip=$currentIP"
    :local result [/file get dyndns.txt contents]
    :log info ("No-IPddns-update: No-IPddns update needed")
    :log info ("No-IPddns-update: No-IPddns Update Result: ".$result)
    :put ("No-IPddns Update Result: ".$result)
} else={
    :log info ("No-IPddns-update: No No-IPddns update needed")
}
}

uthaiwaeo

  • Mikrotik
  • Newbie
  • *****
  • กระทู้: 17
    • อีเมล์
Re: เอามาฝากครับ Script Dynamic DNS ของ No-IP
« ตอบกลับ #8 เมื่อ: วันที่ 11 สิงหาคม 2013, 00:03:57 »
ได้แล้วครับ ขอบคุณมากครับ

ningnong90

  • Newbie
  • *
  • กระทู้: 1
    • อีเมล์
Re: การ Set Dynanic DNS บน Mikrotik โดยใช้ Service No-IP
« ตอบกลับ #9 เมื่อ: วันที่ 14 เมษายน 2014, 15:33:23 »
ทำได้แล้วครับ
 การใช้ script นี้สำหรับกรณี ต่อแบบ static wan mikrotik โดยใช้ no-ip

ขอบคุณมากครับ


Share via facebook

xx
การ Set Dynanic DNS บน Mikrotik โดยใช้ Service DynDNS.org

เริ่มโดย yod เมื่อ อุปกรณ์ Mikrotik Router

19 ตอบ
37195 อ่าน
กระทู้ล่าสุด วันที่ 18 พฤษภาคม 2015, 19:59:23
โดย kenro1997
xx
การสมัคร Dynamic DNS โดยใช้ Service ของ dyndns

เริ่มโดย yod เมื่อ ความรู้ทั่วไปในระบบเครือข่าย

0 ตอบ
14330 อ่าน
กระทู้ล่าสุด วันที่ 17 เมษายน 2011, 15:39:43
โดย yod
xx
สอบถาม service mikrotik ครับ

เริ่มโดย lithium เมื่อ อุปกรณ์ Mikrotik Router

4 ตอบ
3256 อ่าน
กระทู้ล่าสุด วันที่ 8 กรกฎาคม 2011, 12:30:40
โดย lithium
xx
การ Set Dynanic DNS บน Mikrotik ในกรณีทำ LoadBalance

เริ่มโดย yod เมื่อ อุปกรณ์ Mikrotik Router

0 ตอบ
3600 อ่าน
กระทู้ล่าสุด วันที่ 25 พฤษภาคม 2011, 01:31:38
โดย yod
xx
การ Set Dynanic DNS ในกรณีไม่ได้ให้ Mikrotik ออก Internet โดยตรง

เริ่มโดย yod เมื่อ อุปกรณ์ Mikrotik Router

6 ตอบ
5739 อ่าน
กระทู้ล่าสุด วันที่ 22 กรกฎาคม 2012, 15:41:49
โดย denmobile
 


Users found this pages searching for: