Kürzlich stelle ich mein Netz so um, dass meine FritzBox nur als ein Client des Netzes darstellt. Der Internetzugang wird nun über ein D-Link DSL321B aufgebaut und „vermittelt“. Einen Nachteil hat dieses Modem allerdings: Es bietet keine Möglichkeit, einen DynDNS-Zugang zu aktualisieren, wenn sich die öffentliche IP-Adresse ändert. Dieser und andere Gründe können das Interesse an einer alternativen Lösung wecken, von denen ich eine in diesem Beitrag vorstellen möchte.
Einleitung und Vorbereitung
In diesem Beitrag erstellen wir uns ein Bash-Script, dass durch einen Aufruf durch einen Cronjob regelmäßig die aktuelle, öffentliche IP-Adresse prüft und diese bei einer Änderung an vorher definierte Dienste mitteilt. In diesem Script nutzen wir hauptsächlich das Tool „curl„, um die zumeist HTTP-basierten Aktualisierungen zu „senden“. Dieses Tool installieren wir mit
apt-get install curl
Script erstellen
Nun erstellen wir ein neues Bash-Script namens „dyndns.sh„, gerne wie in allen anderen Beiträgen, im Ordner „/scripts/„. Dieses Script befüllen wir mit folgendem Inhalt:
#!/bin/bash
IPDATEI="/tmp/ipold.txt"
UPDATE=false
IPNOW=$(/usr/bin/curl https://klenzel.net/remoteip.php)
if [ ! -f $IPDATEI ] ; then
UPDATE=true
else
IPOLD=$(cat $IPDATEI)
if [ "$IPOLD" != "$IPNOW" ] ; then
UPDATE=true;
fi
fi
if $UPDATE ; then
echo $IPNOW > $IPDATEI
#Hier wird das Update durchgeführt
fi
Dem Script erlauben wir anschließend die Ausführung mit
chmod x /scripts/dyndns.sh
DynDNS-Anbieter eintragen
An dieser Stelle müssen wir die Zeile 21 unseres Scripts editieren und den DynDNS-Anbieter unserer Wahl ein tragen. Dazu habe ich folgend ein paar Beispielhafte Aufrufe aufgelistet:
Hurrican Electric IPv6-Tunnel |
/usr/bin/curl -4 -s „https://ipv4.tunnelbroker.net/nic/update?username=NUTZERNAME&password=PASSWORT&hostname=TUNNELID“ > /dev/null |
DynDNS.org |
/usr/bin/curl -4 -s „https://NUTZERNAME:PASSWORT@members.dyndns.org/nic/update?hostname=HOSTNAME&myip=$IPNOW“ > /dev/null |
No-IP.org |
/usr/bin/curl -4 -s -u NUTZERNAME:PASSWORT „https://dynupdate.no-ip.com/nic/update?hostname=HOSTNAME“ > /dev/null |
Strato |
/usr/bin/curl -4 -s -u NUTZERNAME:PASSWORT „https://dyndns.strato.com/nic/update?hostname=HOSTNAME“ > /dev/null |
Eigener Dienst |
/usr/bin/curl -4 -s -u „https://dyn.eigenedomain.de/?domain=HOSTNAME&pass=PASSWORT“ > /dev/null |
Werte wie „Nutzername„, „Passwort“ oder „Hostname“ müssen natürlich durch eigene Angaben ersetzt werden.
Cron-Job
Abschließend erstellen wir einen Cronjob, damit unser Update-Script alle fünf Minuten ausgeführt wird. Wir öffnen den Crontab-Editor durch
crontab -e
und fügen folgende Zeile ein:
*/5 * * * * /scripts/dyndns.sh
DynDNS-Aktualisierung via Cronjob
Kürzlich stelle ich mein Netz so um, dass meine FritzBox nur als ein Client des Netzes darstellt. Der Internetzugang wird nun über ein D-Link DSL321B aufgebaut und „vermittelt“. Einen Nachteil hat dieses Modem allerdings: Es bietet keine Möglichkeit, einen DynDNS-Zugang zu aktualisieren, wenn sich die öffentliche IP-Adresse ändert. Dieser und andere Gründe können das Interesse an einer alternativen Lösung wecken, von denen ich eine in diesem Beitrag vorstellen möchte.
Einleitung und Vorbereitung
In diesem Beitrag erstellen wir uns ein Bash-Script, dass durch einen Aufruf durch einen Cronjob regelmäßig die aktuelle, öffentliche IP-Adresse prüft und diese bei einer Änderung an vorher definierte Dienste mitteilt. In diesem Script nutzen wir hauptsächlich das Tool „curl„, um die zumeist HTTP-basierten Aktualisierungen zu „senden“. Dieses Tool installieren wir mit
Script erstellen
Nun erstellen wir ein neues Bash-Script namens „dyndns.sh„, gerne wie in allen anderen Beiträgen, im Ordner „/scripts/„. Dieses Script befüllen wir mit folgendem Inhalt:
Dem Script erlauben wir anschließend die Ausführung mit
DynDNS-Anbieter eintragen
An dieser Stelle müssen wir die Zeile 21 unseres Scripts editieren und den DynDNS-Anbieter unserer Wahl ein tragen. Dazu habe ich folgend ein paar Beispielhafte Aufrufe aufgelistet:
Werte wie „Nutzername„, „Passwort“ oder „Hostname“ müssen natürlich durch eigene Angaben ersetzt werden.
Cron-Job
Abschließend erstellen wir einen Cronjob, damit unser Update-Script alle fünf Minuten ausgeführt wird. Wir öffnen den Crontab-Editor durch
und fügen folgende Zeile ein:
Verwandte Beiträge
Da immer mehr Anbieter eines Dynamischen DNS-Services dazu übergehen, ihre kostenlosen Dienste einzustellen, stelle ich…
Grundsätzlich ist es mit PoKeys möglich, eine komplette Hausautomatisierung umzusetzen. Die Möglichkeiten, die PoBlocks als…
In vielen denkbaren Szenarien macht es Sinn, dass unsere openHAB-Instanz weiß, dass jemand zuhause ist…
An dieser Stelle möchte ich über den aktuellen Verlauf der PoKeys-Versionen informieren und auf die…
Kürzlich stellte ich in einem Artikel die Möglichkeit vor, einen LG-Smart-TV mit einer Linux-Kommandozeile zu steuern. Bisher…