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

E-Mail bei geänderter IP

Dieses Thema im Forum "Freetz" wurde erstellt von kriegaex, 11 Jan. 2007.

  1. 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
    Ich hätte die Frage auch im "normalen" Forum zur FB ohne DS-Mod stellen können, hoffe aber, daß sie hier auch herein paßt, weil eine modifizierte Box evtl. mehr Möglichkeiten bietet, einfach zu erreichen, was ich möchte:

    Falls nach DSL-Reconnect und geänderter IP aus irgendeinem Grund der DynDNS-Login mal nicht funktionieren sollte oder auf dem entfernten Recher, der die Box ansprechen will, DNS-Caching verhindert, schnell die neue IP zu kriegen, wäre es praktisch, wenn die Box zusätzlich bei jeder IP-Änderung die neue IP samt Timestamp per E-Mail an eine bestimmte Adresse schickt. Sicher ist sicher.

    Ich habe bereits recherchiert und das gefunden: http://www.wehavemorefun.de/fritzbo...endet_E-Mail_bei_.C3.84nderung_der_IP-Adresse

    Geht es auch einfacher, evtl. mit dem DS-Mod? Vielleicht gibt es ja eine einfache Möglichkeit, das entsprechende Event abzufangen und direkt darauf zu reagieren, ähnlich wie Callmonitor das bei Anrufen tut.

    Übrigens wäre das aus meiner Sicht auch eine nette Erweiterung für den DS-Mod bzw. sein Web-Interface.
     
  2. supamicha

    supamicha Mitglied

    Registriert seit:
    3 Dez. 2004
    Beiträge:
    572
    Zustimmungen:
    2
    Punkte für Erfolge:
    18
    einfacher gehts mit inadyn. der testet 1 mal pro minute ob deine dyndns adresse noch stimmt und updatet sie bei bedarf.
    und du kannst bis zu 5 dyndns adressen bedienen. eine davon geht immer.
     
  3. 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
    Das ist gut, Micha. Aber mir reicht eine DynDNS-Adresse, die Funktionalität der Original-FW ist in dieser Hinsicht okay für mich. Was ich möchte, ist eine Fallback-Lösung, wenn DynDNS aus irgendeinem Grund nicht tut, was es soll oder, wenn wir DynDNS einfach außen vor lassen, eine eventgesteuerte E-Mail-Benachrichtigung. Fragt sich nur: Wie fange ich das Event?
     
  4. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Warum habt ihr eigentlich inadyn für die Box genommen? Klein und einfach, konfigurierbar per kommandozeile? Wie wäre es z.b. ddclient anstatt inadyn zu nehmen? Ich weiß aber nicht, ob man die Sourcen auf FB anpassen kann. Bei ddclient kann man eine Mail verschicken lassen. Zumindest habe ich es so bei suse linux gemacht. Wenn ddclient sich reconnected, oder Fehler hat, schickt er eine Mail an root. Und die wird dann an meine e-mail-Adresse weitergeleitet. Voraussetzung dafür ist sendmail. Es läuft schon seit 2-3 Jahren stabil. Genau so stabil, wie übrigens dyndns.org. Von daher, mach dir keine sorgen über dyndns.org, es tickt wie eine uhr.
     
  5. supamicha

    supamicha Mitglied

    Registriert seit:
    3 Dez. 2004
    Beiträge:
    572
    Zustimmungen:
    2
    Punkte für Erfolge:
    18
    ddclient ist in perl programmiert und das wird auf der box aus platzgründen nix. ich hab inadyn genommen weil der code in c ist.
    link zu ddclient : http://ddclient.sourceforge.net/
     
  6. 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
    Ich danke Euch beiden. Und ja, DynDNS ist zuverlässig. Trotzdem will man ja manchmal ein Feature haben oder eine Sache ausprobieren, auch wenn der Nutzen nicht sooo groß ist.Wir sind doch alle manchmal ein bißchen verspielt. Auf Events (auch andere als IP-Änderungen) mittels E-Mail-Benachrichtigung zu reagieren, entfaltet seinen Nutzen in vielerlei Situationen. Ich überlebe es aber auch, wenn keinem was dazu einfällt. :)
     
  7. supamicha

    supamicha Mitglied

    Registriert seit:
    3 Dez. 2004
    Beiträge:
    572
    Zustimmungen:
    2
    Punkte für Erfolge:
    18
    einen einfall hab ich schon. schreib ein script welches die ip regelmässig liest und bei änderung einen vergleich mit deiner
    dyndns ip macht. bei ungleichheit kannst du über den mailer eine email verschicken.
     
  8. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    Der dsld hat doch (immer noch?) eine Option, mit der ein Skript bei IP Wechsel aufgerufen werden kann.
     
  9. 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
    Hallo Dani!

    Code:
    usage: dsld dsld [options]
    options:
      -?                 - print this help
      -d                 - Debug for PPP-Stack. (NOTSET)
      -f                 - run in forground. (NOTSET)
      -s                 - stop daemon. (NOTSET)
      -v                 - verbose. (NOTSET)
      -p STRING          - Pidfile. ("/var/run/dsld.pid")
      -r INTEGER         - Portrange for IPMASQ. (0)
      -F                 - no pppoe forwarding. (NOTSET)
      -T                 - no trafficshaper. (NOTSET)
      -C                 - connect on startup. (NOTSET)
      -i                 - first start after bootup. (NOTSET)
      -M STRING          - memory debug output. (NULL)
      -n                 - do not show packets dropped. (NOTSET)
      -I                 - send dsld a SIGHUP. (NOTSET)
      -V STRING          - Pidfile of voipd. ("/var/run/voipd.pid")
      -S                 - show bandwidth used every second. (NOTSET)
      -w INTEGER         - TCP window increase patch (WLAN,T-Com only). (14400)
      -D STRING          - switch debug logs on. (NULL)
    start server:   dsld
    stop server :   dsld -s
    Irgendwie kann ich sie nicht entdecken. Ist sie undokumentiert?
     
  10. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    Sorry, es war der multid. Wir hatten das schon öfter hier im Forum. Das Stichwort für die Suchfunktion ist hier "onlinechanged":

    Siehe z.B. hier

    Mfg
    danishane
     
  11. 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
    Auf das Suchwort kommt man halt nur, wenn man's schon weiß.

    Wie auch immer: Das habe ich gesucht, den Rest werde ich wohl hinkriegen. Danke für die Hilfe.

    P.S.: Es lohnt sich doch, etwas hartnäckiger zu fragen. Ich dachte mir doch, daß so etwas irgendwie "out of the (Fritz!) box" gehen sollte.

    Und damit der nächste es vielleicht auch mit anderen Suchworten findet, schreibe ich einfach ein paar hier rein: ip wechsel reconnect e-mail notification benachrichtigung trigger
     
  12. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Dann schreib doch auch gleich noch dein Skript rein das du verwendest.

    MfG Oliver
     
  13. 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
    #13 kriegaex, 12 Jan. 2007
    Zuletzt bearbeitet: 5 Juli 2007
    E-Mail bei jedem DSL-Reconnect senden

    So, olistudent,

    hier ist also die Lösung, die keiner braucht: ;-)

    In /var/flash/debug.cfg folgende Sequenz einfügen:
    Code:
    # Create online status event handler
    cat > /var/tmp/onlinechanged << EOF
    #!/bin/sh
    if [ "\$1" = "online" ] ; then
      mailer \\
        -s "New IP: \`wget -q -O - http://www.sipsurf.de/tools/ip.php\`" \\
        -f "sender@somedomain.de" \\
        -t "recipient@otherdomain.de" \\
        -m "smtp.somedomain.de" \\
        -a "smtp-username" \\
        -w "smtp-password"
    fi
    EOF
    
    # Make event handler script executable
    chmod +x /var/tmp/onlinechanged
     
    # Restart multid with event handler script
    multid -s
    multid [S]-S /var/tmp/onlinechanged[/S]
           [COLOR="Red"]# not needed, because default name (updated 2007-07-05)[/COLOR]
    
    Erläuterungen hierzu, bevor Fragen auftauchen:
    • Um /var/flash/debug.cfg zu editieren, das Wrapper-Skript nvi verwenden: nvi /var/flash/debug.cfg
    • Wie man den Editor vi bedient, ist nicht Gegenstand dieser Diskussion.
    • Ob der Code am Anfang, am Ende oder irgendwo zwischen zwei voneinander unabhängigen Funktionsblöcken in der Datei auftaucht, spielt keine Rolle. Bei mir steht er am Anfang.
    • Der Backslash vor $1 steht dort absichtlich, um eine Expansion der Variablen im Moment der Ausführung von debug.cfg zu verhindern.
    • Die Backticks (auch escaped) um das wget-Kommando herum sind ebenfalls Absicht und wichtig. Die Shell-Programmierer wissen, weshalb, die anderen sollen es einfach glauben.
    • Was macht das wget-Kommando? Da es anscheinend keinen einfachen Weg gibt, die externe IP der Box "von innen" zu ermitteln, holt man sie sich irgendwoher, wo sie in möglichst leicht auslesbarer Form zur Verfügung steht. Diese Adresse habe ich irgendwo abgekupfert, ich nehme an, sie ist so gut wie immer erreichbar.
    • Was die Kommandozeilen-Optionen des mailer-Kommandos bedeuten und daß sie durch Eure persönlichen Mail-Adressen und Zugangsdaten zu ersetzen sind, ist hoffentlich klar.
    • Ich hätte die IP auch in den Mail-Body schreiben können, aber ich habe mich für den Betreff entschieden, das ist am einfachsten, und man sieht es schnell, wenn man die Mail holt (auch wenn man nur die Header am Server ausliest).
    • Die Doppel-Backslashes innerhalb des mailer-Kommandos sorgen dafür, daß ich es so hübsch umbrechen und einrücken kann. Reine Kosmetik.
    • Die Zeichenkette EOF ist willkürlich, könnte auch anders lauten, solange sie nur an beiden Stellen identisch ist. So sagt man dem cat-Befehl, daß er so lange Zeichen (in die Datei /var/tmp/onlinechanged) ausgeben soll, bis er auf betreffende Zeichenkette stößt. Letztere wird nicht mit ausgegeben.
    • Der Rest steht ja in den Code-Kommentaren.
    • Erläuterung zum rot markierten Update (multid-Start ohne Parameter): Der Standard-Skriptname ist, wie man mit multid -? leicht feststellen kann, /bin/onlinechanged. Was mir erst durch einen Tip von olistudent klar wurde, ist, daß das nur ein symbolischer Link auf /var/tmp/onlinechanged ist, d.h. der Name des Skripts paßt sowieso und braucht nicht extra angegeben zu werden.
     
  14. the-aerisch

    the-aerisch Neuer User

    Registriert seit:
    26 Juni 2006
    Beiträge:
    89
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ah, so was ähnliches hatte ich vor kurzem auch vor, aber nicht weiter verfolgt. Nun denn hab ich das Script mal getestet. Kriege zwar eine Email, jedoch fehlt dann im Betreff die eigentliche IP. (Kriege also nur "New IP:" und das war's)
    Gebe ich den ganzen mailer-befehl unter putty ein klappt alles bestens.:gruebel:
     
  15. Psychodad

    Psychodad Mitglied

    Registriert seit:
    31 Mai 2005
    Beiträge:
    277
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    workaround

    Hi

    Die Sender IP ist in den Headers der Mail enthalten, Im Betreff wäre natürlich schöner.

    Gruss

    Psychodad


     
  16. 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
    @Psychodad, the-aerisch: Ich verstehe nicht ganz, was Ihr meint. Erstens ist der Betreff (subject) Teil des Headers einer E-Mail, zweitens sollte es funktionieren, wenn Ihr alles so übernommen habt, wie ich es schrieb. Ich habe heute schon vier Mails bekommen, überall stand die IP drin. Wer die Info lieber gern im Body der Mail oder als Anhang hätte, muß ja nur die Aufruf-Zeile des mailer-Kommandos entsprechend anpassen. Mal an der Kommandozeile mailer -? eingeben, bitte.

    Edit: Ach so, noch was: Backticks sind keine Apostrophe, sondern "umgekehrte Apostrophe" (von links oben nach rechts unten zeigend). Am besten copy & paste benutzen, statt das Skript manuell abzutippen. Das geht auch in einer Telnet- oder SSH-Sitzung innerhalb von vi.
     
  17. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    ... oder
    Code:
    "New IP: \$(wget -q -O - http://www.sipsurf.de/tools/ip.php)"
    verwenden.
     
  18. the-aerisch

    the-aerisch Neuer User

    Registriert seit:
    26 Juni 2006
    Beiträge:
    89
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @danisahne:
    So hauts auch bei mir hin, danke sehr!
     
  19. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    Das von kriegaex funktioniert aber genauso, du mußt nur die "Anführungszeichen" richtig abschreiben/kopieren.
     
  20. the-aerisch

    the-aerisch Neuer User

    Registriert seit:
    26 Juni 2006
    Beiträge:
    89
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hmm, das mit den Anführungszeichen dacht ich auch, aber ich hatte da die (zumindest optisch) haargenau identischen eingebaut, also mit shift + der taste direkt links von backspace. - Dann erscheint vor dem nächsten zeichen, welches man eintippt selbiger "accent grave": `... - Oder war das falsch?
    Naja, jedenfalls klappt es ja mit der Alternativlösung.