.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Freetz" wurde erstellt von c.monty, 13 Dez. 2011.

  1. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    "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.
     
  3. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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.
     
  4. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,735
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    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.
     
  5. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo!
    Diese Überlegung würde ich gerne aufgreifen:
    Wie kann ich den Versand der aktuellen öffentlichen IP per Email triggern?

    THX
     
  6. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,735
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    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.
     
  7. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,617
    Zustimmungen:
    2
    Punkte für Erfolge:
    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
     
  8. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,735
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    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
     
  9. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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
     
  10. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das liegt daran:
    Alternative: mailer
     
  11. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  12. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,735
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Es ist das email-Paket aus dem trac: klick.
     
  13. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dann verwende die andere Variante.
     
  14. HartmutB

    HartmutB Neuer User

    Registriert seit:
    7 Okt. 2008
    Beiträge:
    12
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  15. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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?
     
  16. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,735
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    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.
     
  17. kriegaex

    kriegaex Aktives Mitglied

    Registriert seit:
    7 Nov. 2006
    Beiträge:
    2,927
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Projektmanagement-Coach (Certified Scrum Professio
    Ort:
    Großraum Nürnberg
    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.
     
  18. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ohje... von der Logik kann ich dir folgen... aber das jetzt in ein Shell-Script umsetzen? - Das wird bei mir nichts, leider.
     
  19. c.monty

    c.monty Mitglied

    Registriert seit:
    22 Jan. 2007
    Beiträge:
    376
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    #19 c.monty, 14 Dez. 2011
    Zuletzt bearbeitet: 14 Dez. 2011

    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
     
  20. HartmutB

    HartmutB Neuer User

    Registriert seit:
    7 Okt. 2008
    Beiträge:
    12
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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