Macam Macam Script Dynamic DNS untuk Mikrotik

disini ada berbagai contoh script yang bisa digunakan untuk update DNS secara otomatis untuk DDNS changeip.com dan freedns.affraid.org.

untuk changeip.com
Code:
# oct/05/2009 21:28:27 by RouterOS 4.0rc1
/system script

add name=HomingBeacon-Simple policy=\
    ftp,reboot,read,write,policy,test,winbox,password source="# Dynamic DNS Up\
    date / Simple Edition\r\
    \n# Written by Sam Norris, ChangeIP.com\r\
    \n# Copyright ChangeIP.com 2009\r\
    \n# For support send mail to Support@ChangeIP.com\r\
    \n#\r\
    \n# 2009-06-22 RouterOS 3.25 Tested\r\
    \n# 2009-10-05 RouterOS 4.01rc1 Tested\r\
    \n#\r\
    \n# OVERVIEW:         %\r\
    \n#  This script will update a ChangeIP.com dynamic dns hostname\r\
    \n#  with an ip address located directly on an interface.\r\
    \n#                   %\r\
    \n# NOTES:            %\r\
    \n#  IF THIS SCRIPT DOES NOT PRODUCE ANY OUTPUT PLEASE COPY AND PASTE IT\r\
    \n#  AGAIN.  THERE PROBABLY IS A LINE BREAK IN THE WRONG PLACE! Once you\r\
    \n#  have created this script and tested that it works by running it\r\
    \n#  manually you can schedule it to run every few minutes.\r\
    \n#                   %\r\
    \n# CONFIGURATION FIELD DEFINITIONS:\r\
    \n#  ddnsuser:  Enter your ChangeIP.com user id.\r\
    \n#  ddnspass:  Enter your ChangeIP.com password.\r\
    \n#  ddnshost:  Enter the hostname (www.example.com) to update.\r\
    \n#  ddnsinterface:  Enter a list of interface names - case sensative.\r\
    \n#                   %\r\
    \n#                   %\r\
    \n#                   %\r\
    \n#                   %\r\
    \n#               %   %   %\r\
    \n#                %  %  %\r\
    \n#                 % % %\r\
    \n#                   %\r\
    \n# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\
    \n# EDIT YOUR DETAILS / CONFIGURATION HERE\r\
    \n# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\
    \n:global ddnsuser \"YourChangeIPUserID\"\r\
    \n:global ddnspass \"PASSWORD\"\r\
    \n:global ddnshost \"MyRouterHostname.example.org\"\r\
    \n:global ddnsinterface \"ether1\"\r\
    \n# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\
    \n# END OF USER DEFINED CONFIGURATION\r\
    \n# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\
    \n\r\
    \n:global ddnssystem (\"mt-\" . [/system package get [/system package find\
    \_name=system] version] )\r\
    \n:global ddnsip [ /ip address get [/ip address find interface=\$ddnsinter\
    face] address ]\r\
    \n:global ddnslastip\r\
    \n\r\
    \n:if ([:len [/interface find name=\$ddnsinterface]] = 0 ) do={ :log info \
    \"DDNS: No interface named \$ddnsinterface, please check configuration.\" \
    }\r\
    \n\r\
    \n:if ([ :typeof \$ddnslastip ] = \"nothing\" ) do={ :global ddnslastip 0.\
    0.0.0/0 }\r\
    \n\r\
    \n:if ([ :typeof \$ddnsip ] = \"nothing\" ) do={\r\
    \n\r\
    \n:log info (\"DDNS: No ip address present on \" . \$ddnsinterface . \", p\
    lease check.\")\r\
    \n\r\
    \n} else={\r\
    \n\r\
    \n  :if (\$ddnsip != \$ddnslastip) do={\r\
    \n\r\
    \n    :log info \"DDNS: Sending UPDATE!\"\r\
    \n    :log info [ :put [/tool dns-update name=\$ddnshost address=[:pick \$\
    ddnsip 0 [:find \$ddnsip \"/\"] ] key-name=\$ddnsuser key=\$ddnspass ] ]\r\
    \n    :global ddnslastip \$ddnsip\r\
    \n\r\
    \n  } else={ \r\
    \n\r\
    \n    :log info \"DDNS: No changes necessary.\"\r\
    \n\r\
    \n  }\r\
    \n\r\
    \n}"

/system scheduler
add comment="" disabled=no interval=5m name=DDNS on-event=\
    HomingBeacon-Simple policy=read,write,policy,test,password start-time=\
    startup
Co-Pas kan pada terminal, Enter.

jangan lupa edit user id, password, domain, dan interface nya!!

untuk affraid.org,

ada beberapa tahap yang harus kita lalui.

pertama, log-in dulu pada Control Panel freedns.affraid.org.

setelah login, klik Dynamic DNS pada sisi kiri.


muncul tampilan domain kita, kemudian pilih pada domain yg akan kita update secara otomatis, klik kanan pada Direct URL, klik Copy Link.


Buka notepad, paste kan link tersebut disana.


lalu buka lagi notepad, paste kan script berikut
Code:
# Update DNS on Freedns.afraid.org
   :global host "freedns.afraid.org"
   :global url "urlddns"
   
   /tool fetch url=$url host=$host
buka kembali notepad yg berisi link tadi, blok semua dan tekan Ctrl + C.

masukkan / paste kan link tadi ke script pada bagian yang di Bold.

contoh yang sudah jadi:
Code:
# Update DNS on Freedns.afraid.org
   :global host "freedns.afraid.org"
   :global url "http://freedns.afraid.org/dynamic/update.php?VEdmU24wTVRTTUlBQUs5NHdUczo0ODQxOTgx"
   
   /tool fetch url=$url host=$host
copy script tsb, kemudian buka winbox, klik menu system => script. add [+]

beri nama ddns, kemudian paste kan script tadi pada kolom Source.


Klik OK. kemudian coba jalan script tsb dengan meng-klik Run Script.


jika pada log muncul pemberitahuan spt pada gambar, berarti script tsb sudah berjalan dg baik, coba jalankan ping ke alamat DNS anda, jika ip yang keluar adalah ip publik anda, anda telah sukses menjalankan script ini..


sudah selesaikah? belum.. kita harus membuat agar script berikut bisa berjalan otomatis. caranya, buka winbox, klik menu System => Scheduler

klik add [+]

isikan ddns pada name dan On Event. centang semua policy, Start time pilih startup. Ok.


selesai..


untuk Every DNS

dengan cara yang hampir sama dengan yang lain. buat script dengan isi sebagai berikut
Code:
# Define user variables
# Please NOTE that your username and password will be sent cleartext across the internet!
:local eduser "USERNAME"
:local edpass "PASS"
:local eddomain "mydomain.com" 
:local edinterface "INTERFACE_NAME"

# Change this global variable if you want more than 1 script
:global edlastip1
:local str
:local edip
:local ip

:if ([ :typeof $edlastip1 ] = nil ) do={ :global edlastip1 "0" }

:local edip [ /ip address get [/ip address find interface=$edinterface ] address ]

:if ([ :typeof $edip ] = nil ) do={
   :log info ("EveryDNS: No ip address on $edinterface .")
} else={

# strip off netmask correctly (MRz)
   :for i from=( [:len $edip] - 1) to=0 do={ 
      :if ( [:pick $edip $i] = "/") do={ 
    :set edip [:pick $edip 0 $i];
      } 
   }

  :if ($edip != $edlastip1) do={

    :log info ("EveryDNS: $eddomain -> $edip")
# use url directly and mode http (MRz)
    :local str "/index.php?ver=0.1&ip=$edip&domain=$eddomain"
    /tool fetch url="http://dyn.everydns.net/$str" mode=http user=$eduser password=$edpass \
       dst-path=("/EveryDNS.".$eddomain)
    :delay 1 

# output any error messages received from file
    :local str [/file find name="EveryDNS.$eddomain"];
    :log info [/file get $str contents];
    /file remove $str
    :global edlastip1 $edip

  } 

}
kemudian, Co-Pas script berikut pada Terminal.
Code:
system scheduler add name=EveryDNS1 interval=00:01 \
  on-event="/system script run everyDns1\r\n/system script run everyDns2"
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description

Video Gallery

  • Linux
    sekedar informasi, sekarang zimbra sudah diakuisisi oleh VMWare. jadi nantinya logo webmail zimbra kita akan ada logo VMware-nya.
  • Foto
    kalo mau buat efek foto kembar yang penting pilih minimal 3 foto (mau lebih juga terserah anda aj..)yang setingan tempat dan letak kameranya
  • Network
    setelah anda membongkar dus, dan menyiapkan koneksi. yang perlu anda lakukan adalah:
  • Serba-Serbi
    16 Cara Mengikat Sepatu Ala Jepang share buat teman2 & cew ato cow yang senang menggunakan sepatu bertali. Selamat mencoba
  • Tips-Trik
    Jika agan pengguna komputer, pasti sudah tidak asing lagi dengan yang namanya mouse. Mouse adalah salah satu pendamping setia dari komputer. Hampir semua jenis mouse memiliki 3 buah tombol. Tombol kiri, tombol kanan dan tombol scroll yang ada di tengah
  • Windows
    Windows 7 merupakan versi yang jauh lebih baik daripada versi terbaru windows, yaitu windows Vista. Dan windows 7 dilengkapi dengan banyak fitur baru.