|

Dynamisches DNS für RouterOS mit IPv4

Leider gibt es keine Möglichkeit ein dynamisches DNS in RouterOS direkt zu konfigurieren.

Um dieses Thema zu umgehen, habe ich ein Skript geschrieben, welches im Intervall von 5 Minuten prüft, ob sich die Public IP geändert hat.

Sollte sich die Public IP geändert haben, wird diese an euren DynDNS Anbieter übertragen.

Hier im Beispiel habe ich den Anbieter DuckDNS verwendet. Es ist aber auch mit diversen anderen Anbietern nutzbar.

Fangen wir damit an, ein neues Skript mit dem Namen „dyndns_duckdns_ipv4“ zu erstellen.

Nun kopiert ihr euch den Skript und passt die Variablen Mywan, DuckDNSDomain, SubDomain und Token an eure Umgebung an.

:local Mywan "pppoe_dsl"
:local DuckDNSDomain "xxxxxxx.duckdns.org"
:local SubDomain "xxxxxxx"
:local Token "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

:local IpCurrentMe [/ip address get [find interface=$Mywan] address];
:local IpCurrentDuckDNS [:put [:resolve $DuckDNSDomain]];

:for i from=( [:len $IpCurrentMe] - 1) to=0 do={
    :if ( [:pick $IpCurrentMe $i] = "/") do={
        :local NewIP [:pick $IpCurrentMe 0 $i];

        :if ($IpCurrentDuckDNS != $NewIP) do={
            /tool fetch url="https://www.duckdns.org/update?domains=$SubDomain&token=$Token&ip=$NewIP" keep-result=no
            :log info "DuckDNS Update: $DuckDNSDomain - $NewIP"
        }
    }
}

Ist das Skript angelegt und die Variablen angepasst, erstellen wir mit folgenden Befehl einen Scheduler, der alle 5 Minuten prüft, ob sich die IP geändert hat.

/system scheduler
add comment="DynDNS DuckDNS IPv4" interval=5m name=dyndns_duckdns_ipv4 on-event=dyndns_duckdns_ipv4 policy=read,write,policy,test start-time=startup

Viel Spaß beim nachbauen… 😉

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert