Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Wie Dyndns überwachen, Fritzbox hinter Fritzbox

    Nobody is reading this thread right now.
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

@GreatJo: Das ist für Windows (*.bat) ... errorlevel gibts unter Linux sogesehen nicht bzw kann man natürlich prüfen ob der zuvor ausgeführte Befehl korrekt ausgeführt wurde oder was er zurückgeworfen hat etc aber siehe unten...


Kann mir denn mal bitte jemand erklären was die password1.sh machen soll bzw was dort drin steht? Durch den Post von Lordduckstein steige ich leider nicht wirklich durch

Und wieso müsst ihr FTP fürs Internet öffnen?

Also ihr macht das doch mit 2 boxen damit sich die 2. um die einwahl-box kümmern kann und die restarted etc.... warum belibt ihr nicht beim telnet script?

wenn mir das vllt mal jmd erklären könnte, könnte ich vllt auch ein Script basteln was euch da weiter hilft o.ä. aber zzt steige ich eben leider noch nicht ganz durch...
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Wenn man nur per ping prüft ob die DYNDNS aktualisiert wurde, kann nicht 100%ig sichergestellt werden das die DYNDNS wirklich aktualisiert wurde.
Siehe dazu auch ab post #153, wie Skywalker1 schongesagt hat - es steht alles schon im Thread (ist nur leider etwas umfangreich geworden).

Es geht nicht darum, daß telnet von Box2 zu Box1 zu entfernen (das brauch man so oder so).
Das ping muß durch wget/ftp ersetzt werden um eine 100%ige Überprüfung der DYNDNS-Aktualisierung zu gewährleisten.


Gruß Superhansi
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

mmh ja dazu hatte ich ja eine Seite zuvor bereits einen Vorschlag gemacht, die IP der DynDNS mit der aktuellen Internet-anschluss-IP zu vergleichen - oder war das nicht das was ihr braucht?

ich hab zb einen DDNSupdater.sh geschrieben was auch so vorgeht - regelmässig wird geguckt ob die HOSTIP von der CURRENTIP abweicht und wenn ja, erst dann wird ein Update der dyndns-host initialisiert

Euer Script müsste man dann nur nochmal ein bischen genauer anpassen weil meine Vorschlag auch noch den fehler beinhaltet, dass die while schleife nicht durchgeführt wird wenn die dyndns-host sich pingen lässt..... dh da könnte man zb eine if-schleifen davor parken mit der HOSTIP und CURRENTIP Abfrage o.ä.

Wäre das denn der richtige Weg? Dann bastel ich da nachher maln bissal dran....

(aber trotzdem versteh ich noch nicht wieso diese dienste (ftp/telnet) ins internet weitergelietet / freigegeben werden aber egal, zur prüfung der dyndns unwichtig :))
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Also soweit ich das verstehe, könnte alles mit telnet auf der 1.Box ausgeführt werden.
Definitiv muß dort ja das reconnect ausgeführt werden und das wget command um einen externen ftp
zum check zu machen läuft auch nur dort. Ich kann mir nur Ressourcen gründe erklären, warum das "ursprüngliche" ping von der 2 box aus gemacht wird.
Kann überhaupt keine Aussage darüber machen, in wie weit die Sachen die Performance der Box beeinflussen.
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Also ihr habt das Problem, dass die DynDNS update geschichte von der Internet-Fritzbox nicht immer funktioniert, oder?

Und jetzt sucht ihr einen Weg das trotzdem zu bewerkstellingen indem ihr auf einem 2. Linux-Gerät bei euch im LAN (in diesem Fall eine 2. Fritzbox) ein Script regelmässig laufen lasst was die Internet-Fritzbox entweder komplett neu startet, oder sich neu einwählen soll ... hab ich das soweit richtig verstanden?

...was dabei FTP für eine Rolle spielt habe ich aber leider immernoch nicht verstanden... Allerdings gäbe es denk ich mal noch die Möglichkeit auf eurem 2. Linux-Gerät den DDNSupdater.sh zu installieren; der updated nur wenn die Internet-IP nicht mit der DynDNS-Host-IP übereinstimmt - also wenn die Internet-Fritzbox es gebacken bekommen hat macht der DDNSupdater nichts, aber wenn die Internet-Fritzbox es mal verkackt hat erledigt das der DDNSupdater

Ich hab aber auch nochmal das Script in Post#186 angepasst, das müsste jetzt auch ähnlich ablaufen wie DDNSupdater, nur eben nicht so umfangreich :)



nochmal was zu dem reboot und telnet Problem mit der Internet-Fritzbox:
Auf der Internet-Fritzbox einmal folgendes ausführen:

echo "/usr/sbin/telnetd -l /sbin/ar7login" > /var/flash/debug.cfg

dann sollte telnet auch nach einem reboot wieder aktiviert sein...
ggf könnte man in das remote script auch eine prüfung dieses settings mit einbauen sofern man die fritzbox wirklich jedesmal komplett rebooten möchte...
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

hier eine etwas überarbeitete Version von dem remote ping/wget Script
Wenn die Internet-Fritzbox rebooted werden soll, prüft das Script vorher ob telnetd nach reboot auch aktiviert ist bzw erledigt das fals nicht...

Code:
#!/bin/sh
# DynDNS-Check mit Remote-Reconnect 
# required binaries: cat cut echo grep ping sed sleep telnet wget 


rebootZielbox="no"  # yes/no
ZielboxIP="192.168.178.1"
ZugangsPW="Zielbox_password"
DynDNS="xyz.dyndns.org"

n=7 # Anzahl der Versuche die Telnet-Befehle abzusetzen
t=30 # Wartezeit zwischen den Versuchen in sek.


CHECKIPURL="http://checkip.dyndns.org/"
CHECKIPURL2="http://www.myip.ch/"
# get DynDNS hosts IP
function get_IPs() {
    HOSTIP=$(ping -c1 "$DynDNS" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | cut -d ' ' -f3)
    wget -q -O /tmp/_current_ip $CHECKIPURL
    CURRENTIP=$(cat /tmp/_current_ip | cut -d ' ' -f 6 | cut -d '<' -f 1)
    if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then
        echo "Hmm... $CHECKIPURL seems to be down?! Using $CHECKIPURL2 insteed"
        wget -q -O /tmp/_current_ip $CHECKIPURL2
        CURRENTIP=$(cat /tmp/_current_ip | grep "IP Address" | cut -d ' ' -f4)
    fi
}

if [ "$(ping -c4 "google.de" | grep -c "seq")" -eq 4 ]; then
    get_IPs
    [ "$HOSTIP" != "$CURRENTIP" ] && echo "$(date) => DSL restart - DynDNS Problem" >>/var/media/ftp/uStor01/logs/all_check.log
    i=1
    while [ $i -le $n ]&&[ "$HOSTIP" != "$CURRENTIP" ]; do
        (
        sleep 3
        echo -e "${ZugangsPW}\r"
        sleep 3
        if [ "$rebootZielbox" = "yes" ]||[ "$rebootZielbox" = "1" ]; then
            echo -e "echo '#!/bin/sh' >/tmp/tempscript\r"
            echo -e "echo 'if [ -z \"\$\(grep \"/usr/sbin/telnetd -l /sbin/ar7login\" /var/flash/debug.cfg\)\" ]; then' >>/tmp/tempscript\r"
            echo -e "echo 'echo \"/usr/sbin/telnetd -l /sbin/ar7login\" >/var/flash/debug.cfg' >>/tmp/tempscript\r"
            echo -e "echo 'fi' >>/tmp/tempscript\r"
            echo -e "sh /tmp/tempscript\r"
            echo -e "reboot\r"
        else
            echo -e "killall dsld\r"
            sleep 10
            echo -e "dsld -i -n\r"
        fi
        sleep 3
        echo -e "exit\r"
        ) | telnet $ZielboxIP
        echo "das war Versuch Nr. $i"
        sleep $t
        get_IPs
        i=$(($i + 1))
    done
fi

exit 0

Wird die EMail geschichte auch noch benötigt?



/EDIT: ...nach weiteren tests hier im thread, hab ich obiges script nochmal angepasst...
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

wow ... sieht toll aus .. So rein optisch
Wärst du bitte so nett und würdest noch ein paar Erklärungen rein machen.



Trau mich nicht zu starten, wenn ich nicht so richtig versteh was passiert.... :)
Bei "function get_IPs" geht mein hirnschmalz aus ...

Die benötigten Binaries sind außer wget alle auf der freetzbox, falls die Info benöigt wird.

Sehe ich das richtig, das Du gar keinen ftp von extern mit wget auführst, sondern die aktuelle IP
mit der von dyndns gelinkten IP vergleichst ?

e-mail fände ich nicht schlecht um Fehlermeldung zu bekommen. Schaue selten in log files

thx
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

hehe ich habs nicht so mit erklärungen im scriptfile :)

"function get_IPs" ist quesi wie ein Befehl innerhalb des Scripts den ich an beliebiger stelle so oft ich will aufrufen kann - der muss aber eben bevor er genutzt werden kann, eingelesen werden - deshalb steht er oben im script
die function ansich guckt zunächst nach was die IP der dyndns ist also löst die DynDNS in eine IP auf -> HOSTIP
dann versucht es über wget die aktuelle Internet-IP zu ermitteln -> wget .. klappt dies nicht über die erste checkipurl, versucht er die 2. checkipurl
und dann holt er sich eben die CURRENTIP aus der datei raus...


genau, das Script vergleicht die beiden IPs und nur wenn die unterschiedlich sind, ist die while schleife gültig und wird durchgeführt
ftp nutzt das Script nicht weil ich wie gesagt nicht verstehe wofür das überhaupt gut sein soll :)

wget ist auch nur auf der Box wichtig auf der das Script ausgeführt wird, also der 2. box


wenn du wissen willst was das Script macht dann kannst du an den Anfang ein " set -x " einfügen dann zeigt er dir bim ausführen an was welche Zeile bewirkt (debug)
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

danke für die Info.
Denke ftp war nur ne krücke um zu prüfen ob die dynds die richtige Adresse gelinkt hat. Deine Lösung finde ich viel eleganter.
Sehe ein problem. Die meisten Nutzer haben eine orig. Firmware auf der 1. Box. Das script sollte auf der internen (freetz) Box
laufen. Diese hat wie gesagt nicht den wget befehl (nur die 1. Box) Deshalb sollte dieser Befehl per telnet von der 1. Box gestartet
werden. Hoffe das geht. Aber wenn ich seh was Du da alles zauberst, bin ich sehr optimistisch :)
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

mmh achso ich dachte die 2. Box auf dem das Script läuft hat ein angepasstes Freetz mit wget?
wie gesagt sind die "required binaries" nur auf dem System wichtig wo auch das Haupt-Script ausgeführt wird


das verkompliziert das ganze ein bischen aber sollte auch kein Problem darstellen... man kann von der 2.Box aus ein Script auf die 1.Box schreiben wie ich es auch schon wegen des telnetd's gemacht habe - und das ermittelt dann die aktuelle IP über wget... das wiederum wird in einer Datei hinterlegt was dann wieder die 2.Box abfragt und wenn sich die aktuelle IP von der DynDNS-IP unterscheidet, sagt die 2.Box der ersten "dsl restart" .... so ungefähr?

...aber wofür dann überhaupt noch die 2.Box ? :)
wenn die 1.Box eh alles kann also auch wget dann kann doch auch dort lokal ein Script laufen was das zusätzlich prüft?
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Es geht aber nach wie vor darum:
1. FritzBox = ungefreetzt (ohne jegliches Image), nur für Telefonie, Internet, WLAN .... (halt Orginal Firmware)
2. FritzBox = Freetz Box sprich CS Server (per Ethernet Kabel an LAN1 der 1. Fritzbox angeschlossen)

Die erste Box kann ja nicht selbst überwachen, ob Dyndns richtig arbeitet. Deshalb ein Script auf der 2. FritzBox (Freetz), dae dies übernehmen soll.

Die von Pranky bereits geposteten Script´s sind ja nicht von schlechten Eltern und übernehmen dies auch.
Nur tritt halt, warum auch immer, manchmal doch noch ein Fehler auf (Dyndns wird nicht richtig oder gar nicht abgeglichen nach Zwangstrennung).
Und dafür wird jetzt noch die "optimale" Lösung gesucht
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Hi Skywalker,

kannst Du mal probieren, auf der DynDNS-Seite die IP zu verändern (das soll ja gehen) und das das script mal manuell starten und zwar so:
sh -x /var/media/ftp/uStor01/tools/scripts/remrec.sh
mit der zusätzlichen Ausgabe, die dann kommt, können wir das dann noch genauer analysieren.


Aus meiner Sicht ist einzig das die Herausforderung:
1. FritzBox = ungefreetzt (ohne jegliches Image), nur für Telefonie, Internet, WLAN .... (halt Orginal Firmware)
die Sache der DynDNS-Prüfung selbst, braucht bestimmt ncht verändert zu werden. :JC_hmmm: Warum sollte es sonst bei mir seit Monaten 100%ig klappen - allein in den letzten 2 Wochen bestimmt 10mal in denen das script jedesmal erfolgreich eingegriffen hat.


Hi GreatJo,

wenn Du noch per telnet auf die Box kommst, was steht denn in der debug.cfg:
Code:
cd /var/flash
cat debug.cfg
die muss leer sein!
Und was hat der zusätzliche Versuch mit der Deaktivierung per Telefon gebracht? Du hast eine 7270 als Inetbox?
Im schlimmsten Fall bleibt nur Recovery. Aber probier erst noch mal!

Viel Grüße
Pranky
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Hi Pranky,
ich hab mal den Test durchgeführt
Ergebnis siehe Snap1, Snap2 und Snap3 ---->:381:

P.S. da hilft dann nur noch, den Netzstecker von der Internet-FB kurz ziehen....und wieder einstecken (Neustarten). Nur so wird die Dyndns wieder richtig abgeglichen
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Hi Pranky


Die Befehle habe ich wie beschrieben eingegeben. Nach Deaktivierung
per Telefon und anschl. reboot ist Telnet wieder und immer noch aktiv.
Recovern nützt nichts, wenn die Angabe auf der Tecchannel Seite stimmt.


Übrigens hat mein Script letzte Nacht das erste Mal erfolgreich gegriffen.
Also vorläufig lasse ich das mal so, bis hier evtl. eine neue Lösung gefunden wird.

Viele Grüße
GreatJo
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Hi Skywalker,
wirklich seltsam!:JC_hmmm:
komme heute nicht mehr dazu, melde mich morgen...
Bis dahin


Hi GreatJo,
"cat debug.cfg" gibt den Inhalt der Datei aus. Kommt da etwas oder ist die leer?

Viele Grüße
Pranky
 
Zurück
Oben