Damit der Raspberry PI auch aus dem Internet aus trotz einer wechselnden IP-Adresse erreichbar ist, wird ein DDNS verwendet. Damit ist es möglich einen Hostnamen bei einem DDNS-Anbieter zu registrieren und mit einem Dienst die zugeordnete IP-Adresse prüft und regelmässig zu aktualisieren.
Bei einem Anbieter anmelden
Es gibt verschiedene auch kostenlose Anbieter für DDNS. Der bekannteste ist DynDNS der sich vor einigen Jahren in DYN umbenannt hat und leider keine kostenlosen Konten mehr bereitstellt. Darum verwende ich hier den kostenlosen Anbieter spdyn.de. Da sich meine IP-Adresse an einem Kabelanschluss nur sehr selten ändert habe ich Probleme mit anderen Anbietern wie noip.com, die meine Hostnamen aufgrund von vermeintlicher Inaktivität nach ein paar Wochen deaktivieren.
Host hinzufügen
Nachdem du dich bei spdyn.de angemeldet und kein Konto mit der Aktivierungsmail bestätigt hast, kannst du im Account mit dem Knopf IPv4-Host hinzufügen, einen neuen Hostnamen erstellen.
Auf der nächsten Seite musst du bei Host Name deinen gewünschten und freien Hostnamen eintragen. Im Dropdown kannst du dann einen vom Anbieter bereitgestellten Domainnamen auswählen. Bei Host Typ sollte A (IPv4) stehen bleiben, falls dein Internetanschluss noch kein IPv6 benutzt, was bei vielen altmodischen Anbietern leider noch der Fall ist. Unter IP wird deine aktuelle IP-Adresse automatisch eingetragen über die du die Seite aufgerufen hast.
Damit ist die Konfiguration bei spdyn.de abgeschlossen und muss eigentlich nur noch aufgerufen werden um Einstellungen zu prüfen oder um neue Hostnamen zu erstellen.
Installation des DDNS-Clients
Damit die täglich wechselnde IP-Adresse von z.B. DSL-Anschlüssen auch regelmässig aktualisiert wird muss ein DDNS-Client auf dem Raspberry PI installiert werden. Dieser prüft regelmässig die externe IP-Adresse und sendet diese bei Änderungen an den DDNS-Anbieter, damit der Hostname auf die neue IP-Adresse aktualisiert wird.
sudo apt install ddclient Paketlisten werden gelesen... Abhängigkeitsbaum wird aufgebaut.... Statusinformationen werden eingelesen.... Die folgenden zusätzlichen Pakete werden installiert: libio-socket-ssl-perl libnet-libidn-perl libnet-ssleay-perl Die folgenden NEUEN Pakete werden installiert: ddclient libio-socket-ssl-perl libnet-libidn-perl libnet-ssleay-perl 0 aktualisiert, 4 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 532 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 1.763 kB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] j …
Konfiguration
Während der Installation startet ein Assistent, der die grundlegenden Einstellungen abfragt. Vergiss nicht den Vollqualifizierte DynDNS-Domainnamen (Host Name), deinen Benutzernamen (E-Mail) und das Passwort durch deine eigenen Werte auszutauschen!
Anbieter | anderer |
---|---|
Dynamischer DNS-Server | update.spdyn.de |
Protokoll für die dynamische DNS-Aktualisierung | dyndns2 |
Benutzername für den dynamischen DNS-Dienst | gmblar@gmail.com |
Passwort | bmcf-saqc-heik |
Vollqualifizierte DynDNS-Domainnamen | blar-test.spdns.de |
Fehlende Konfiguration hinzufügen
Da während der Installation nicht alle benötigten Einstellungen abgefragt wurden, muss die Konfigurationsdatei /etc/ddclient.conf geöffnet werden um die Zeilen „use=web, web=checkip.spdyn.de“ für die Ermittlung der externen IP-Adresse und „ssl=yes“ damit HTTPS verwendet wird, hinzugefügt werden.
sudo vim /etc/ddclient.conf # Configuration file for ddclient generated by debconf # # /etc/ddclient.conf protocol=dyndns2 server=update.spdyn.de login=gmblar@gmail.com password='bmcf-saqc-heik' use=web, web=checkip.spdyn.de ssl=yes blar-test.spdns.de
Da die Standardeinstellungen von ddclient davon ausgehen, dass das Programm auf einem Computer läuft der direkt ohne Router am Internetaschluss hängt müssen in der Datei /etc/default/ddclient die Einstellungen run_ipup auf false und run_daemon auf true geändert werden, damit regelmässig (alle 300 Sekunden) auf eine neue IP-Adresse geprüft wird.
sudo vim /etc/default/ddclient # Configuration for ddclient scripts # generated from debconf on Do 25. Mai 15:48:54 UTC 2017 # # /etc/default/ddclient # Set to "true" if ddclient should be run every time DHCP client ('dhclient' # from package isc-dhcp-client) updates the systems IP address. run_dhclient="false" # Set to "true" if ddclient should be run every time a new ppp connection is # established. This might be useful, if you are using dial-on-demand. run_ipup="false" # Set to "true" if ddclient should run in daemon mode # If this is changed to true, run_ipup and run_dhclient must be set to false. run_daemon="true" # Set the time interval between the updates of the dynamic DNS name in seconds. # This option only takes effect if the ddclient runs in daemon mode. daemon_interval="300"
Neustart von ddclient
Zum Abschluss muss der Dienst ddclient neugestartet werden, damit die neuen Einstellungen aktiv werden.
sudo systemctl restart ddclient
Hostnamen testen
Nachdem in der Adresszeile deines Browsers dein neuer externer Hostname (hier blar-test.spdns.de) eingeebnet wurde, solltest du die Testseite mit der Ausgabe „Hello World“ sehen.
[…] nginx den wir im Artikel nginx als Webserver installieren eingerichtet haben jetzt auch durch den Externen Hostnamen per DDNS aus dem Internet erreichbar ist, soll die Datenübertragung verschlüsselt werden. Dadurch kann der […]
[…] nicht mit dem Server verbunden werden soll. Dies kann z.B. passieren, wenn die Domain bei einem DDNS-Anbieter aufgrund von Inaktivität freigegeben und von einer anderen Person registriert […]