Mit diesem Script wird Ihre öffentliche IP-Adresse automatisch in Poweradmin aktualisiert.
Das ist z.B. dann wichtig, wenn Sie einen Internetanschluss mit dynamischer IP-Adresse haben und trotzdem einen festen Hostnamen verwenden möchten.
1. Voraussetzungen
Um das Script nutzen zu können, benötigen Sie:
-
Ein Linux-System (z.B. Debian, Ubuntu, etc.)
-
Zugangsdaten für den DNS Cluster:
-
DynDNS-Benutzername
-
DynDNS-Passwort
-
-
Zugriff auf die Shell (SSH)
-
Installierte Programme:
-
bash -
curl
-
Diese Dinge sind auf den meisten Linux-Servern bereits vorhanden.
2. Script herunterladen
Laden Sie das Script auf Ihren Server herunter, zum Beispiel in /usr/local/sbin:
sudo mkdir -p /usr/local/sbin cd /usr/local/sbin sudo curl -o DNSUpdate.sh "https://git.onesystems.ch/system-tools/scripts/raw/master/DNSUpdate.sh" sudo chmod +x DNSUpdate.sh
Damit ist das Script ausführbar.
3. Script konfigurieren
Öffnen Sie das Script mit einem Editor, z.B. nano:
Passen Sie folgende Werte an:
DDNS_USER und DDNS_PASS
Tragen Sie hier Ihren DynDNS-Benutzernamen und das dazugehörige Passwort ein:
Optional:
-
DEBUG=1
Wenn Sie Probleme bei der Einrichtung haben, können Sie den Debug-Modus temporär aktivieren:
Speichern Sie die Datei und schliessen Sie den Editor.
In nano: Strg + O → Enter → Strg + X.
4. Testlauf des Scripts
Führen Sie einen ersten Test manuell aus:
Typische erfolgreiche Ausgabe sieht zum Beispiel so aus:
2025-12-01 12:00:00 [INFO] IP changed: '' '' -> 'v4' '203.0.113.45' 2025-12-01 12:00:01 [INFO] Sending DynDNS update to Poweradmin (v4: 203.0.113.45)... 2025-12-01 12:00:01 [INFO] DynDNS update successfully completed (v4: 203.0.113.45).
Falls die IP noch gleich ist und bereits eingetragen war, erscheint z.B.:
Fehlermeldungen beginnen mit [ERROR] und geben Hinweise, woran es liegt (z.B. falsche Zugangsdaten oder keine Verbindung).
5. Automatische Ausführung per Cronjob
Damit Ihre DNS-Einträge automatisch aktuell bleiben, sollte das Script regelmässig ausgeführt werden, z.B. alle 5 Minuten.
5.1 Cronjob für den aktuellen Benutzer
Öffnen Sie die Crontab:
Fügen Sie folgende Zeile ein:
Das bedeutet:
-
Alle 5 Minuten wird das Script ausgeführt.
-
Ausgaben werden in
~/.poweradmin-dyndns/dyndns.loggespeichert.
5.2 Cronjob als root
Falls das Script als root laufen soll:
und z.B.:
6. Funktionsweise im Hintergrund
Das Script arbeitet in mehreren Schritten:
-
Ermittlung der aktuellen öffentlichen IP-Adresse über
IP_SERVICE_URL. -
Erkennen, ob es sich um IPv4 oder IPv6 handelt.
-
Vergleich mit der zuletzt gespeicherten IP in:
-
~/.poweradmin-dyndns/last_ip
-
-
Nur bei Änderung der IP wird ein Update an Poweradmin geschickt.
-
Die Antwort des Servers wird geprüft.
Erfolgreich sind z.B. Antworten wie:-
good ... -
nochg ... -
Your hostname has been updated.
-
So werden nur dann Updates gesendet, wenn sich Ihre IP tatsächlich ändert.
7. Fehlerbehebung
Falls etwas nicht funktioniert, können Sie folgende Punkte prüfen:
-
Debug-Modus aktivieren
Im Script:Danach Script erneut ausführen und die detaillierte Ausgabe ansehen.
-
Logdatei prüfen
Wenn Sie eine Logdatei per Cron angelegt haben (z.B.~/.poweradmin-dyndns/dyndns.logoder/var/log/dyndns.log), prüfen Sie diese auf[ERROR]-Zeilen. -
Zugangsdaten kontrollieren
-
Stimmt
DDNS_HOSTNAMEgenau mit dem Eintrag in Poweradmin überein? -
Sind Benutzername und Passwort korrekt?
-
-
Internetverbindung & Firewall
-
Kann der Server
https://tools.onesystems.cherreichen? -
Kann der Server die hinterlegte
DDNS_URLerreichen?
-
-
Berechtigungen
-
Script muss ausführbar sein:
Ausgabe sollte ein
xin der Berechtigung enthalten, z.B.:
-