Eigene Adresse statt wechselnder IP: DynDNS für den Server zuhause
Die wenigsten Privatanschlüsse haben eine feste IP. DynDNS sorgt trotzdem für einen festen Namen — und warum das bei manchen Anschlüssen (CGNAT) grundsätzlich nicht funktioniert, bevor du überhaupt anfängst.
Die wenigsten Privatanschlüsse in Deutschland haben eine feste IP-Adresse. Meistens wird die IP, unter der euer Anschluss im Internet sichtbar ist, in gewissen Abständen neu vergeben, teils durch eine reguläre Neueinwahl, teils weil der Provider das Adressband intern umschichtet. Für einen Server im eigenen Netz, den andere über das Internet erreichen sollen, ist das ein echtes Problem: Die Adresse, die ihr euren Mitspielern gestern gegeben habt, kann heute schon eine andere Maschine sein.
Das Prinzip: ein fester Name für eine wechselnde Adresse
DynDNS (Dynamic DNS) löst genau das: Ein kleines Update-Programm, meistens direkt im Router eingebaut, meldet bei jeder Änderung eurer öffentlichen IP-Adresse automatisch die neue IP an einen DynDNS-Anbieter. Der Anbieter aktualisiert daraufhin einen DNS-Eintrag, sodass ein fester, von euch gewählter Name wie meinserver.ddns.net immer auf die aktuell gültige IP zeigt, ganz ohne dass ihr selbst eingreifen müsst. Für eure Mitspieler ändert sich dadurch nie etwas, sie verbinden sich immer über denselben Namen, im Hintergrund zeigt der nur auf eine andere Adresse als noch letzte Woche.
Bevor du irgendetwas einrichtest: hast du überhaupt eine öffentliche IPv4-Adresse?
Das ist der Schritt, den die meisten DynDNS-Anleitungen komplett auslassen, und der Grund, warum DynDNS bei manchen Anschlüssen trotz korrekter Einrichtung einfach nicht funktioniert. Viele Kabel-Internet-Anschlüsse in Deutschland, zunehmend auch manche Glasfaser-Tarife, laufen über DS-Lite oder allgemeiner Carrier-Grade-NAT (CGNAT): Ihr bekommt dabei gar keine eigene öffentliche IPv4-Adresse mehr zugeteilt, sondern teilt euch eine mit vielen anderen Kunden des Anbieters. Eingehende Verbindungen, also genau das, was ein Gameserver für Spieler von außen braucht, lassen sich dann grundsätzlich nicht mehr zu eurem Anschluss durchreichen, unabhängig davon, wie sauber ihr Portweiterleitung und DynDNS konfiguriert. DynDNS aktualisiert in diesem Fall zwar brav einen DNS-Eintrag, der zeigt am Ende aber auf eine IP, über die niemand zu euch durchkommt.
So erkennst du das: Schau in der Status- oder Internetseite deines Routers nach der WAN- beziehungsweise Internet-IP-Adresse. Beginnt sie mit 100.64. bis 100.127. (ein Adressbereich, der laut RFC 6598 extra für Carrier-Grade-NAT reserviert ist), mit 10., 172.16. bis 172.31. oder 192.168., hast du keine echte öffentliche Adresse, sondern nur eine private Adresse im Netz deines Anbieters. Ein Vergleich mit einer beliebigen „Wie ist meine IP"-Seite im Browser bestätigt das zusätzlich: Zeigt die Seite eine andere IP als der Router selbst anzeigt, sitzt dazwischen noch eine NAT-Ebene, die dir nicht gehört.
Bist du davon betroffen, bleiben im Wesentlichen drei Wege: beim Anbieter gezielt nach einer echten öffentlichen IPv4-Adresse fragen (bei manchen kostenlos auf Anfrage, bei anderen ein kostenpflichtiger Tarifzusatz), auf IPv6 ausweichen, sofern sowohl euer Server als auch alle Spieler IPv6 unterstützen, was bei den meisten Spielen und Heimanschlüssen aktuell noch nicht durchgängig der Fall ist, oder einen kleinen, günstig gemieteten Server mit echter öffentlicher IP als Tunnel-Zwischenstation zu nutzen, der die Verbindungen an euren Heimserver weiterreicht. Fürs reine Ausprobieren gibt es teils auch experimentelle Lösungen über das Port Control Protocol (PCP), mit dem sich die FRITZ!Box bei manchen Anbietern selbst eine Portfreigabe im CGNAT einrichten kann, das funktioniert aber nicht bei jedem Anbieter und ist keine verlässliche Standardlösung.
Anbieter im Überblick
- Dyn / DynDNS.com. Der Namensgeber der ganzen Technik, mittlerweile bei Oracle, hat seinen kostenlosen Dienst komplett eingestellt. Etliche ältere Anleitungen im Netz verweisen trotzdem noch darauf, das führt heute ins Leere, für Privatanwender ist der Dienst keine Option mehr.
- No-IP. Kostenlos nutzbar mit einem Hostnamen, verlangt aber eine regelmäßige Bestätigung des Accounts (ungefähr alle 30 Tage), ein häufiger Grund, warum ein DynDNS-Setup nach ein paar Monaten scheinbar grundlos aufhört zu funktionieren.
- DuckDNS. Komplett kostenlos, technisch sehr schlank, beliebt gerade für Raspberry-Pi- und Selfhosting-Setups, ohne die Reaktivierungspflicht von No-IP.
- Dynu. Ebenfalls kostenlos in der Grundversion, mit etwas mehr Auswahl an Domain-Endungen als DuckDNS.
- Securepoint DynDNS. Deutscher Anbieter, 5 Hosts und 100 Domains kostenlos, in vielen Routern und Firewalls direkt als vorkonfigurierte Option hinterlegt.
- spdns.de / ddnss.de. Zwei weitere deutsche, kostenlose Anbieter, beide direkt in der FRITZ!Box-Anbieterliste vorhanden.
- Cloudflare, mit eigener Domain. Wer ohnehin schon eine eigene Domain besitzt, kann sich DynDNS auch selbst bauen: ein kleines Skript (per Cronjob oder ein fertiges Tool wie
ddclient) aktualisiert einen A-Record über Cloudflares API, sobald sich die IP ändert. Etwas mehr Einrichtungsaufwand, dafür ein Name unter eurer eigenen Domain statt einer.ddns.net-Subdomain.
Einrichtung an der FRITZ!Box
Die FRITZ!Box, in deutschen Haushalten der mit Abstand häufigste Router, bringt DynDNS-Unterstützung direkt mit, ganz ohne Zusatzsoftware:
- FRITZ!Box-Oberfläche öffnen, zu Internet → Freigaben → DynDNS navigieren.
- DynDNS aktivieren und einen der vorkonfigurierten Anbieter aus der Liste wählen (No-IP, Securepoint, spdns.de, ddnss.de und weitere stehen dort meist schon zur Auswahl), alternativ „Benutzerdefiniert" für Anbieter, die nicht gelistet sind, dann müsst ihr die Update-URL des Anbieters von Hand eintragen.
- Zugangsdaten eintragen: Domainname, Benutzername und Passwort beziehungsweise Update-Token, je nachdem, was der gewählte Anbieter beim Erstellen des Hostnamens ausgegeben hat.
- Speichern, danach im Online-Monitor der FRITZ!Box prüfen, ob die Verbindung zum DynDNS-Anbieter als aktiv angezeigt wird, dort steht auch, ob die Aktualisierung über IPv4, IPv6 oder beides läuft.
Ohne FRITZ!Box: ein eigenes Update-Skript
Andere Router oder ein separat laufender Linux-Server brauchen ein eigenes Update-Skript, das sich per Cronjob regelmäßig meldet. Die meisten Anbieter (No-IP, DuckDNS, Dynu und andere) funktionieren über eine simple HTTP-Update-URL, bei DuckDNS zum Beispiel:
*/5 * * * * curl -s "https://www.duckdns.org/update?domains=DEINSUBDOMAIN&token=DEINTOKEN&ip=" >/dev/null 2>&1
Diese Cronjob-Zeile ruft alle 5 Minuten die Update-URL auf, ein leeres ip=-Feld lässt DuckDNS die aufrufende IP automatisch erkennen, statt sie manuell mitzugeben. Andere Anbieter folgen einem ähnlichen Muster, die genaue Update-URL findet sich jeweils in der eigenen Dokumentation des gewählten Anbieters.
Ein eingerichteter DynDNS-Name ersetzt nicht die Portweiterleitung und schon gar nicht eine vernünftige Absicherung des Servers selbst, er sorgt nur dafür, dass die richtige Adresse überhaupt gefunden wird. Die Firewall- und Hardening-Schritte aus den einzelnen Server-Artikeln gelten unverändert weiter, dazu ausführlicher in der Server-Hardening-Checkliste. Und falls sich beim Lesen dieses Artikels herausgestellt hat, dass euer Anschluss ohnehin hinter CGNAT sitzt: Das ist genau der Punkt, an dem sich ein Blick in Eigener Server oder Massenhoster? noch mal neu lohnt, ein gemieteter Server hat das Problem grundsätzlich nicht.
Lieber machen lassen?
Ich richte DynDNS, Portweiterleitung und die Firewall für deinen Heimserver ein — sag einfach Bescheid.
Anfrage stellen