Script bei Neueinwahl triggern

l3u

Neuer User
Mitglied seit
9 Okt 2013
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
Hallo :)

Meine Fritz-Box (WLAN 3030) kann mit den Bordmitteln der Standardweboberfläche leider kein DynDNS-Update bei meinem DynDNS-Provider machen. Deswegen hatte ich bisher folgenden Workaround:

Ich habe bei „Dynamic DNS“ folgendes eingestellt:
Code:
Dynamic DNS-Anbieter: Benutzerdefiniert
Update-URL:           [Mein Server]/ipupdate/?token=…&ip=<ipaddr>
Domainname:           [Meine DynDNS-Adresse]
Nicht wundern, der Server steht woanders als der Rechner, für den ich die DynDNS-Adresse benutze. Der Server wiederum führt dann folgenden Befehl aus:
Code:
wget -q "https://[Mein DynDNS-Anbieter]/refresh.php?user=…&token=…&ipv4=…" -O /dev/null
Eingerichtet habe ich das, bevor ich was from Freetz gehört hatte ;-) Den wget-Aufruf müsste ja aber die Fritz-Box auch selbst machen können, oder? Kann ich dafür sorgen, dass bei einer Neueinwahl bzw. dem Ändern der IP-Adresse automatisch ein Script getriggert wird? Irgendwie tut das ja die Fritz-Box sowieso, weil sie ja dann auch eine Anfrage an meinen Server schickt.

Bzw. kann man evtl. einfach ein Script über den Webserver der Fritz-Box laufen lassen? Damit man das selbe machen kann, nur, dass eben 127.0.0.1/irgendwas aufgerufen wird? Das Script direkt auszuführen wäre natürlich die schönere Variante.

Vielen Dank schonmal!
 
Zuletzt bearbeitet:
Klasse, dann kann ja die Box schon das, was ich gerne hätte :)

Ist schon ein bisschen her, dass ich das eingerichtet habe, aber es hat damals weder mit HTTP noch mit HTTPS funktioniert. Warum auch immer … gerade hab ich gesehen, dass das Busybox-wget eh kein HTTPS kann: „wget: not an ftp ot http url: https://…“

Der Sache muss ich jedenfalls nochmal nachgehen. Einstweilen vielen Dank für die Auskunft :)
 
Die URL zum Update lässt sich normalerweise konfigurieren. Versuch doch mal, auf Deinen Server zuzugreifen, dann siehst Du, ob die Parameter korrekt gesendet werden.
Das Busybox wget kann kein https, aber man kann auch GNU wget oder curl auf die Box bringen.
 
Ist klar, dass sich die URL konfigurieren lässt. Ich mache ja quasi das selbe Request auf meinen Server, wie auf den meines DynDNS-Anbieters und reiche die Daten nur weiter – die Parameter werden an meinen Server auch korrekt gesendet. Nur bekomme ich ein „400 Bad Request“, wenn ich die URL von der Box aus aufrufe (warum auch immer …)

Ich hab einfach folgendes in die /var/flash/debug.cfg geschrieben:
Code:
cat << 'EOF' > /var/tmp/onlinechanged/dyndns
#!/bin/sh
IP=$(/sbin/showdsldstat 2>/dev/null | sed -nr 's/0: ip ([0-9.]+).*/\1/p')
wget -q "http://.../refresh.php?user=...&token=...&ipv4=$IP" -O /dev/null
EOF
Damit geht das Script auch nach einem Reboot nicht verloren und wird beim Ändern der IP-Adresse automatisch ausgeführt. Passwörter werden eh keine übertragen, also ist die fehlende SSL-Unterstützung zu verschmerzen.

Funktioniert :)
 
Zuletzt bearbeitet:
Wenn Du Freetz drauf hast, kannst Du das Skript auch in /tmp/flash/onlinechanged packen ("modsave flash" danach nicht vergessen). Dann ist es auch persistent auf der Box.
Für die IP-Bestimmung kannst Du dann das Skript get_ip verwenden.
 
Das vereinfacht die Sache natürlich ungemein :) Danke für den Tip!
 
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.