Da mein DSL Router (FritzBox) nur einen Anbieter für dynamisches DNS (DynDNS) gleichzeitig aktualisiert und ich der automatischen Aktualisierung nicht 100% traue wird diese Aufgabe jetzt zusätzlich von einem Raspberry Pi erledigt, was folgende Vorteile hat:
Zuerst das script anlegen mit, z.B. mit:
- Man kann mehrere DynDNS services gleichzeitig benutzen und aktualisieren;
- Die Aktualisierung wird per cron regelmäßig angestoßen;
- Alle Aktivitäten werden in ein log file geschrieben;
- Die Lösung ist erweiterbar (z.B. email Benachrichtigung bei IP Änderung).
Zuerst das script anlegen mit, z.B. mit:
Folgenden Inhalt einfügen:nano ~/no-ip-updater.sh
Das script abspeichern (bei nano mit Ctrl-O Ctrl-X) und ausführbar machen.#!/bin/bash # The script assumes existing user 'pi' # Ensure to URL encode if required (e.g.encode the @ as %40) # Change below to match your NO-IP user/email USERNAME=your.name%40email.com # Change below to match your NO-IP password PASSWORD=your-NO-IP-cleartext-password # Change below HOST_NOIP=mygreathostname.ddns.org LOGFILE=/var/log/no-ip-updater.log STOREDIPFILE=/home/pi/current_ip USERAGENT="My bash No-IP Updater" if [ ! -e $STOREDIPFILE ]; then touch $STOREDIPFILE fi NEWIP=$(wget -q -O - "http://myexternalip.com/raw") STOREDIP=$(cat $STOREDIPFILE) if [ "$NEWIP" != "$STOREDIP" ]; then RESULT=$(curl --silent --user-agent "$USERAGENT" "https://$USERNAME:$PASSWORD@dynupdate.no-ip.com/nic/update?hostname=$HOST_NOIP&myip=$NEWIP" >> $LOGFILE) LOGLINE="[$(date +"%Y-%m-%d %H:%M:%S")] Updated IP from $STOREDIP to $NEWIP" #ADD MORE SERVICES HERE IF REQUIRED echo $NEWIP > $STOREDIPFILE else LOGLINE="[$(date +"%Y-%m-%d %H:%M:%S")] No IP change" fi echo $LOGLINE >> $LOGFILE exit 0
Jetzt fehlt noch der Eintrag in der crontab um das script regelmäßig auszuführen. Die crontab des aktuellen Benutzers (pi) editieren mit:chmod +x ~/no-ip-updater.sh
Und folgende Zeile hinzufügen um das script z.B. alle 20 Minuten auszuführen:crontab -e
Fertig.*/20 * * * * sudo /home/pi/no-ip-updater.sh
Keine Kommentare:
Kommentar veröffentlichen