[Frage] DynDNS Aktualisierung funktioniert nicht korrekt - dsld restart per Telefon möglich

cmonty14

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
378
Punkte für Reaktionen
0
Punkte
16
Hallo!
Werden von Freetz Dienste angeboten, auf die remote Zugriff erfolgt, dann ist dies von einem DynDNS Dienst abhängig.
Somit liegt ein Single Point of Failure vor für den Fall, dass der DynDNS-Anbieter nicht die aktuelle öffentliche IP ausweist, weil aus irgendeinem Grund die Aktualisierung fehlgeschlagen ist.

Frage:
Kann man "per Fernwartung" den Dienst dsld restarten?
Ich denke da z.B. an einen Telefonanruf?
Wäre hierfür "Callmonitor" geeignet?

(Durch den Restart von dsld würde vom Internet-Provider eine neue öffentliche IP-Adresse zugewiesen, und der DynDNS-Aktualisierungsdienst, z.B. OpenDD, könnte dann die Aktualisierung durchführen.)

THX
 
"Fernwartung" wäre z.B. eine Shell, dieses funktioniert. Ebenso wie man per Freetz-Webinterface den dsld restarten kann. Beim Callmonitor: Schau einmal, was denn mit "Callactions" möglich ist.
 
"Fernwartung" wäre z.B. eine Shell, dieses funktioniert. Ebenso wie man per Freetz-Webinterface den dsld restarten kann. Beim Callmonitor: Schau einmal, was denn mit "Callactions" möglich ist.

Wie soll ich mich per Shell oder Freetz-WebIF zur Box verbinden, wenn die öffentliche IP nicht mit der bei DynDNS registrierten IP übereinstimmt?
Dann komme ich doch gar nicht remote (d.h. von extern) in mein Netzwerk.

Das ist ja genau das Problem, um das es hier gehen soll.
 
Wie soll ich mich per Shell oder Freetz-WebIF zur Box verbinden, wenn die öffentliche IP nicht mit der bei DynDNS registrierten IP übereinstimmt?
Dann komme ich doch gar nicht remote (d.h. von extern) in mein Netzwerk.
Das geht z. B. mit einem zusätzlichen account bei einem 2. dyndns-Provider und/oder mit der aktuellen externen (öffentlichen) IP-Adresse, die Du dir an deine eMail-Adresse senden lassen kannst.
 
Das geht z. B. mit einem zusätzlichen account bei einem 2. dyndns-Provider und/oder mit der aktuellen externen (öffentlichen) IP-Adresse, die Du dir an deine eMail-Adresse senden lassen kannst.

Hallo!
Diese Überlegung würde ich gerne aufgreifen:
Wie kann ich den Versand der aktuellen öffentlichen IP per Email triggern?

THX
 
Wie kann ich den Versand der aktuellen öffentlichen IP per Email triggern?
Ich mache das mit onlinechanged und email (Paket im trac):
Code:
email -s 'externe IP-Adresse von der Fritz!Box:' -b -H $(get_ip -d) ####@###.de
Von kriegaex gibt es auch ein Beispiel: klick.
 
angesichts der letzten Probleme mit dem ddns-Klient von AVM und dem ganzen onlinechanged-Kram würde ich nicht 100% auf die Lösung mit onlinechanged setzten. Alexander hatte da im entsprechenden Thread aber auch ein Paar andere Ideen gehabt, die zuverlässiger funktionieren.

MfG
 
... und dem ganzen onlinechanged-Kram würde ich nicht 100% auf die Lösung mit onlinechanged setzten.
Stimmt bzw. das mache ich auch nicht. Ich habe noch einen 3. dyndns-Client im daemon-Mode aktiv:
Code:
Dec 13 19:51:38 fritz user.info inadyn[11844]: 1.98.1
Dec 13 19:51:38 fritz user.info inadyn[11844]: [COLOR=red]Cached IP# ##.###.##.13 from previous invocation.[/COLOR]
Dec 13 19:51:38 fritz user.info inadyn[11844]: Checking for IP# change, connecting to ip1.dynupdate.no-ip.com(8.23.224.121)
Dec 13 19:51:38 fritz user.info inadyn[11844]: No IP# change detected, still at ##.###.##.13
Code:
11844     1 nobody   S      892   [COLOR=red]1%[/COLOR]   0% inadyn
 
Ich mache das mit onlinechanged und email (Paket im trac):
Code:
email -s 'externe IP-Adresse von der Fritz!Box:' -b -H $(get_ip -d) ####@###.de
Von kriegaex gibt es auch ein Beispiel: klick.

Ich habe die Kommando-Zeile
Code:
email -s 'Public IP-Adresse der Fritz!Box:' -b -H $(get_ip -d) <[email protected]>
in Onlinechanged eingetragen.

Im Syslog finde ich jetzt:
Code:
Dec 14 01:54:54 fritz user.notice ONLINECHANGED[3278]: [online]  * /tmp/flash/onlinechanged-cgi: line 24: email: not found

Offensichtlich wird der Befehl "email" nicht interpretiert.

Wo finde ich das entsprechende Paket?
Gibt es eine Alternative zu "email"?

THX
 
Ja, ich habe mir schon gedacht, dass es daran liegt: Paket im trac.

Aber was genau bedeutet das?
Ich kann kein Paket "trac" finden.

Danke.
 
Frage:
Kann man "per Fernwartung" den Dienst dsld restarten?
Ich denke da z.B. an einen Telefonanruf?
Wäre hierfür "Callmonitor" geeignet?

Hallo,
ich mache genau das mit dem Callmonitor und meiner 7170. Wenn ich von *meiner* Handynummer die Fritzbox auf einer ansonsten nicht genutzten MSN (ich habe 10 ...) anrufe, dann macht die FB einen DSL-Reconnect und aktualisiert dann auch den Dyndns-Eintrag (hoffentlich).

Die relevante Zeile in den Regeln (Listeners) vom Callmonitor ist:
Code:
in:request     160xxxxxxx$ 30yyyyy$ /sbin/dsld -s; sleep 2; /sbin/dsld -n

wobei:
160xxxxx = Handynummer ohne 0
30yyyyy = MSN ohne Vorwahl

Gruß
Hartmut
 
Es ist das email-Paket aus dem trac: klick.

Danke.

Ich habe freetz-1.2-pre rev. 82xx (also ziemlich aktuell), kann aber kein Paket "email" finden.
Ein Paket "PHPXmail 1.5" ist vorhanden.

Kann es sein, dass das Paket "email" nur im trunk vorhanden ist?
 
Kann es sein, dass das Paket "email" nur im trunk vorhanden ist?
Nein, das Paket email ist auch im trunk nicht vorhanden. Der Patch aus dem trac für email, kann im trunk manuell installiert werden.
Für freetz-1.2-pre rev. 82xx, muss das Paket (der Patch) email evtl. angepasst werden.
 
Wozu email, wenn der mailer eingebaut ist? Und was die Unzuverlässigkeit von onlinechanged betrifft: Es gibt auch die Möglichkeiten, über inotifywait einen Watchdog zu bauen, der entweder /var/run/onlinestat überwacht (auch nicht 100% zuverlässig) oder einen, der /var/tmp/ddnsstat.txt überwacht (war bei mir bisher immer zuverlässig). Letzterer ist allerdings wieder mit DynDNS verbunden, und Du willst ja etwas, das auch geht, wenn DynDNS nicht aktualisiert wird. Das kommt allerdings extrem selten vor. Eine weitere Alternative ist es, einfach in einer Schleife alle paar Minuten (sagen wir, alle fünf) get_ip aufzurufen und bei jeder Änderung eine E-Mail zu schicken. Wie das geht, kannst Du Dir aus den vorigen beiden Beispielen (besonders aus dem letzten) leicht ableiten, nur daß Du die Schleife auf der Endlos-Bedingung "while true" laufen läßt und ein "sleep 300" (300 Sekunden = 5 Minuten) einfügst. Letztere Variante funktioniert sogar auf IP-Clients, also Boxen im ATA-Modus oder solche, die sich via UMTS verbinden und folglich hinter einem NAT sitzen. get_ip holt sich in diesem Fall die Adresse von einem externen Server.
 
Wozu email, wenn der mailer eingebaut ist? Und was die Unzuverlässigkeit von onlinechanged betrifft: Es gibt auch die Möglichkeiten, über inotifywait einen Watchdog zu bauen, der entweder /var/run/onlinestat überwacht (auch nicht 100% zuverlässig) oder einen, der /var/tmp/ddnsstat.txt überwacht (war bei mir bisher immer zuverlässig). Letzterer ist allerdings wieder mit DynDNS verbunden, und Du willst ja etwas, das auch geht, wenn DynDNS nicht aktualisiert wird. Das kommt allerdings extrem selten vor. Eine weitere Alternative ist es, einfach in einer Schleife alle paar Minuten (sagen wir, alle fünf) get_ip aufzurufen und bei jeder Änderung eine E-Mail zu schicken. Wie das geht, kannst Du Dir aus den vorigen beiden Beispielen (besonders aus dem letzten) leicht ableiten, nur daß Du die Schleife auf der Endlos-Bedingung "while true" laufen läßt und ein "sleep 300" (300 Sekunden = 5 Minuten) einfügst. Letztere Variante funktioniert sogar auf IP-Clients, also Boxen im ATA-Modus oder solche, die sich via UMTS verbinden und folglich hinter einem NAT sitzen. get_ip holt sich in diesem Fall die Adresse von einem externen Server.

Ohje... von der Logik kann ich dir folgen... aber das jetzt in ein Shell-Script umsetzen? - Das wird bei mir nichts, leider.
 
Hallo,
ich mache genau das mit dem Callmonitor und meiner 7170. Wenn ich von *meiner* Handynummer die Fritzbox auf einer ansonsten nicht genutzten MSN (ich habe 10 ...) anrufe, dann macht die FB einen DSL-Reconnect und aktualisiert dann auch den Dyndns-Eintrag (hoffentlich).

Die relevante Zeile in den Regeln (Listeners) vom Callmonitor ist:
Code:
in:request     160xxxxxxx$ 30yyyyy$ /sbin/dsld -s; sleep 2; /sbin/dsld -n

wobei:
160xxxxx = Handynummer ohne 0
30yyyyy = MSN ohne Vorwahl

Gruß
Hartmut


Hallo Hartmut,

diesen Ansatz finde ich hochinteressant!

Frage:
Ich habe keine MSN... besteht die Möglichkeit, nach der Wahl der Stammrufnummer" eine Zahlenkombination (Token) zu übermitteln, die der Callmonitor interpretiert und dann die entsprechende Aktion ausführt?

Ich habe 3 VoIP Rufnummern registriert. Wenn ich auf einer dieser 3 Rufnummern anrufe (anstelle einer MSN), muss ich dann bei Quell- und Zielrufnummer die führende 0 weglassen? In deinem Beispiel läßt du die 0 bei der Handynummer weg.


THX
 
Zuletzt bearbeitet:
Ich habe 3 VoIP Rufnummern registriert. Wenn ich auf einer dieser 3 Rufnummern anrufe (anstelle einer MSN), muss ich dann bei Quell- und Zielrufnummer die führende 0 weglassen? In deinem Beispiel läßt du die 0 bei der Handynummer weg.

Es sollte auch mit VoIP-Nummern gehen (habe ich nicht), die genaue Syntax bzgl. Callmonitor und andere Infos findest Du hier: http://freetz.org/wiki/packages/callmonitor/listeners#RegelnListeners

Es gibt bei den Callmonitor-Regeln u.a. Wildcards für die Rufnummern. Ich würde einfach ein wenig mit der Konfiguration spielen, beim Callmonitor gibt es auch einen Simuliere-Modus, wo man eingehende Gespräche und die Reaktionen darauf simulieren kann. Richte Dir als Reaktion das Versenden von Mails oder irgendwas anderes für den Funktionstest ein. Wenn alles wie gewünscht klappt, dann stell die Aktion auf DSL-Reconnect um.

Gruß
Hartmut
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.