# Define User Variables :global ddnsuser "USERNAME" :global ddnspass "PASS" :global ddnshost "DOMAIN NAME" # Define Global Variables :global ddnsip :global ddnslastip :if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" } :global ddnsinterface :global ddnssystem ("mt-" . [/system package get system version] ) # Define Local Variables :local int # Loop thru interfaces and look for ones containing # default gateways without routing-marks :foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={ :if ([:typeof [/ip route get $int routing-mark ]] != str ) do={ :global ddnsinterface [/ip route get $int interface] } } # Grab the current IP address on that interface. :global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ] # Did we get an IP address to compare? :if ([ :typeof $ddnsip ] = nil ) do={ :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.") } else={ :if ($ddnsip != $ddnslastip) do={ :log info "DDNS: Sending UPDATE!" :log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ] :global ddnslastip $ddnsip } else={ :log info "DDNS: No update required." } } # End of script
DDNS Script for(changeip.com) Mikrotik.
Thursday, 25 October 2012
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment