Die meisten Internetanschlüsse zu Hause bekommen regelmäßig eine neue öffentliche IP-Adresse. Wer von unterwegs aufs eigene Netz zugreifen will (z. B. per VPN), braucht deshalb einen festen Namen, der immer auf die aktuelle Adresse zeigt. Genau das macht dynamisches DNS (DynDNS) – und DuckDNS bietet es kostenlos an.

Du brauchst:

  • einen Account bei einem der Login-Anbieter, die DuckDNS unterstützt (z. B. GitHub, Google)
  • einen Router mit OpenWrt oder einen Linux-Server, der dauerhaft läuft
  • ca. 15 Minuten

Alternative: Eine eigene, "echte" Domain (z. B. bei INWX) kostet ein paar Euro im Jahr und wirkt professioneller. Viele Registrare bieten ebenfalls DynDNS an – das Prinzip ist dasselbe.

Schritt 1: DuckDNS-Adresse anlegen

  1. duckdns.org öffnen und oben mit einem der angebotenen Konten anmelden
  2. Im Feld sub domain einen Namen eintragen, z. B. meinhomelab, und add domain klicken
  3. Oben auf der Seite steht dein Token – eine lange Zeichenkette. Sie ist dein Passwort für Aktualisierungen: nicht weitergeben!

Deine Adresse lautet jetzt meinhomelab.duckdns.org.

Praktisch: Auch alle Unteradressen wie vault.meinhomelab.duckdns.org zeigen automatisch auf dieselbe IP – ideal für mehrere Dienste hinter einem Reverse Proxy.

Schritt 2: IP-Adresse automatisch aktualisieren

Jemand muss DuckDNS regelmäßig mitteilen, wie deine aktuelle IP lautet. Wähle eine der beiden Varianten.

Variante A: Direkt auf dem OpenWrt-Router

  1. In LuCI System → Software öffnen, Update lists… klicken
  2. Nach luci-app-ddns suchen und installieren
  3. Seite neu laden, dann Services → Dynamic DNS öffnen
  4. Beim vorhandenen Eintrag myddns_ipv4 auf Edit klicken (oder einen neuen anlegen) und ausfüllen:

    Feld Wert
    Lookup Hostname meinhomelab.duckdns.org
    DDNS Service provider duckdns.org
    Domain meinhomelab
    Username NA (wird nicht genutzt, darf aber nicht leer sein)
    Password dein DuckDNS-Token
  5. Wichtig bei Double NAT: Im Tab Advanced Settings bei IP address source den Wert URL wählen. Sonst meldet der Router seine interne Adresse aus dem Netz der Fritzbox – und die ist von außen nicht erreichbar.

  6. Eintrag mit Enabled aktivieren, Save & Apply, dann Start bzw. Reload klicken

Variante B: Kleines Skript auf dem Linux-Server

Auf dem Server (z. B. einer Debian-VM) einen Ordner und ein Skript anlegen:

mkdir -p ~/duckdns
nano ~/duckdns/duck.sh

Folgende Zeile eintragen – meinhomelab und DEIN-TOKEN ersetzen:

echo url="https://www.duckdns.org/update?domains=meinhomelab&token=DEIN-TOKEN&ip=" | curl -s -o ~/duckdns/duck.log -K -

Speichern (Strg+O, Enter, Strg+X – siehe nano-Grundlagen), ausführbar machen und einmal testen:

chmod 700 ~/duckdns/duck.sh
~/duckdns/duck.sh
cat ~/duckdns/duck.log

Steht dort OK, hat es geklappt. Jetzt soll das Skript alle 5 Minuten laufen:

crontab -e

Ganz unten diese Zeile ergänzen und speichern:

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Schritt 3: Prüfen

Auf dem Laptop im Terminal:

nslookup meinhomelab.duckdns.org

Die angezeigte Adresse sollte mit deiner öffentlichen IP übereinstimmen (z. B. auf der DuckDNS-Seite unter "current ip" oder in der Fritzbox unter Übersicht zu sehen).

Wenn die Adresse mit 100.64. beginnt oder "DS-Lite" in der Fritzbox steht

Dann teilt sich dein Anschluss eine öffentliche IPv4-Adresse mit anderen Kund:innen (Carrier-Grade NAT bzw. DS-Lite). DynDNS funktioniert dann zwar, aber von außen kommt über IPv4 niemand herein. Möglichkeiten:

  • beim Anbieter nach einer echten öffentlichen IPv4-Adresse fragen (oft kostenlos oder gegen kleinen Aufpreis)
  • auf IPv6 ausweichen (DuckDNS unterstützt auch IPv6)
  • einen Vermittlungsdienst nutzen – das ist aber ein eigenes Thema

Wie geht es weiter?