E-Mail bei geänderter IP

kriegaex

Aktives Mitglied
Mitglied seit
7 Nov 2006
Beiträge
2,927
Punkte für Reaktionen
3
Punkte
36
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.
 
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.
 
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?
 
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.
 
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. :)
 
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.
 
Der dsld hat doch (immer noch?) eine Option, mit der ein Skript bei IP Wechsel aufgerufen werden kann.
 
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?
 
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
 
danisahne schrieb:
Sorry, es war der multid. Wir hatten das schon öfter hier im Forum. Das Stichwort für die Suchfunktion ist hier "onlinechanged"

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
 
Dann schreib doch auch gleich noch dein Skript rein das du verwendest.

MfG Oliver
 
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 "[email protected]" \\
    -t "[email protected]" \\
    -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.
 
Zuletzt bearbeitet:
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:
 
workaround

Hi

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

Gruss

Psychodad


the-aerisch schrieb:
Kriege zwar eine Email, jedoch fehlt dann im Betreff die eigentliche IP.:
 
@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.
 
... oder
Code:
"New IP: \$(wget -q -O - http://www.sipsurf.de/tools/ip.php)"
verwenden.
 
@danisahne:
So hauts auch bei mir hin, danke sehr!
 
Das von kriegaex funktioniert aber genauso, du mußt nur die "Anführungszeichen" richtig abschreiben/kopieren.
 
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.
 
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.