AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
So schaut es aus Superhansi... das war die Aufgabenstellung. Mir scheint, der Eine oder Andere hat sich nicht die Mühe gemacht, den ganzen Thread zu lesen.:read:
Der Vorschlag von harley in #176 und 179 ist ja der, der bei Skywalker und mir nun so funktioniert (Script auf der gefreezten Box startet per Telnet dsld auf der I-Net FB neu).
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
Hi pranky, hi ralmen
ich hab vor ein paar Tage ein Problem mit dem Script gehabt und weis aber nicht warum:ireful2:
Ich nutze aktuell dieses (schlicht und sollte eigentlich den Zweck erfüllen)
#!/bin/sh
# Pranky DynDNS-Check mit Remote-Reconnect - Loop-Version
if [ "$(ping -c4 "google.de" | grep -c "seq")" -eq 4 ]; then
n=7 # Anzahl der Versuche
t=30 # Wartezeit zwischen den Versuchen in sek.
i=1
while [ $i -le $n ]&&[ "$(ping -c4 "xyz.dyndns.org" | grep -c "seq")" -ne 4 ]; do
(
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
echo das war Versuch Nr. $i
sleep $t
i=`expr $i + 1`
done
fi
Im System-Protokoll der Inet Fritze würde ein Dyndns Fehler nach der Zwangstrennung gemeldet. Eigentlich sollte doch nun das Script greifen....Fehlanzeige!
Warum?
Hat doch schon ohne Probleme funktioniert! Wieso jetzt auf einmal nicht???
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
was ruft denn das script auf also was hat das Systemlog damit zu tun?
So wie ich das Script verstehe:
wenn von google.de 4 antworten kommen wird die dyndns angepingt und wenn davon keine 4 antworten kommen, dann macht er telnet 192.168.178.1 und führt dort "killall dsld" etc aus.... mehr macht das script nicht, oder?
aber das script muss ja irgendwie aufgerufen werden weil selber im kreis drehen tut es sich soweit ich das sehe nicht - der Loop bezieht sich wohl nur auf die Versuche die telnet befehle abzusetzen
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
@ skywalker1
Jetzt ist wahrscheinlich, dass eingetroffen, was ich hier die ganze Zeit schreibe!!! Das Script funktioniert nur, wenn dein Anbieter, deine vorherige Ip-Adresse nicht schnell weiter vergeben hat! Denn unter Dyndns ist immer noch die Alte Ip-Adresse gespeichert bis ein erfolgreicher Update mit dem Router geschieht. Ergo während dein Router eine Zwangstrennung macht und die vorherige Ip-Adresse an einem anderen Kunden deines Providers weitergegeben hat gibt es Probleme mit der Ping-Abfrage. Jetzt verhält sich das Script so, dass er erstmal abfragt ob du Verbindung zu Google hast in deinem Fall, ja hast Du! Also nun weiter, jetzt fragt er dyndns welche IP er hat, ja die Alte, weil Neue konnte aufgrund des Fehlers nicht geupdatet werden. Aber jetzt gibt es natürlich eine positive Abfrage, weil er nämlich nicht dich anpingt, sondern irgend ein anderen Internet-User deines Providers(der jetzt tatsächlich deine alte Ip-Adresse hat). Damit macht dein Script nichts mehr und Du behälst dein Fehler.
So und warum funktioniert dein Script nur zu 90 %. Ganz einfach sollte dein Provider die alte ip-adresse nicht so schnell wieder vergeben haben. Kommt eine negative Antwort und somit macht dein Script die Neuanmeldung und wieder einen dyndns-Abgleich.
So was ich in Post 175 geschrieben funktioniert 100 %, man kann es auch abwandeln, sodaß sodass Freetz nicht auf der Internet-Box gebraucht wird. Es wäre Mischung von meinem Lösungsansatz so Prankys Lösungsansatz!
Und auf welcher Seite? sorry aber ich hab tatsächlich nicht wirklich ALLES gelesen - einen zusammenfassenden Post (#1) wo alles wichtige drin steht scheint aber ja auch zu viel verlangt zu sein wa? also bitte ball flach halten - ich wollte nur behilflich sein.....
wenn du nicht weisst wieso das script nicht das macht was du denkst es machen soll, dann debug es mit "set -x" um zu sehen woran es hapert
@Lordduckstein: Dann baut das Script so um das es seine eigene IP zb anhand von myip.ch herrausfindet und dann diese IP mit der IP der dyndns vergleicht...
ich versteh aber auch immernoch nicht ganz wieso ihr 2 Fritzboxen braucht
evtl. hilft schon folgendes:
Code:
#!/bin/sh
# Pranky DynDNS-Check mit Remote-Reconnect - Loop-Version
DynDNS="xyz.dyndns.org"
n=7 # Anzahl der Versuche
t=30 # Wartezeit zwischen den Versuchen in sek.
CHECKIPURL="http://checkip.dyndns.org/"
# get DynDNS-Hosts IP
HOSTIP=$(ping -c1 "$DynDNS" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | awk '{ print $3 }')
wget -q --timeout=10 -O /tmp/_current_ip $CHECKIPURL
CURRENTIP=$(cat /tmp/_current_ip | cut -d ' ' -f 6 | cut -d '<' -f 1)
if [ "$(ping -c4 "google.de" | grep -c "seq")" -eq 4 ]; then
i=1
while [ $i -le $n ]&&[ "$HOSTIP" != "$CURRENTIP" ]; do
(
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
echo das war Versuch Nr. $i
sleep $t
i=`expr $i + 1`
done
fi
exit 0
Ich favorisiere 2 getrennte Boxen, da ich so auch bei höherer Last (Downloads, ggf. Telefonie, ...) auf der I-Net Box keine Störungen bei CS habe. So habe ich eine Box, die nichts anderes macht als CS, während die andere den Rest im Netz inkl. GW zum I-Net erledigt (wofür sie auch originär gedacht ist). Außerdem kann ich so hier und da besser experiemntieren (z.B. mit diesem Script, neuer Firmware, etc.). Bei einem Neustart muss ich nicht jedesmal die I-Net Fritzbox neu starten.
Deswegen favorisiere auch ich ein Script, welches auf der modifizierten Freetz (CS-) Box läuft und die andere seinen originären Dienst verrichten lässt.
mit der funktion von Lordi unter Punkt 3 zu kombinieren.
3.) Datei "wache.sh" mit folgendem Inhalt erstellen und auch auf uStor01 ins Hauptverzeichnis kopieren
(benutzername=buntzername für ftp, passwort=passwort ftp, deine.dyndns.org = Deine dyndns-Adresse, passwort1.sh= siehe Punkt 1.):
# oder, wenn wget vorhanden : if wget -s
Sie müssen registriert sein, um Links zu sehen.
then echo 2 > /dev/null
else reboot
# oder dsl restart Post 44 von Pranky beachten
fi
mein externer ftp connect auf die 2. Freetz box funktioniert. Wget ist auf der meiner 1. Box 7270 mit orig. Image drauf.
Die Frage ist, wie ich die wget Abfrage in die Telnet Schleife einbaue, in der zur zeit nur
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
Wie sieht denn dein bisheriges Script genau aus? (bitte in
Code:
posten)
Und was genau willst du dort dann einbauen?
sorry steig da gerade nicht ganz durch vorallem was genau Lordi's Script bewirkt
..das in ( ) gruppiert nur die Befehle zu einem um die alle an die telnet pipe (|) leiten zu können
aber das wget hat ja auch ein if davor dh so wie ich das von Lordi verstehe; rebooted er wenn das wget nicht erfolgreich war
joah soweit war ich schon aber ich steig da wie gesagt nicht ganz durch... ich versteh zb auch nicht ganz was die password1.sh eigentlich macht bzw machen soll
Also was willst du wo einbauen?
also scriptn kann ich - daran solls nicht scheitern
---
if wget -s
Sie müssen registriert sein, um Links zu sehen.
; then wenn wget -s... erfolgreich ; dann
echo 2 > /dev/null echo 2 und leite das nach /dev/null um
else reboot ansonsten reboote
fi
---
aber das macht ja schon sozusagen das Script von Pranky: wenn von google.de 4 antworten kommen und wenn ein ping auf deine dyndns weniger als 4 von 4 antworten zurückwirft, dann mach er das mit telnet....
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
denk wahrscheinlich viel zu kompliziert. das mit der password1.sh stammt aus dem andern script.
Das problem was ich sehe, ist das der wget befehl nicht auf der Freetz läuft ( standartmäßig ) und
so die Abfrage über ping nicht einfach gegen wget getauscht werden kann.
Deshalb muß das irgendwie per telnet auf der 1. Box gemacht werden.
Hoffe ich hab mich einigermaßen verständlich ausgedrückt
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
Hi Skywalker,
Im System-Protokoll der Inet Fritze würde ein Dyndns Fehler nach der Zwangstrennung gemeldet. Eigentlich sollte doch nun das Script greifen....Fehlanzeige!
[TABLE="class: zebra"]
[TR]
[TD]05.12.11[/TD]
[TD="class: date"]05:00:37[/TD]
[TD][URL="https://192.168.1.1/help/help.lua?helppage=hilfe_syslog_24.html&sid=63e7d172abaa3e73"]Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: 93.198.xxx.xxx, DNS-Server: 217.237.xxx.xxx und 217.237.xxx.xxx, Gateway: 217.xxx.xxx.xxx, Breitband-PoP: HNOX49-erx[/URL][/TD]
[/TR]
[TR]
[TD]05.12.11[/TD]
[TD="class: date"]05:00:24[/TD]
[TD][URL="https://192.168.1.1/help/help.lua?helppage=hilfe_syslog_23.html&sid=63e7d172abaa3e73"]Internetverbindung wurde getrennt.[/URL][/TD]
[/TR]
[TR]
[TD]05.12.11[/TD]
[TD="class: date"][COLOR=#ff0000]04:53:39
[/COLOR][/TD]
[TD][URL="https://192.168.1.1/help/help.lua?helppage=hilfe_syslog_115.html&sid=63e7d172abaa3e73"][COLOR=#ff0000]Dynamic DNS-Fehler: Die Dynamic DNS-Aktualisierung war erfolgreich, anschließend trat jedoch ein Fehler bei der DNS-Auflösung auf.[/COLOR][/URL][/TD]
[/TR]
[TR]
[TD]05.12.11[/TD]
[TD="class: date"]04:52:33[/TD]
[TD][URL="https://192.168.1.1/help/help.lua?helppage=hilfe_syslog_24.html&sid=63e7d172abaa3e73"]Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: 93.19x.xxx.xxx, DNS-Server: 217.237.xxx.xxx und 217.23x.xxx.xxx, Gateway: 217.xxx.xxx.xxx, Breitband-PoP: HNOX49-erx[/URL][/TD]
[/TR]
[TR]
[TD]05.12.11[/TD]
[TD="class: date"]04:52:31[/TD]
[TD][URL="https://192.168.1.1/help/help.lua?helppage=hilfe_syslog_23.html&sid=63e7d172abaa3e73"]Internetverbindung wurde getrennt.[/URL][/TD]
[/TR]
[TR]
[TD]05.12.11[/TD]
[TD="class: date"]04:52:27[/TD]
[TD][URL="https://192.168.1.1/help/help.lua?helppage=hilfe_syslog_85.html&sid=63e7d172abaa3e73"]Die Internetverbindung wird kurz unterbrochen, um der Zwangstrennung durch den Anbieter zuvorzukommen.[/URL][/TD]
[/TR]
[/TABLE]
Dann kommt bei mir das:
Und so soll es sein. Die Fehlermeldung ist normal. Hatte die letzten Tage wieder häufiger, dass das script aktiv werden musste übrigens immer erfolgreich (auf einer Single-Freetz).
Dein script und der Start sieht auch gut aus. Bist Du sicher, dass Du nicht erreichbar warst?
Besteht wirklich Interesse, mit wget/ftp/Portöffnung/unverschlüsselterPasswortübertragung..., das script aufzublasen? Ich wäre ja dafür, zu versuchen, das hier zu einem vernünftigen Abschluss zu bringen.
Definitiv !
Ich selbst habs im HomeCS nicht gemerkt, aber meine Inet-Client schickten auf einmal einer nach dem anderen eine Email zwecks "Dunkelheit"
Da war was faul....was letztlich, wie bereits erwähnt, an der Dyndns lag
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox
Hi Pranky,
freut mich das du wieder mit an Board bist.
Es gibt noch eine offene Sache:
Das Rückgängig machen des permanenten Telnet funzt definitiv nicht
in der beschrieben Weise.
Sie müssen registriert sein, um Links zu sehen.
Irgendwann möchtet vielleicht auch ihr eure Box wieder in den Urzustand versetzen.
Edit: Zu dem ftp Problem habe ich folgende Seite gefunden, vlt. hilft das ja: