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
- duckdns.org öffnen und oben mit einem der angebotenen Konten anmelden
- Im Feld sub domain einen Namen eintragen, z. B.
meinhomelab, und add domain klicken - 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.orgzeigen 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
- In LuCI System → Software öffnen, Update lists… klicken
- Nach
luci-app-ddnssuchen und installieren - Seite neu laden, dann Services → Dynamic DNS öffnen
-
Beim vorhandenen Eintrag
myddns_ipv4auf Edit klicken (oder einen neuen anlegen) und ausfüllen:Feld Wert Lookup Hostname meinhomelab.duckdns.orgDDNS Service provider duckdns.orgDomain meinhomelabUsername NA(wird nicht genutzt, darf aber nicht leer sein)Password dein DuckDNS-Token -
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.
- 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