Hinweis für Besitzer von AVM FRITZ!Box Routern

Wenn Sie Dynamisches DNS nutzen möchten und Ihr Heim- oder Firmennetzwerk über eine FRITZ!Box mit dem Internet verbunden ist, empfehlen wir Ihnen, Ihre FRITZ!Box als DDNS-Client zu verwenden. Der Vorteil ist für Sie ist, dass diese Geräte in der Regel rund um die Uhr in Betrieb sind und Änderungen an der IP-Adresse daher immer zeitnah erkannt werden können. Wie Sie Ihre FRITZ!Box für den DDNS-Dienst von IONOS konfigurieren, zeigen wir Ihnen im Artikel Dynamisches DNS einrichten bei IONOS.

Wenn man von außen auf sein Heimnetzwerk oder kleines Firmennetzwerk zugreifen möchte, hat man oft folgendes Problem: Das Netzwerk ist über einen DSL-Anschluss mit dem Internet verbunden, dessen IP-Adresse sich regelmäßig ändert. Um auf das Netzwerk zugreifen zu können, müsste daher jeder stets die aktuelle IP-Adresse kennen. 

Da IP-Adressen schwer zu merken sind und ihre Verwendung daher von vielen als unpraktisch empfunden wird - vor allem wenn sie sich regelmäßig ändern- ist es ratsam, für diesen Zweck eine Domain zu verwenden. Doch wie kann man sicherstellen, dass die Domain immer auf die richtige, d.h. aktuelle, IP-Adresse verweist? Die Lösung heißt: Dynamisches DNS

Was ist Dynamisches DNS?

Dynamisches DNS (Dynamic Domain Name System, kurz DDNS) ist eine Technik, die es ermöglicht, die sich ständig ändernden IP-Adressen im DNS-Eintrag der Domain automatisch zu ändern, so dass Ihr Heimnetzwerk permanent unter Ihrer Domain erreichbar ist.

So funktioniert Dynamisches DNS bei IONOS

Um Dynamisches DNS zu verwenden, installieren Sie den Multiplattform-Client von IONOS auf einem Rechner, der sich in Ihrem Netzwerk befindet. Dieser Multiplattform-Client ist in Python geschrieben.

Im Folgenden zeigen wir Ihnen, wie Sie Python und den Multiplattform-Client auf Ihrem Computer installieren und verwenden können.

Voraussetzungen

Für diese Anleitung benötigen Sie folgendes:

  • Eine bei IONOS registrierte Domain. Sie müssen aber nicht diese Domain Zugriff auf Ihr Netzwerk verwenden, sondern können dazu auch eine Subdomain erstellen.
  • Ein Computer/Gerät mit Linux-Betriebssystem, auf dem die Programmiersprache Python installiert werden kann.
  • Der Computer/das Gerät muss dieselbe öffentliche IP-Adresse verwenden wie das Netzwerk, für das Sie Dynamisches DNS einrichten möchten. Das heißt, das Gerät muss Teil des entsprechenden Netzwerks sein.
  • Der Computer/das Gerät und der Internet-Router müssen ausgehende über Port 443 (HTTPS) erlauben. Dies ist jedoch bei den meisten Systemen standardmäßig der Fall. Darüber hinaus ist keine weitere Konfiguration des Netzwerks erforderlich. 

Python auf einem Computer mit dem Betriebssystem Ubuntu installieren

Wie Sie Python auf einem Computer mit dem Betriebssystem Ubuntu installieren, zeigt Ihnen die folgende Schritt-für-Schritt-Anleitung.

Installation überprüfen
  • Prüfen Sie, ob Python bereits installiert ist. Geben Sie hierzu den folgenden Befehl ein:

    python3 --version

  • Um zu prüfen, ob pip korrekt installiert ist, geben Sie den folgenden Befehl ein:

    pip3 --version

Python installieren
  • Um Python 3.x zu installieren, geben Sie die folgenden Befehle ein.

    sudo apt update
    sudo apt upgrade
    sudo apt install software-properties-common
    sudo apt install python3

  • Um pip zu installieren, geben Sie den folgenden Befehl ein:

    sudo apt install python3-pip

Python auf einem Computer mit dem Betriebssystem CentOS 7 installieren

Wie Sie Python auf einem Computer mit dem Betriebssystem CentOS 7 installieren, zeigt Ihnen die folgende Schritt-für-Schritt-Anleitung

Python 3 ist standardmäßig nicht in CentOS 7 installiert. Darüber hinaus wird Python nicht im offiziellen Repository angeboten. Aus diesem Grund ist im ersten Schritt die Installation des Inline Upstream Stable (IUS) Pakets erforderlich.

Installation überprüfen
  • Prüfen Sie, ob Python bereits installiert ist. Geben Sie hierzu den folgenden Befehl ein:

    python --version

  • Um zu prüfen, ob pip korrekt installiert ist, geben Sie den folgenden Befehl ein:

    pip --version

Python installieren
  • Um den Paketmanager yum zu aktualisieren, geben Sie den folgenden Befehl ein:

    sudo yum -y update
    sudo yum upgrade

  • Um das IUS Paket zu installieren, geben Sie den folgenden Befehl ein:

    sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm

  • Um die neueste Version von Python zu installieren, geben Sie den folgenden Befehl ein: 

    sudo yum -y install python36u

  • Um zu prüfen, ob Python erfolgreich installiert wurde, geben Sie den folgenden Befehl ein:

    python 3.x -V

    Beispiel:

    python3.6 –V

  • Um pip zu installieren, geben Sie den folgenden Befehl ein: 

    sudo yum -y install python-pip

  • Aktualisieren Sie six. Geben Sie hierzu den folgenden Befehl ein:

    sudo pip install --upgrade six

Multiplattform-Client installieren

  • Um den Multiplattform-Client zu installieren, geben Sie den folgenden Befehl ein:

    sudo pip3 install domain-connect-dyndns

  • Um die Domain hinzuzufügen, deren DNS-Einstellungen automatisch aktualisiert werden sollen, geben Sie den folgenden Befehl ein:

    sudo domain-connect-dyndns setup --domain NAME_DER_DOMAIN

    Beispiel:

    sudo domain-connect-dyndns setup --domain example.com 

  • Kopieren Sie die URL und fügen Sie diese in Ihrem Browser ein. 

  • Loggen Sie sich in IONOS ein.

  • Klicken Sie auf Erlauben.

  • Notieren Sie den angezeigten Code.

  • Öffnen Sie die Eingabeaufforderung und geben Sie den Code ein.

  • Um alle Domains zu aktualisieren, geben Sie den folgenden Befehl ein:

    sudo domain-connect-dyndns update --all

    Nach der Eingabe des Befehls wird z. B. die folgende Meldung angezeigt:

    [root@localhost ~]# sudo domain-connect-dyndns update --all
    Read example.com config.
    IP 217.160.25.20 found in A record
    New IP: 217.160.25.20
    A record up to date.

  • Damit die IP-Adresse regelmäßig im DNS-Record aktualisiert wird, muss ein Cronjob konfiguriert werden. Um die Crontab-Datei zu editieren, geben Sie den folgenden Befehl ein:

    crontab -e

Hinweise
  • Cronjobs werden vom Cron-Deamon ausgeführt. Der Cron-Deamon ist ein Dienst, mit dem Sie Skripte und Programme zeitbasiert ausführen können. Die auszuführenden Befehle werden in einer Tabelle gespeichert. Diese Tabelle wird Crontab genannt. 

  • Informationen zum Editieren und zum Aufbau der Crontab-Datei und -Syntax finden Sie im Artikel Cron

  • Fügen Sie den unten aufgeführten Cronjob ein:

    */1 * * * * /usr/bin/flock -n /tmp/ipupdate.lck /usr/local/bin/domain-connect-dyndns update --all --config /root/dyndns/settings.txt

Wenn der Multiplattform-Client ausgeführt wird, ermittelt er die aktuelle öffentliche IP-Adresse des Netzwerks (dies geschieht durch Senden einer HTTPS-Anfrage an ipify.org).  Wenn sich die IP geändert hat, wird ein entsprechendes Update der DNS-Zone veranlasst.