Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Wie Dyndns überwachen, Fritzbox hinter Fritzbox

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

Man kann den DDNS-Update natürlich auch nur über den Haupt-Router machen. Nachteil ist, dass der Router das normalerweise nur einmalig versucht, wenn sich die IP verändert. Außerdem werden je nach Router-Modell nicht alle DDNS-Provider unterstützt.
Die meisten Router können zwar Dyndns, aber seit dem der kostenpflichtig geworden ist, werden vermehrt andere Dienste wie NoIP eingesetzt.

Für die Stabilität des Systems kann es daher durchaus Sinn machen das genannte Script einzusetzen.
Um die Ausführung des Scripts zu testen aber besten per telnet mit der Box verbinden und das Script einzeln im Debug-Modus ausführen
über "sh -x DynUpdateCheck.sh". Dann sieht man wo es schiefgeht.
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Meine langjährige Erfahrung ist es, ....................

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


Das habe ich als wache.sh gespeichert und in /var/media/ftp/uStor01/ kopiert.

In Crontab habe ich
*/10 * * * * sh /var/media/ftp/uStor01/wache.sh
eingetragen.

Die Rechte wache.sh auf 777 gemacht, wenn ich das Script zum testen mit Telnet ausführe (/var/media/ftp/uStor01/wache.sh) kommt "warning: method -e is obsolete, using --all instead"
Vorher hatte ich mit dem Telefon #96*7* eingegeben und Telnet in der 1. Fritzbox aktiviert.
Warum wird das Script beim Telnet test nicht ausgeführt?
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Ich denke du willst hier doch eigentlich prüfen, ob deine dynynip die gleiche ist wie deine zur Zeit genutze IP vom Anbieter. Und wenn nicht willst du bei der Internetbox dann DSL killen zum neuen verbinden. Welchen Sinn macht das

Du solltest lieber ein script nutzen was überprüft, ob deine dyndnip die gleiche ist wie deine zur Zeit genutze IP vom Anbieter. Und wenn es die nicht ist so das script die dyndnip aktuallisieren

Dazu gibt es fertige script auf unserem Das DynUpdateCheck.sh ist für Boxen in 2 Reihe
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Danke
muss außer diesen Zeilen
USERNAME="xyz"
PASSW="meinPass"
DYNADDI="xxxx.dyndns.org"
noch etwas geändert werden?
E-Mail Benachritigung brauche ich erstmal nicht.
Die Datei wieder in /var/media/ftp/uStor01/ kopieren und der Eintrag in crontab so?
*/10 * * * * sh /var/media/ftp/uStor01/DynUpdateCheck.sh

Ich habe es gefunden Post 317 von Superhansi
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Hallo,

nachdem das Script bei lange erst auf einer Freetz und danach auf einem RasPi mit NoIp lief, war plötzlich vor einigen Wochen kein Update mehr möglich.
Das Script arbeitet weiterhin und ich bekomme auch eine Fehlermeldung per email zugeschickt die folgendermaßen aussieht:
"DynDNS Problem NoIp:aa.bb.cc.dd, HostIp:vv.ww.xx.yy, DynUpdate war nicht erfolgreich. Meldung: nochg vv.ww.xx.yy"
NoIP meldet also NoChange zurück, obwohl sich die IP ja verändert hat und auch versucht wird, das Update durchzuführen. Der Noip-Aufruf ist so wie vorgegeben.
Ich habe zwei scripte für zwei verschiedene NoIP-Adressen, beide bringen die gleiche Fehlermeldung, egal ob sie direkt oder per crontab aufgerufen werden.

Ich habe dann den NoIP UpdateClient installiert. Dieser funktioniert auch, trotzdem wüsste ich gerne woran das Update scheitert.
Hat sich evtl. bei NoIP etwas verändert ?

Danke
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

So, habe das DynUpdateCheck vom Teamserver getestet. Es macht genau das was es soll mit meine no-ip adresse.
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Danke für das Feedback, bei mir will es trotzdem nicht.

Hier das von mir evtl verfuckelte script (das allerdings monatelang problemslos lief)

#!/bin/sh


############################## config - Bereich ######################################################
### Usernamen, PW und Dyndns-Adresse eintragen ############
USERNAME="xx.yy%40zz.de"
PASSW="xxx"
DYNADDI="xxx.yyy.zzz"
LOGPFAD=/var/log/DynUpdateCheck.log # SpeicherOrt des LogFile
MAXLOGSIZE="100" # max Logfilegroesse in KB
WGET=wget1
FORCE_UPDATE="no"
SENDMAIL="/bin/bash /usr/local/etc/watchdog/sendmail.sh"


### Dyn-Dienst hier eintragen, 3 Moeglichkeiten - "dyndns" oder "no-ip" oder "dnsomatic" ############
DYNDIENST="no-ip"


############################### config Ende ###############################################################
#############################################################################################################


DATUM=`date +%Y-%m-%d\ %H:%M:%S`


#nslookup <dyn.dns.org> | sed -e "/Address 1: /!d" | sed -e "s/Address 1: \([0-9.]*\).*/\1/" | sed -e "\$!d" > /var/tmp/myip
### die folgende Zeile nur auf einer Fritzbox aktiviert lassen (auf einer Dream z.B. gibt es kein "get_ip")#
#HOSTIP=$(/usr/bin/get_ip -a)
[ -z $HOSTIP ] && HOSTIP=$($WGET -q -O - )
###
[ -z $HOSTIP ] && HOSTIP=$($WGET -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
#[ -z $HOSTIP ] && HOSTIP=`$WGET -q -O - | grep IP | expr \`awk '{print $6}'\` : '\([0-9.]*\)'`
#[ -z $HOSTIP ] && HOSTIP=$($WGET -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
#[ -z $HOSTIP ] && HOSTIP=$($WGET -q -O - )


sleep 1


[ $DYNDIENST = "dyndns" ] && URL="http://$USERNAME:$PASSW@members.dyndns.org/nic/update?hostname=$DYNADDI&myip=$HOSTIP"
[ $DYNDIENST = "dnsomatic" ] && URL="http://$USERNAME:$PASSW@updates.dnsomatic.com/nic/update?hostname=all.dnsomatic.com&myip=$HOSTIP"
[ $DYNDIENST = "no-ip" ] && URL="http://$USERNAME:$PASSW@dynupdate.no-ip.com/nic/update?hostname=$DYNADDI&myip=$HOSTIP"

if [ ! -z $HOSTIP ]; then
DYNIP=$(ping -c 1 "$DYNADDI" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | cut -d ' ' -f3 | cut -d ':' -f1)


if [ -z $DYNIP ]; then
echo "$DATUM - NoIp: Keine DYN-IP bekommen. Updatepruefung kann nicht ausgefuehrt werden. " >> $LOGPFAD
else

if [ $DYNIP = $HOSTIP ]; then

if [ -f $LOGPFAD ]; then
LOGGROESSE=$(du -k $LOGPFAD | cut -f 1 )
sleep 1

if [ $MAXLOGSIZE -le $LOGGROESSE ]; then
echo "$DATUM - NoIP:$DYNIP = HostIP:$HOSTIP => Log Full !!" >> $LOGPFAD

$SENDMAIL "NoIp DynUpdateCheck: Max Logfilegroesse erreicht. Logfile wird geloescht" "empty" "-a $LOGPFAD"
sleep 15


echo "$DATUM - NoIP:$DYNIP = HostIP:$HOSTIP => Neuer Log angelegt" > $LOGPFAD
fi
[ $MAXLOGSIZE -gt $LOGGROESSE ] && echo "$DATUM - NoIP:$DYNIP = HostIP:$HOSTIP => Alles OK!" >> $LOGPFAD
else
echo "DATUM - NoIP [-f] :NoIP:$DYNIP = HostIP:$HOSTIP => Alles OK!" >> $LOGPFAD
FORCE_UPDATE="yes"
fi

else
echo "$DATUM - NoIp:$DYNIP != HostIp:$HOSTIP => Update wird durchgefuehrt!" >> $LOGPFAD
UPDATE=$($WGET -q -O - "$URL")
echo "$UPDATE" > /tmp/DynTMP.log
sleep 2
MELDUNG=$(cut -d' ' -f 1 /tmp/DynTMP.log)


if [ $MELDUNG = "good" ]; then
echo "$DATUM NoIp - $UPDATE: Dyn-Update ist erfolgt" >> $LOGPFAD
$SENDMAIL "DynDNS Problem NoIp:$DYNIP, HostIp:$HOSTIP, DynUpdate ist erfolgt. Meldung: $UPDATE"
else
echo "$DATUM NoIp - $UPDATE: DynUpdate war nicht erfolgreich." >> $LOGPFAD
$SENDMAIL "DynDNS Problem NoIp:$DYNIP, HostIp:$HOSTIP, DynUpdate war nicht erfolgreich. Meldung: $UPDATE"
fi
fi


if [ $FORCE_UPDATE = "yes" ]; then


echo "$DATUM - NoIp:$DYNIP Refresh für NoIp-account => Update wird durchgefuehrt!" >> $LOGPFAD
FORCE_UPDATE = "no"


UPDATE=$($WGET -q -O - "$URL")
echo "$UPDATE" > /tmp/DynTMP.log
sleep 2
MELDUNG=$(cut -d' ' -f 1 /tmp/DynTMP.log)


if [ $MELDUNG = "nochg" ]; then
echo "$DATUM NoIp - $UPDATE: Dyn-Refresh ist erfolgt" >> $LOGPFAD
$SENDMAIL "DynDNS Problem NoIp:$DYNIP, HostIp:$HOSTIP, DynRefresh ist erfolgt. Meldung: $UPDATE"
else
echo "$DATUM NoIp - $UPDATE: DynRefresh war nicht erfolgreich." >> $LOGPFAD
$SENDMAIL "DynDNS Problem NoIp:$DYNIP, HostIp:$HOSTIP, DynRefresh war nicht erfolgreich. Meldung: $UPDATE"
fi
fi
fi


else
echo "$DATUM NoIp: Keine HostIP bekommen! Eventuell nicht online?" >> $LOGPFAD
fi

Das $WGET habe ich mal eingebaut, weil mit auf der Fritte plötzlich wget fehlte und ich wget nachinstallieren musste. wget1 ist aber das normale wget (version 1.13.4)
Vielleicht fällt ja jemanden etwas auf.

Wenn die IP passt (durch den parallel laufenden NoIP-Update client), meldet das script brav "Alles OK", aber wenn die IP nicht stimmt klappt das Update nicht mit besagter "nochg"-Rückmeldung.
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Du hast das script ganz schön verbogen

Habe das script mal durchlaufen lassen auf Freetz und Debian. aber mit wget. Meine no-IP-Adresse wurde aktualisiert

Für das script mal über Putty aus. Was steht dann da


Edit: Nutzt du IPC auf deinem raspi
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Hier der Output wenn die IP schon passt

root@rapserrypi /usr/local/etc > watchdog/DynUpdateCheck_No_ip.sh
+ USERNAME=xx.yy%40zz.de
+ PASSW=pwd
+ DYNADDI=xxx.yyy.zzz
+ LOGPFAD=/var/log/DynUpdateCheck.log
+ MAXLOGSIZE=100
+ WGET=wget1
+ FORCE_UPDATE=no
+ SENDMAIL='/bin/bash /usr/local/etc/watchdog/sendmail.sh'
+ DYNDIENST=no-ip
++ date '+%Y-%m-%d %H:%M:%S'
+ DATUM='2016-04-13 13:24:37'
+ '[' -z ']'
++ wget1 -q -O -
+ HOSTIP=abc.def.76.151
+ '[' -z abc.def.76.151 ']'
+ sleep 1
+ '[' no-ip = dyndns ']'
+ '[' no-ip = dnsomatic ']'
+ '[' no-ip = no-ip ']'
+ URL='http://xx.yy%40zz.dewd@dynupdate.no-ip.com/nic/update?hostname=xxx.yyy.zzz&myip=abc.def.76.151'
+ '[' '!' -z abc.def.76.151 ']'
++ ping -c 1 xxx.yyy.zzz
++ sed -n 1p
++ sed -e 's/(//g' -e 's/)//g'
++ cut -d : -f1
++ cut -d ' ' -f3
+ DYNIP=abc.def.76.151
+ '[' -z abc.def.76.151 ']'
+ '[' abc.def.76.151 = abc.def.76.151 ']'
+ '[' -f /var/log/DynUpdateCheck.log ']'
++ cut -f 1
++ du -k /var/log/DynUpdateCheck.log
+ LOGGROESSE=92
+ sleep 1
+ '[' 100 -le 92 ']'
+ '[' 100 -gt 92 ']'
+ echo '2016-04-13 13:24:37 - NoIP:abc.def.76.151 = HostIP:abc.def.76.151 => Alles OK!'
+ '[' no = yes ']'

und hier im Fehlerfall (IP vorher bei noip auf ...123.111 verbogen)
root@rapserrypi /usr/local/etc > bash -x watchdog/DynUpdateCheck_No_ip.sh
+ USERNAME=xx.yy%40zz.de
+ PASSW=pwd
+ DYNADDI=xxx.yyy.zzz
+ LOGPFAD=/var/log/DynUpdateCheck.log
+ MAXLOGSIZE=100
+ WGET=wget1
+ FORCE_UPDATE=no
+ SENDMAIL='/bin/bash /usr/local/etc/watchdog/sendmail.sh'
+ DYNDIENST=no-ip
++ date '+%Y-%m-%d %H:%M:%S'
+ DATUM='2016-04-13 13:52:04'
+ '[' -z ']'
++ wget1 -q -O -
+ HOSTIP=abc.def.76.151
+ '[' -z abc.def.76.151 ']'
+ sleep 1
+ '[' no-ip = dyndns ']'
+ '[' no-ip = dnsomatic ']'
+ '[' no-ip = no-ip ']'
+ URL='http://xx.yy%40zz.dewd@dynupdate.no-ip.com/nic/update?hostname=xxx.yyy.zzz&myip=abc.def.76.151'
+ '[' '!' -z abc.def.76.151 ']'
++ ping -c 1 xxx.yyy.zzz
++ cut -d ' ' -f3
++ sed -e 's/(//g' -e 's/)//g'
++ sed -n 1p
++ cut -d : -f1
+ DYNIP=abc.def.123.111
+ '[' -z abc.def.123.111 ']'
+ '[' abc.def.123.111 = abc.def.76.151 ']'
+ echo '2016-04-13 13:52:04 - NoIp:abc.def.123.111 != HostIp:abc.def.76.151 => Update wird durchgefuehrt!'
++ wget1 -q -O - 'http://xx.yy%40zz.dewd@dynupdate.no-ip.com/nic/update?hostname=xxx.yyy.zzz&myip=abc.def.76.151'
+ UPDATE='nochg abc.def.76.151
'
+ echo 'nochg abc.def.76.151
'
+ sleep 2
++ cut '-d ' -f 1 /tmp/DynTMP.log
+ MELDUNG=nochg
+ '[' nochg = good ']'
+ echo '2016-04-13 13:52:04 NoIp - nochg abc.def.76.151
: DynUpdate war nicht erfolgreich.'
+ /bin/bash /usr/local/etc/watchdog/sendmail.sh 'DynDNS Problem NoIp:abc.def.123.111, HostIp:abc.def.76.151, DynUpdate war nicht erfolgreich. Meldung: nochg abc.def.76.151
'
Apr 13 13:52:30 raspberrypi sendEmail[22715]: Email was sent successfully!
+ '[' no = yes ']'

Warum geht "bash -x script.sh > log.txt" eigentlich nicht ?
Musste das per "script log.txt" loggen.

Edit: IPC habe ich nicht im Einsatz, nur OSCam r9921
 
Zuletzt bearbeitet:
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Starte das script mal mit
Code:
./DynUpdateCheck_No_ip.sh

Vorher in das Verzeichnis wechseln und poste dann den Inhalt
 
AW: Wie Dyndns überwachen, Fritzbox hinter Fritzbox

Das ändert leider nichts, ob mit "bash -x" oder ohne, auch mit dem "normalen" wget. Bringt alles nichts.
Das komische ist ja, dass die noip-update-URL korrekt aufgerufen wird, aber dann "nochg" zurückkommt.
Naja, vielleicht ist meine Raspian-Installation irgendwie durcheinander, habe für das Problemchen auch nicht die Lust, dass neu aufzusetzen.
Danke nochmal.
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…