Fritzboxdingens

From Fritz!Box

Jump to: navigation, search

Contents

[edit] "Fritzboxdingens" -- Ein PHP-Tool zur Eingabe von Portranges für die FRITZ!Box WLAN 7050

(zuerst veröffentlicht in: http://www.ip-phone-forum.de/forum/viewtopic.php?t=20114 )

Daß man bei der FRITZ!Box keine Portranges eingeben kann, hat mich doch schon sehr genervt. Nun habe ich ein kleines Tool gebastelt, welches mir diese Arbeit etwas erleichtert. Da wahrscheinlich mehrere frustrierte FRITZ!Box-User Verwendung dafür haben dürften, möchte ich es Euch nicht vorenthalten.

"Fritzboxdingens", Version 1.0.2a, Eingabescreen
"Fritzboxdingens", Version 1.0.2a, Eingabescreen


Das Hauptproblem der Fritz!Box bei der Speicherung von forwardrules besteht meiner Meinung nach in der Struktur: Für jeden einzelnen Port muß eine eigene rule angelegt werden. Selbst die internen Konfigurationen von AVM werden durch diese Einschränkung behindert:

So steht es in der internen Konfigurationsdatei "/var/flash/ar7.cfg":

...
"udp 0.0.0.0:7078 0.0.0.0:7078",
"udp 0.0.0.0:7079 0.0.0.0:7079",
"udp 0.0.0.0:7080 0.0.0.0:7080",
"udp 0.0.0.0:7081 0.0.0.0:7081",
"udp 0.0.0.0:7082 0.0.0.0:7082",
"udp 0.0.0.0:7083 0.0.0.0:7083",
"udp 0.0.0.0:7084 0.0.0.0:7084",
"udp 0.0.0.0:7085 0.0.0.0:7085",
...

Und so sollte es im Idealfall eigentlich aussehen:

...
"udp 0.0.0.0:7078-7085 0.0.0.0:7078-7085",
...

Ich denke, das Problem ist so grundlegend, daß mit einer Implementierung in einer späteren Firmware nicht zu rechnen sein dürfte.


[edit] Funktionsweise:

Diese Lösung ist beschämend einfach. Eigentlich geschieht nämlich nichts weiter, als daß weiterhin das offizielle Fritz!Box-Tool genutzt wird, diesem aber das Script vorgeschaltet wird. Von der Fritz!Box "gelesen" wird durch Aufruf und Filterung der entsprechenden HTML-Seite, "geschrieben" dagegen durch Öffnen einer Socket-Verbindung am Web-Server der Fritz!Box.
Das Verfahren ist leider durch das ständige Aufbauen von "Internet-Verbindungen" ziemlich langsam. Aber es funktioniert bis jetzt recht zuverlässig -- zumindest bis die Grenzen der FRITZ!Box erreicht sind.


[edit] Grenzen:

Die FRITZ!Box bzw. ihre Browser-Schnittstelle ist für Massenportfreigaben einfach nicht ausgelegt.
Bei meinem (sehr langsamen) System liegt die Grenze irgendwo bei 270 forwardrules. D.h. ich konnte schon mehr rules anlegen, aber ab ca. 270 rules funktioniert die Seite "Internet/Portfreigabe" der AVM-Browser-Schnittstelle nicht mehr und damit auch nicht die Abfrage der nächsten verfügbaren rule-Nummer. Interessanterweise werden auch rules darüber hinaus erfolgreich in der /var/flash/ar7.cfg-Datei angelegt und auch die Funktionalität der FRITZ!Box wird von diesem Limit nicht beeinträchtigt!

Ich vermute, daß da die insgesamte Bearbeitungszeit der drei Akteure (1) Browser, (2) Webserver und (3) FRITZ!Box das vorgegebene timelimit der Fritz!Box übersteigt und dann bricht die Kiste halt einfach ab. Für das timelimit als Ursache spräche auch, daß die Grenze offenbar nicht bewußt festgelegt wurde. 256 würde Sinn machen, aber 270? Vielleicht könnte ein etwas schnellerer Rechner das Ergebnis durch seinen Einfluß auf (1)+(2) verbessern? (Ich habe dies bisher aber nicht ausprobieren können und freue mich über weitere Erfahrungsberichte!)


[edit] Betrieb mit Fritz!Box-Kennwort:

Das Kennwort behindert die Funktion des Fritzboxdingens nicht. Wichtig ist nur, daß vor Aufruf des Fritzboxdingens eine gültige Anmeldung erfolgt war und noch aktiv ist.


[edit] Erfahrungsberichte:

Das Tool lässt sich wunderbar mit den Boxen 'SL WLAN' (09.03.65) und 'FON ATA' (11.03.65) nutzen. Allerdings nur so lange die fritzboxdingens.php Datei auf einem lokalen Webserver liegt, weil ja, wie schon weiter oben vom Autor erwähnt, zur erfolgreichen Portfreigabe eine vorherige Kennwortvalidierung des Webservers nötig ist. Gibt es keine Möglichkeit, bevor die eigentliche Portfreigabe aufgerufen wird, eine Kennwortvalidierung des Webservers zu erzwingen? Somit hätte man dann die Möglichkeit die fritzboxdingens.php auf einem zentralen LAN-Server zu betreiben. -- hagbard84 18:00, 13 Aug 2005 (CEST)

[edit] Systemvoraussetzungen:

  • Getestet wurde das Fritzboxdingens auf einer FRITZ!Box Fon WLAN 7050, Firmware-Versionen 14.03.66, 14.03.68 und 14.03.71. Ich habe im Augenblick keine Ahnung, ob es auch für andere FRITZ!Boxen und Firmware-Versionen geeignet ist.
  • Ihr benötigt PHP (Version >=4.2.0 oder 5). Aber ich denke, die Installation eines Apache-Webservers mit PHP dürfte eigentlich auch unter Windows heute kein ernsthaftes Problem mehr sein. Leider (oder glücklicherweise) ist es nicht möglich, das Tool auf einer zentralen Internetseite ausführbar anzubieten, weil es Schreibrechte auf Eurer FRITZ!Box benötigt. Dazu muß es im LAN istalliert sein.
  • Der Aufruf erfolgt über den Internetbrowser.


[edit] Download:

fritzboxdingens-1.0.3.zip (7.9 KB)
oder
fritzboxdingens-1.0.3.tar.gz (7.4 KB)


Viel Erfolg!

-- Letzte Änderung: --Barpfotenbaer 22:23, 25 Jul 2005 (CEST)

Personal tools