Hallo Ihr alle,
wollte schon seit längerem mal eine DDNS an meinem Mikrotik Router einrichten.
Dazu will ich den Dienst von Dynu.com verwenden.
Das Updaten der IP-Adresse funktioniert mittels eines Skrpts auf meinem Router.
Das Skript stellt Dynu speziell für Mikrotik-Router zur Verfügung.
Das Skript habe ich der Übersichtshalber unten an diesen Post angehänt.
Beim einrichten habe ich aktuell noch Probleme, da ich nicht weiß, was ich für den Wert „WAN_Interface_Name“ eintragen soll.
Beim Hostname muss ich meine volle Adresse angeben, also „xy.dynu.net“, oder?
Hoffe Ihr könnt mir bei diesen zwei Fragen helfen.
Viele Grüße
kleiner_kaktus
:global ddnsuser your_Dynu_username
:global ddnspass "your_Dynu_password"
:global theinterface "WAN_Interface_Name"
:global ddnshost "your_Dynu_hostname"
:global ipddns [:resolve $ddnshost];
:global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
:log info ("DynuDDNS: 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 ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $ipfresh")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$ipfresh"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynuDDNS: IP updated to $ipfresh!"
} else={
:log info "DynuDDNS: dont need changes";
}
}