Dynamisches DNS – Flex-DNS von Domain Offensive via Bash Skript aktualisieren

Flex DNS ist eine günstige Alternative zu DynDns, NO-IP und ähnliches und basiert auf der Möglichkeit, dass man mit der eigenen Domain auf die eigene Firewall und mittels Portweiterleitung auf eigene Dienste zugreifen kann, auch wenn man keine feste IP-Adresse hat. Angeboten wird diese Technologie über den Anbieter Domain Offensive 

Für den Zugriff auf meine Owncloud benötigte ich den Zugriff auf meine dynamische IP-Adresse mittels eines festen Domainnamens. Dafür bieten sich zum derzeitigen Zeitpunkt drei Möglichkeiten:

  1. einen kostenfreien Anbieter wie no-ip.com, selfhost.eu oder ähnliches. Die kostenfreien Angebote sind jedoch immer an Bedingungen geknüpft, wie die Aktivierung eines Links aller 30 Tage
  2. einen DynDns-Account eines Anbieters käuflich erwerben
  3. von meinem Internetprovider (Domain Offensive) eine Subdomain als DynDns Zugang verwenden.

Im konkreten Fall bevorzugte ich die dritte Möglichkeit. Um mittels eines Cron Jobs die den Flex-DNS-Eintrag zu aktualisieren, habe ich das Bash-Skript von dieser Quelle angepasst und zu folgendem vervollständigt und geringfügig korrigiert:

#!/bin/bash

USERNAME="username"
PASSWORD="password"
HOSTNAME="DynDNS.Hostname"
IP=`curl -s http://whatismijnip.nl |cut -d " " -f 5`

ABUSE_LOCK_FILE="/tmp/dyndns.abuse"
LAST_IP_FILE="/tmp/lastip"
LAST_IP=`cat $LAST_IP_FILE`

#lockfile check, lockfile is only used if a abuse result appears
if [ -e "$ABUSE_LOCK_FILE" ]; then
echo "Dyndns abuse lockfile exisits: $ABUSE_LOCK_FILE"
exit 1
fi
#end of lockfile check

if [ "$IP" != "$LAST_IP" ]; then
echo "Current IP: $IP"
RESULT=`curl -s "http://$USERNAME:$PASSWORD@ddns.do.de?myip=$IP"`
echo "FlexDNS says: $RESULT!"
else
echo "IP is still the same: $LAST_IP"
fi

if [ "$RESULT" == "abuse" ]; then
echo "Abuse lock!"
echo "Abuse lock!" &&> "$ABUSE_LOCK_FILE"
fi

echo "$IP" & > "$LAST_IP_FILE"

Vorteil: Das Update wird nur durchgeführt, wenn sich die IP wirklich geändert hat.

Das Bash-Script habe ich auf dem Linux Bbetriebssystem mittels crontab in die regelmäßgie Ausführung hinzugefügt.

4 Antworten auf „Dynamisches DNS – Flex-DNS von Domain Offensive via Bash Skript aktualisieren“

  1. Hey Benedikt,
    vielen Dank für Deinen hilfreichen Kommentar – wenn ich die Zeit finde, werde ich die Anpassung zeitnah nachreichen.
    Danke und viele Grüße
    Matthias

  2. DANKE für das Script!
    Leider habe ich einen Fehler beim Ausführen des Scripts
    line 32: gt: command not found

  3. Hi,
    siehe hier,
    da ist erklärt dass das gt& eine HTML-Übersetzung für > (Größer) ist. Das muss irgendwann beim Kopieren oder einem WordPress-Update passiert sein.
    Ich habe das Skript diesezüglich korrigiert.
    Viele Grüße und Daneke für Deinen Hinweis!
    Matthias

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte lösen Sie die folgende Rechenaufgabe, um zu zeigen, dass Sie kein Bot sind. Danke! * Time limit is exhausted. Please reload CAPTCHA.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.