[Erledigt] öffentliche IP der Fritzbox auf eigener Webseite ohne externen Anbieter?

_thomas_

Neuer User
Mitglied seit
4 Aug 2006
Beiträge
159
Punkte für Reaktionen
0
Punkte
0
Hallo.

Ich würde gerne meine öffentliche IP auf einen geschützten Bereich meiner Webseite als Text einbinden(z.B. die IP in eine Textdatei schreiben und dann auslesen).
Möchte hierzu aber nichts wie dyndns usw. verwenden.


Dachte das ich es evtl. über die Fritzbox selbst unter *Internet*>*Freigaben*>*Dynamische DNS* einstellen kann und die IP dann in einer Datei abgelegt wird.
Quasi einen Ordner (IP) auf meinem Server erstelle auf den der Benutzer "fritz" mit dem Passwort "box" zugreifen kann. Die Wepoberfläche um diesen Benutzer auch einloggen zu können wäre zb. *https://www.ein_server.de/ftpzugang.php*

Das gebe ich in den Einstellungen ein und erhalte dann eine Datei mit der IP.
So war mein Gedanke. Nur was kommt in das Feld:
Update-Url?

Leider bekomme ich eine Fehlermeldung:
Dynamic DNS-Fehler: Der DynDNS-Anbieter meldet Fehler 400 - Bad Request

War das falsch gedacht? Geht das Überhaupt?
Wenns nicht über die Weboberfläche der Fritzbox selbst geht, dann evtl mit Freetz?

Viele Grüße
 
Zuletzt bearbeitet:
Hallo Thomas,

in der 7270 kann man einen benutzerdefinierten dDNS Account anlegen, ich denke das wird bei der 7170 auch so sein. Dort gibst Du als Update-URL die Adresse des (PHP,CGI,...-)Skripts auf Deiner Homepage ein, dass die IP-Adresse entgegen nimmt.
 
Hallo.

Ja richtig, nennt sich Benutzerdefiniert.

Man benötigt also ein Skript das die Adresse entgegen nimmt?
Wie sieht das aus? Gibts hier irgendwo Beispiele? Nach was müsste ich suchen?
Dachte die FB schreibt es einfach in eine Datei welche ich dann auslesen kann.
 
Nein, das macht die Box sicherlich nicht. Die Box ruft eine HTTP(s) Adresse des dDNS Anbieters (=> Update-URL) mit diversen Parametern auf.

Als PHP zB. so:
PHP:
$handler=fopen("ip.txt","w");
if ($handler) fwrite($handler,$_SERVER['REMOTE_ADDR']);
fclose($handler);
 
Hm.
Bin mir nicht sicher ob ich das nun richtig gemacht habe. Aber es geht.
Was mich wundert, denn der Benutzer hat für diesen Ordner gar keine Berechtigung!
Und ich bekomme noch immer den Bad Request 400.
In der Datei (ip.txt) steht aber meine öffentliche IP drin! :-D

Edit:
Ohne Eingabe von Benutzer und Passwort klappt das auch. Etwas unheimlich ist das schon.
 
Zuletzt bearbeitet:
Damit Benutzer/Kennwort notwendig ist, muss dieses PHP Skript in einem .htaccess geschützten Ordner liegen. Ist das der Fall? Wenn nicht, kann es ohne weiteres von jedermann aufgerufen werden.
Alternativ könnte man die HTTP Auth in PHP nachbauen, das aber nur nebenbei.

Das mit dem Bad Request kann sein, weil da jetzt keine Rückmeldung kommt. Weiß jemand, wie die Ausgabe aussehen muss, damit die FB das als "in Ordnung" erkennt? Reicht da vielleicht ein einfaches "OK"? :noidea:
 
Ah, jetz versteh ich. Hab es zum Testen noch im ungeschützten bereich liegen!
War etwas verwirrend grad.

Wenn das mit dem Bad Request auch noch gelöst ist wäres schon eine gute Sache.
Dann sieht mans im Protokoll auch.


Besten Dank schon mal bis hier hin! Super!! :-D
 
Hab grad schnell ein bisschen bei google geblättert. dyndns.org schickt ein good im Falle einer erfolgreichen Aktualisierung. Ich bezweifle aber, dass das der Box reicht. Scheinbar macht die direkt im Anschluss eine DNS Anfrage für die angegebene Domain, und die wird bei Dir immer die falsche Adresse liefern.
 
Meinst du es reicht ein *good* zu senden wenn in der .txt-Datei erfolgreich geschrieben wurde?

Ich bin mir auch net ganz sicher ob ich in *Domainname* das richtige drin hab.
Wenn quasi meine Webseite *w_w_w.meineseite.de* ist und das Skript in */fritzbox/ip.php liegt* dann hab ich eingetragen:
Code:
Update-URL :   w_w_w.meineseite.de/fritzbox/ip.php
Domainname 	w_w_w.meineseite.de
Benutzername 	xyz
Kennwort 	xxx
Kennwortbestätigung xxx

Vielleicht liegt ja hier noch ein Fehler vor?
 
Mach in das PHP-Skript gleich nach dem ?> noch in die gleiche Zeile ein good
Mehr als nichts nützen kann es nicht.

Der Domainname ist in dem Fall egal. Der wird bei dDNS Diensten zur Unterscheidung verwendet, wenn Du mehrere (Sub-)Domains unter einer Benutzerkennung hast.

Wenn Du bei Domainname die Domain Deiner Website einträgst, dann wird die Fritzbox wahrscheinlich nach dem Update versuchen, die Änderung vom zuständigen DNS Server bestätigt zu bekommen. Die IP-Adresse Deiner Website ändert sich aber nicht und wird auch niemals der öffentlichen IP-Adresse der Fritzbox entsprechen. Also wird die Fritzbox nach einem, in Deinem Fall erfolgreichen, Update immer melden, dass die Adresse nicht korrekt übernommen wurde. Ist halt doch etwas Zweckentfremdung der Funktion.

Wenn Du mal Freetz drauf machst, kannst Du das in einen Cronjob oder Onlinechanged packen, aber extra deshalb würde ich Freetz nicht installieren.
 
Für was genau soll das "good" sein? kann im PHP-Manual nix dazu finden.

Mit dem Fehler 400 kann ich Leben, wäre halt nur noch eine feine Sache fürs Log.

Was mir jetz aber eingefallen ist (Wollte mal eine Lösung für das Loggen der eigenen öffentlichen IP mit Zeitstempel, hab das aber aus Zeitmangel nicht weiter verfolgt), es würde doch jetzt gehen das die IP einen Zeitstempel bekommt und in der selben (oder einer zweiten) Textdatei immer gespeichert bleibt.
Etwa so:
Code:
123.13.45.321 
45.785.25.45 - 03.05.2010 04:02 Uhr
190.357.22.45 - 02.05.2010 04:32 Uhr
205.22.54.97 - 01.05.2010 04:00 Uhr
und ich lese nur die erste Zeile aus.

Zu Freetz:
Habe ich bereits auf der Box. siehe Sig ;-)
Cronjob scheidet für mich aus. Möchte es nur wenn es geändert wird.
Also das onlinechanged.
Hört sich ebenfalls interessant an :)
Welche Möglichkeiten bietet das? Hat es einen besonderen Vorteil zu der jetzigen Lösung?
 
Das good sollte lediglich als Text ausgegeben werden, als Rückmeldung über das erfolgte Update. Hat mit PHP an sich nichts zu tun.

Mit Zeitstempel:
PHP:
<?php
$handler=fopen("ip.txt","a");
if ($handler) fwrite($handler, $_SERVER['REMOTE_ADDR']." - ".DATE("Y-m-d H:i:s"));
fclose($handler);
?>good

Du musst allerdings dafür sorgen, dass die Datei nicht irgendwann überquillt.

Hatte ich nicht gesehen, dass Du Freetz schon drauf hast. Einen Vorteil gegenüber dieser Variante bietet das nicht wirklich. Kommt darauf an, wie Du das Skript für Onlinechanged gestaltest. Da könnte man halt zB. eigene Fehlerprüfungen etc. einbauen. Aber so lange das so funktioniert, würde ich mir die Arbeit nicht machen.
 
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.