Ich habe kürzlich einen Mini-Computer bei aliexpress gekauft. Es ist ziemlich leistungsfähig und viel kostengünstiger als das Mieten von Amazon EC2-Instances. Es sitzt in der Nähe meines Routers in meiner Wohnung, ständig auf 24/7, nippt nur 10 bis 15W.

Ich habe einen regulären Internet Service Provider (ISP), den ich monatlich bezahle. Am wichtigsten ist, dass ich keine statische IP-Adresse habe. Normalerweise kostet eine statische IP entweder jeden Monat mehr Geld oder ist einfach keine Option.

Was ist die Lösung? Wie kann ich mich mit meinem Heimcomputer / Server verbinden? Dynamisches DNS!

Dynamisches DNS konfigurieren

Okay, ich habe einen Domainnamen, einen Internetdienstanbieter (ISP), einen Router und einen Heimserver (den Mini-Computer). Ich habe keine statische IP. Ich möchte jedoch konsequent von einer Remote-Quelle (z. B. von meinem Telefon oder von meinem Laptop auf Reisen) eine Verbindung zu meinem Heimcomputer / Server herstellen.

Ich habe meine Domain über Google Domains registriert, also fangen wir dort an. Möglicherweise müssen Sie in den Einstellungen, in denen Sie Ihre Domain registriert haben, etwas Ähnliches tun.

Im Abschnitt Google Domains können Sie dynamisches DNS für einen bestimmten Domainnamen einrichten. Sie haben einfach die Subdomain angegeben (ich habe meine ‚Scooter‘ genannt, wie unten zu sehen) und auf einen meiner Domainnamen verwiesen, die ich bei Google Domains registriert hatte.

Als nächstes ging ich zu meinem Heimrouter, einem TP-LINK Archer C7, und fand den Abschnitt für dynamisches DNS. Ich hatte gehofft, es wäre einfach genug, es einfach mit dem Benutzernamen / Passwort, das Google Domains für mich erstellt hat, auf meinen Domainnamen zu verweisen.

Leider ist TP-LINK nicht sehr flexibel. Sie erwarten, dass Benutzer No-IP, Dyndns oder Comexe für ihre dynamischen DNS-Anforderungen verwenden.

Glücklicherweise ist Google Domains viel flexibler. Sie können einen Client oder deren API verwenden, um Ihr dynamisches DNS zu aktualisieren.

Okay, vielleicht probiere ich den DDclient aus, da dies ein unterstützter Client zu sein scheint.

Verwenden von DDclient für dynamisches DNS

Hier erfahren Sie mehr über DDclient. Da ich ein Ubuntu-Betriebssystem verwendete, entschied ich mich für den apt-get-Paketmanager.

Running sudo apt-get install ddclient startete mich sofort in einen Setup-Assistenten.

Der einzige Teil, über den ich verwirrt war, war die Netzwerkschnittstelle.

Laufen ifconfig -a half, das herauszufinden. Hier ist die Ausgabe von running that:

Basierend auf der Menge des Datenverkehrs sieht es so aus, als ob ich p2p1 möchte.

Nach der ddclient-Installation

Nachdem der Setup-Assistent abgeschlossen war, erwartete ich irgendwo eine generierte ddclient.conf -Datei. Laut den Dokumenten sollte es eine bei

/etc/ddclient.conf

geben, aber es gab keine. Ich habe versucht, ddclient zu debuggen, indem ich

ddclient -daemon=0 -noquiet -debug

ausgeführt habe, und es wurde eine Datei unter

/var/cache/ddclient/ddclient.cache

angezeigt, aber dann:

DEBUG: get_ip: using if, p2p1 reports 192.168.0.104

Das ist nicht die IP-Adresse, die ich will!

Also habe ich manuell eine Konfigurationsdatei unter /etc/ddclient.conf

erstellt und dann

sudo nano /etc/default/ddclient

bearbeitet run_daemon="true"

$ sudo service ddclient statusStatus of Dynamic DNS service update utility: ddclient is running.

Wenn es nicht läuft, geben Sie

$ sudo service ddclient start

Erfolg!

DDclient ist eine nette Software, die erkennen kann, wenn sich meine IP-Adresse ändert (z. B. wenn mein ISP zufällig beschließt, sie zu drehen). DDclient überträgt dann die neue IP-Adresse an Google Domains, sodass bei jedem Besuch von scooter.mydomain.com bekannt ist, an welche IP-Adresse der Datenverkehr weitergeleitet werden soll. Juhu!

Januar 2018 Update

Ich habe Internetdienstanbieter und Domainnamen einige Male gewechselt, seit ich dies ursprünglich eingerichtet habe. Das ursprüngliche Setup funktioniert nicht mehr, daher möchte ich es wieder zum Laufen bringen.

Dynamisches DNS in Google Domains wieder aktivieren

Ich verwende eine „nackte“ Domain, also das @ -Symbol anstelle einer Subdomain. Eine nackte Domain ist wie example.com anstelle von

Note that the data column is blank because the ddclient software hasn’t told Google Domains what the IP address is.

First I’ll confirm that it’s installed

Okay so that’s not quite the latest version as of today, which is 3.8.3. Checking the release notes doesn’t look like I am missing too much.

Is it running?

Okay so it is running, but has old settings.

Update settings

This is the username and password that Google Domains generated. My domain name is at the bottom with the „naked“ prefix @ . Ich denke, ich könnte das Google Domains-Protokoll verwenden, da ddclient es unterstützt, aber ich werde das überspringen, es sei denn, ich habe Probleme mit dem dyndns2-Protokoll.

Testen Sie es

Ich werde es nur einmal ausführen (kein Daemon oder Dienst), wenn das Debugging aktiviert ist

Und wenn wir Google Domains überprüfen:

Es zeigt, dass es um 9:51:22 Uhr geändert wurde, also ziemlich nah. 2 sekunden liegt im Bereich einer Uhr, die langsam / schnell ist.

Überprüfen Sie cron und Dienste
$ crontab -e(nothing in there)$ sudo crontab -e(nothing in there)

Und wir überprüfen den Dienst, um festzustellen, ob ein Dämon ausgeführt wird

Es heißt, es läuft. Wenn wir versuchen, es erneut zu starten, was passiert dann?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.