DNS Beacon
DashboardAnmelden

DynDNS auf MikroTik RouterOS: Anleitung Schritt für Schritt

MikroTik-Router bringen keinen DynDNS2-Client mit – die IP-Cloud-Funktion spricht nur MikroTiks eigenen Dienst. Mit einem kleinen RouterOS-Skript und dem Scheduler ruft dein Router das Update bei DNS Beacon trotzdem selbst auf und bleibt unter einem festen Hostnamen erreichbar, auch wenn sich die WAN-IP ändert. So richtest du es ein.

Schritt für Schritt

  1. Lege in WinBox unter System → Scripts (oder im Terminal per /system script add) ein neues Skript namens dnsbeacon an, Policies: read, write, test. Füge die beiden Skript-Zeilen aus der Tabelle unten als Source ein und ersetze ether1 durch dein WAN-Interface sowie <email> und <api-key> durch deine Konto-E-Mail und einen API-Schlüssel aus dem Dashboard.
  2. Lege unter System → Scheduler einen Zeitplan an, der das Skript alle 5 Minuten ausführt – der Scheduler-Befehl aus der Tabelle erledigt das im Terminal in einer Zeile. Der Scheduler braucht dieselben Policies wie das Skript.
  3. Starte das Skript einmal von Hand (Run Script bzw. /system script run dnsbeacon). Im Log erscheint „dnsbeacon: good <IP>“ – oder nochg, wenn die IP bereits stimmt. Ab jetzt hält der Scheduler den Hostnamen automatisch aktuell.

Diese Werte eintragen

System → Scripts und System → Scheduler (WinBox oder Terminal)

WAN-Interface:
Interface mit der öffentlichen IP, z. B. ether1 oder pppoe-out1 (im Skript statt ether1 eintragen)
Hostname:
myhouse.dnsfollowme.uk
Benutzername:
deine E-Mail-Adresse (im Skript als <email>)
Kennwort:
dein API-Key (im Skript als <api-key>)
Skript, Zeile 1:
:local a [/ip address get [find interface=ether1] address]; :local ip [:pick $a 0 [:find $a "/"]]
Skript, Zeile 2:
:local r [/tool fetch url="https://api.dnsbeacon.com/nic/update?hostname=myhouse.dnsfollowme.uk&myip=$ip" user="<email>" password="<api-key>" output=user as-value]; :log info ("dnsbeacon: " . ($r->"data"))
Scheduler:
/system scheduler add name=dnsbeacon interval=5m on-event=dnsbeacon policy=read,write,test
IPv6:
In Zeile 1 /ip address durch /ipv6 address und [find interface=ether1] durch [find interface=ether1 global] ersetzen, in Zeile 2 &myipv6=$ip statt &myip=$ip senden.

RouterOS hat keinen eingebauten DynDNS2-Client – IP Cloud spricht nur MikroTiks eigenen Dienst. Deshalb übernimmt ein Zwei-Zeilen-Skript das Update: Zeile 1 liest die IP des WAN-Interfaces, Zeile 2 ruft /nic/update per /tool fetch mit HTTP-Basic-Auth auf und schreibt die Antwort ins Log. Bei DSL/PPPoE heißt das WAN-Interface meist pppoe-out1. Hinter CGNAT/DS-Lite ist die WAN-IP privat und per IPv4 ohnehin nicht erreichbar – dann stattdessen myipv6 mit der globalen IPv6-Adresse senden. Gilt für RouterOS 7 (und 6.45+).

IPv4 oder IPv6?

Die Werte oben aktualisieren die IPv4-Adresse (A-Record) – der Normalfall an Anschlüssen mit eigener öffentlicher IPv4. Für IPv6 (AAAA-Record) schickt das Gerät zusätzlich oder stattdessen den Parameter &myipv6=<IPv6>. Wie das bei diesem Gerät geht, steht in der Zeile „IPv6“ der Tabelle.

DS-Lite oder CGNAT (viele Kabel- und Glasfaseranschlüsse): Der Router hat dann keine öffentliche IPv4, und eine private WAN-Adresse lehnt der Dienst mit „abuse“ ab. Sende in dem Fall nur myipv6 – oder nutze den DNS-Beacon-Client direkt auf dem Zielgerät, der beide Adressfamilien selbst erkennt.

Noch keinen kostenlosen Hostnamen?

Lege ein kostenloses DNS-Beacon-Konto an, füge einen Hostnamen hinzu und erzeuge einen API-Schlüssel – danach kannst du die Einrichtung oben abschließen.

Kostenloses Konto erstellen

Zurück zu allen Anleitungen