Wer von unterwegs auf sein Heimnetzwerk zugreifen möchte, verbindet sich dazu auf seine IP-Adresse. Da diese IP-Adresse sich jedoch häufig ändern kann, ist es sinnvoll, einen dynamischen DNS-Anbieter zu verwenden, wodurch man über einen leicht zu merkenden Hostnamen auf sein Netzwerk zugreifen kann, und der automatisch geänderte IP-Adressen wahrnimmt und seine Konfiguration automatisch an seine aktuelle IP-Adresse anpasst.
Mit dem kostenlosen Dienst EntryDNS hat man zwei Möglichkeiten für die Realisierung:
- Variante A: man erhält kostenlose Subdomains in der Form <meinname>.entrydns.org (zB maxmustermann.entrydns.org)
- Variante B: man delegiert einen Subdomain-Eintrag seiner eigenen Domain an EntryDNS und kann so <meinname>.<meinedomain> verwenden (zB home.example.com)
Schritt 1 - Registrierung
Zuerst erstellt man ein kostenloses Konto bei EntryDNS. Es wird seit kurzem eine einmalige Gebühr pro Benutzer von 10 US$ eingehoben.
Schritt 2 - Konfiguration
Variante A
- beim Punkt "Dynamic Hosts" erstellt man einen neuen Host über den Punkt "Add Host"
- im Feld "Name" gibt man <meinname> ein (also zB maxmustermann)
- im Feld "IP" gibt man seine aktuelle IP-Adresse ein
- das Feld "TTL" (Time-to-live) gibt die Anzahl in Sekunden an, wielange der Eintrag gecached werden soll (dieser kann mind. 60 Sekunden sein)
Nach dem Speichern erscheint eine Liste mit dem neuen Host, in der Spalte "Authentication token" steht der Token, den wir später noch benötigen werden. Nach einigen Minuten sollte bereits die IP-Adresse durch den vergebenen Hostnamen aufgelöst werden.
Variante B
- beim Punkt "My Domains" erstellt man eine neue Domain über den Punkt "Add Domain"
- im Feld "Name" gibt man <meinname>.<meinedomain> ein (also zB home.example.com)
- im Feld "IP" gibt man seine aktuelle IP-Adresse ein
- der Rest kann unberührt bleiben
Nach dem Speichern erscheint eine Liste mit der neuen Domain. Nach einem Klick auf den Eintrag in der Spalte "Records" erhält man den neuen DNS-Eintrag. In der Spalte "Authentication token" steht der Token, den wir später noch benötigen werden sowie die 3 Nameserver von EntryDNS ns1.entrydns.net, ns2.entrydns.net und ns3.entrydns.net. Nach einigen Minuten sollte bereits die IP-Adresse durch den vergebenen Hostnamen aufgelöst werden.
Nun muss noch die Delegation der (Sub-)Domain an EntryDNS erfolgen. Dazu ergänzt man seinen DNS-Eintrag um folgende Zeilen (<meinname> ersetzen mit der eigenen Subdomain):
<meinname> IN NS ns1.entrydns.net. <meinname> IN NS ns2.entrydns.net. <meinname> IN NS ns3.entrydns.net.
Schritt 3 - seine IP-Adresse an EntryDNS posten
Damit EntryDNS geänderte IP-Adressen mitbekommt, kann man von seinem Netzwerk in laufenden Abständen (zB jede Stunde) seine aktuelle IP-Adresse an die API senden.
curl -k -X PUT -d "ip=IP" https://entrydns.net/records/modify/TOKEN
wobei IP und TOKEN durch seine eigene zu ersetzen ist
curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN
wobei TOKEN durch seinen eigene zu ersetzen ist, hier wird automatisch die IP-Adresse des aufrufenden Rechners ermittelt
Schritt 4 - den vorigen Schritt automatisieren
Um nun zB jede Stunde seine IP-Adresse automatisch an EntryDNS zu posten, wird einfach ein Eintrag im Crontab zugefügt und natürlich TOKEN durch seinen eigenen ersetzt:
00 * * * * root curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN >> /var/log/entrydns.log 2>&1
Schritt 5 - Testen
Zum Testen kann zB das Tool NsLookup verwendet werden. Nach Eingabe der Domain (Schritt 2) sollten die 3 Nameserver von EntryDNS angezeigt werden und eine Verbindung über die neue Domain solte klappen.