Domain mittels Dynamischen DNS mit einem Netzwerk mit wechselnder IP verbinden (Linux)
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
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 --versionUm 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 python3Um 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 --versionUm 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 upgradeUm 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 –VUm pip zu installieren, geben Sie den folgenden Befehl ein:
sudo yum -y install python-pipAktualisieren 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-dyndnsUm 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.comKopieren 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.