Page 1 of 1
DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Sun Sep 27, 2015 2:34 pm
by dattl
#get mynetname hostname
:local hostname [/ip cloud get dns-name]
#resolve current dns-address
:local resolvedIP [:resolve "$hostname"]
#get current external IP
:local resolver [:resolve resolver1.opendns.com]
:local currentIP [:resolve myip.opendns.com server=$resolver]
#determine if DNS update is needed
:if ($currentIP != $resolvedIP) do={
:log info ("Mynetname update needed: Current-IP: $currentIP Resolved-IP: $resolvedIP")
/ip cloud force-update
} else={
:log info ("Mynetname: No update needed ($currentIP=$resolvedIP)")
}
#schedule script every 5 minutes or so
#special thanks to thiagomedeiros for the trick with opendns
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Sun Jul 10, 2016 8:14 am
by usef
#some Variables
:local hostname [/ip cloud get dns-name]
#resolve current dns-address
:local resolvedIP [:resolve "$hostname"]
#get current external IP
tool fetch mode=http url="http://myip.dnsomatic.com/mypublicip.txt"
:delay 1
:local currentIP [/file get mypublicip.txt contents ]
/file remove "mypublicip.txt"
# Determine if DNS update is needed
:if ($currentIP != $resolvedIP) do={
:log info ("Mynetname update needed: Current-IP: $currentIP Resolved-IP: $resolvedIP")
/ip cloud force-update
} else={
:log info ("Mynetname: No update needed ($currentIP=$resolvedIP)")
}
#schedule script every 5 minutes or so
Hi
Great script.
Thank you
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Mon Jul 11, 2016 2:20 pm
by flynno
Great, thank you
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Sun Jul 31, 2016 9:19 pm
by thiagomedeiros
You don't need to fetch a file, replace this:
#get current external IP
tool fetch mode=http url="http://myip.dnsomatic.com/mypublicip.txt"
:delay 1
:local currentIP [/file get mypublicip.txt contents ]
/file remove "mypublicip.txt"
To this:
:global currentIP [:resolve myip.opendns.com server=208.67.222.222];
Will always return your public IP. Not needed to download/fetch a file.
Work in NAT too.
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Fri Sep 09, 2016 4:01 pm
by MasterXP
Great script, Thanks!
#some Variables
:local hostname [/ip cloud get dns-name]
#resolve current dns-address
:local resolvedIP [:resolve "$hostname"]
#get current external IP
tool fetch mode=http url="http://myip.dnsomatic.com/mypublicip.txt"
:delay 1
:local currentIP [/file get mypublicip.txt contents ]
/file remove "mypublicip.txt"
# Determine if DNS update is needed
:if ($currentIP != $resolvedIP) do={
:log info ("Mynetname update needed: Current-IP: $currentIP Resolved-IP: $resolvedIP")
/ip cloud force-update
} else={
:log info ("Mynetname: No update needed ($currentIP=$resolvedIP)")
}
#schedule script every 5 minutes or so
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Thu Sep 29, 2016 1:39 pm
by dattl
You don't need to fetch a file, replace this:
#get current external IP
tool fetch mode=http url="http://myip.dnsomatic.com/mypublicip.txt"
:delay 1
:local currentIP [/file get mypublicip.txt contents ]
/file remove "mypublicip.txt"
To this:
:global currentIP [:resolve myip.opendns.com server=208.67.222.222];
Will always return your public IP. Not needed to download/fetch a file.
Work in NAT too.
Wonderful, I hated the fetch-file-part. Especially because i couldn`t get rid of the log entry produced by that!
Thank you!
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Wed Sep 06, 2017 10:15 pm
by Almohalla
#get mynetname hostname
:local hostname [/ip cloud get dns-name]
#resolve current dns-address
:local resolvedIP [:resolve "$hostname"]
#get current external IP
:local resolver [:resolve resolver1.opendns.com]
:local currentIP [:resolve myip.opendns.com server=$resolver]
#determine if DNS update is needed
:if ($currentIP != $resolvedIP) do={
:log info ("Mynetname update needed: Current-IP: $currentIP Resolved-IP: $resolvedIP")
/ip cloud force-update
} else={
:log info ("Mynetname: No update needed ($currentIP=$resolvedIP)")
}
#schedule script every 5 minutes or so
#special thanks to thiagomedeiros for the trick with opendns
Thanks for sharing..
It works with my rb750g which is for load balancing but with the main router i can ping the DNS Name but i can't connect to it with winbox !! any suggestion ?
Re: DDNS script for *.sn.mynetname.net with WAN interface behind NAT
Posted: Fri Mar 27, 2020 7:31 am
by fdaniele
thanks very much !