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:
- 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
- einen DynDns-Account eines Anbieters käuflich erwerben
- 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.
Danke dafür!
Ein paar Anmerkungen:
– die HOST variable ist nutzlos so wie ich das sehe.
– statt http://whatismijnip.nl würde ich http://icanhazip.com empfehlen, da spart man sich das cutten (weil die IP direkt zurück kommt)
– Line 21: https statt http nutzen
Grüße! 🙂
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
DANKE für das Script!
Leider habe ich einen Fehler beim Ausführen des Scripts
line 32: gt: command not found
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