AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
Hallo Forum,
so ich bring die Sache jetzt mal zum Abschluß!!!
Ersteinmal vielen Dank für die vorgeleistet Arbeit
An Pranky, Roter Baron und vielen Anderen ...
Was war gefordert:
1.) Die erste Fritzbox soll ohne Freetz mit Originalfirmware laufen und ist der Internet-Router.
2.) Die zweite Fritzbox ist z.B euer Card-Sharing-Router und dort ist Freetz drauf.
3.) Dyndns soll auch bei Update Fehlern jederzeit funktionionieren
Was für Vorausssetzungen gibt es:
1.) Telnet sollte permant auch auf der ersten Fritzbox bei Neustart funktionieren dazu Post 91+98+99
2.) Cron muss im Image unseren gefreezten Box sein
3.) Verständis, wenn es mal nicht funktioniert, denn nicht jede Fritzbox ist gleich.
Ich habe es mit zwei verscheiden Fritzboxen 7390 und 7170 mit verschiedenen Images ausprobiert!
Hier die Lösung:
1.) Erstellt eine Datei
wache.sh mit folgenden Inhalt (
meine.dyndns.org = eure dyndns eintragen und
ZugangsPW = Passwort per Telnet zu euer
ersten bzw. ungefreezten Box eintragen:
ABFRAGE=$(ping -c1 "
meine.dyndns.org" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | cut -d ' ' -f3 | cut -d ':' -f1)
GETIP=$(/usr/bin/get_ip -e)
if [ $ABFRAGE = $GETIP ]; then
echo 2 > /dev/null
else(
sleep 3;
echo -e "
ZugangsPW\r";
sleep 3;
echo -e "killall dsld\r"
sleep 10;
echo -e "dsld -i -n\r"
sleep 3
echo -e "exit\r"
) | telnet 192.168.178.1
fi
Diese Datei ins Hauptverzeichnis auf dem USB-Stick kopieren. Der USB-Stick (muss als uStor01 erkannt werden)
hängt natürlich an euerer
zweiten bzw. gefreezten Box! Nutzt einen
Linuxeditor mit der Erstellung, sonst kommen
die blöden ^M am Zeilenende könnt ihr kontrollieren, wenn ihr mit vi auf die Datei zugreift.
2.) Auf euer
gefreetzten Box nur noch in crontab folgende Zeile einspeichern:
*/10 * * * * sh /var/media/ftp/uStor01/cron/wache.sh
Sollte Cron nicht auf "automatisch" sein im Freetzmenü dies ändern und abspeichern
So dieses script läuft
ohne wget und nutzt in jeder vorhanden Fritzbox den Befehl "get_ip -e" aus, der die aktuelle Internetverbindungs-IP anzeigt! Vergleicht die Internet-IP, die durch Abfrage Ping von Dyndns bekommen hat ( Die Befehle
cut und
sed, werden gebraucht um den Befehl
ping zu zerlegen und nur den Teil der IP-Adresse anzuzeigen). Nach dem Vergleich, wird nichts bei Übereinstimmung gemacht und bei Abweichung ein Neustart der Internetverbindung per Telnet der
ersten bzw. ungefreetzten Box. Ich habe auf Extras mit Mailbenachrichtung und Anzahl der Versuche bewusst darauf verzichtet um es einfach zu halten, wer ist extra möchte schaue sich vorherige Posts an wie dies eingebunden werden kann!
So ich hoffe es läuft bei jedem
Gruß
Lordi