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

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
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
 

Silent-Tears

IPPF-Promi
Mitglied seit
3 Aug 2007
Beiträge
7,456
Punkte für Reaktionen
0
Punkte
0
"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.
 

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
"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.
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,945
Punkte für Reaktionen
26
Punkte
48
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.
 

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
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
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,945
Punkte für Reaktionen
26
Punkte
48
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.
 

hermann72pb

IPPF-Promi
Mitglied seit
6 Nov 2005
Beiträge
3,679
Punkte für Reaktionen
9
Punkte
38
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
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,945
Punkte für Reaktionen
26
Punkte
48
... 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
 

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
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
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
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.
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,945
Punkte für Reaktionen
26
Punkte
48

HartmutB

Neuer User
Mitglied seit
7 Okt 2008
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
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
 

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
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?
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,945
Punkte für Reaktionen
26
Punkte
48
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.
 

kriegaex

Aktives Mitglied
Mitglied seit
7 Nov 2006
Beiträge
2,927
Punkte für Reaktionen
0
Punkte
36
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.
 

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
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.
 

c.monty

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
376
Punkte für Reaktionen
0
Punkte
16
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:

HartmutB

Neuer User
Mitglied seit
7 Okt 2008
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
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
 

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via