dyndns 에 2개1032; hostname 1012; መ1;/197;했1012;ǐ12; 2개 모.160; 업데1060;트 Ȣ16;도/197; Ȣ16;lj16; 스크립트를 만들Ǻ12; 봤습니다.
:local username "<dyndns id>";:local password "<dyndns password>";:local hostname { "first"="<dyndns hostname1>"; "second"="<dyndns hostname2>" }:local inetinterface "ether1-gateway";:local sysdate [/system clock get date];:local systime [/system clock get time];:local sysname [/system identity get name];:local dyndnsForce;:set dyndnsForce false;# Print debug info#:log info ("DynDNS: username = $username");#:log info ("DynDNS: password = $password");#:log info ("DynDNS: hostname1 = $hostname->first");#:log info ("DynDNS: hostname2 = $hostname->second");# Check if WAN interface is running:if ([/interface get $inetinterface value-name=running]) do={# Get the current IP on the WAN interface160; 160; :local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address];# Strip the net mask off the IP address160; 160; :set currentIP [:pick $currentIP 0 [:find $currentIP "/"]];160; 160; :log info ("DynDNS: current WAN IP = $currentIP");# do loop for all hostname160; 160; :foreach key,value in=$hostname do={# Get resolved IP for hostname160; 160; 160; 160; :local resolvedIP [:resolve domain-name=$value server=8.8.8.8];160; 160; 160; 160; :log info ("DynDNS: resolved IP for $value = $resolvedIP");# Determine if dyndns update is needed# Dyndns updater request details http://dyn.com/support/developers/api/perform-update/160; 160; 160; 160; :if (($currentIP != $resolvedIP) || ($dyndnsForce = true)) do={160; 160; 160; 160; 160; 160; :set dyndnsForce false;160; 160; 160; 160; 160; 160; /tool fetch user=$username password=$password url="http://members.dyndns.org/nic/update\?hostname=$value&myip=$currentIP&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG" dst-path="/dyndns.txt";160; 160; 160; 160; 160; 160; :delay 1;160; 160; 160; 160; 160; 160; :local result [/file get dyndns.txt contents]160; 160; 160; 160; 160; 160; :log info ("DynDNS: update needed for $value")160; 160; 160; 160; 160; 160; :log info ("DynDNS: update result for $value = ".$result)160; 160; 160; 160; } else={160; 160; 160; 160; 160; 160; :log info ("DynDNS: no update needed for $value");160; 160; 160; 160; }# end of loop for all hostname160; 160; }# if WAN interface is not running} else={160; 160; :log info ("DynDNS: $inetinterface is not currently running");}