den ersten Schritten mit der FritzBox bis zum eigenen Image - Erfahrungsbericht
In der letzten Zeit habe ich mich etwas ausführlicher mit dem Thema Fritzbox modden beschäftigt. Mit diesem Bericht möchte ich meine Erfahrungen dokumentieren, in der Hoffnung, dass sie euch eventuell den Einstieg leichter machen.
Die Ausgangssitation:
Ich size hinter einem CISCO VPN Server und möchte per VoiP telefonieren. Ein DSL Anschluss ist nicht vorhanden.
FritzBox:
Klar ist, ich brauche eine "Fritz!Box fon". Damit funktioniert VoiP. Die normale genügt hier aber nicht, es sei denn man modifiziert sie zu eine ATA. Man benötigt also eine "Fritz!Box fon ATA". Mit dieser Version kann man VoiP auch hinter einem Router betreiben. Dies funktioniert mit der normalen "FON" nicht.
VPN Client:
Um ins Internet zu kommen, muss ich einen CISCO VPN client installieren. Der original Client von Cisco ist leider nicht komplett frei verfügbar. Er kann daher auch nicht auf der Fritzbox laufen. Mit vpnc(http://www.unix-ag.uni-kl.de/~massar/vpnc/) ist aber ein freier Client für cisco3000 VPN Concentrator vorhanden. Mit diesem Client ist es möglich eine Verbindung zu meinem Cisco VPN Server aufzubauen. Leider hat dieser Client in der Version 0.3.3 aber noch ein paar Einschränkungen bzw. Bugs (siehe Homepage). Für meine Zwecke genügt er aber.
Anfang - buildroot:
Große Hilfe für meine Recherchen waren die Seiten http://www.wehavemorefun.de/fritzbox/Main_Page und natürlich dieses Forum. Von Anfang an stand fest, dass ich den VPN Client für die Fritzbox selbst compilieren muss. Aber wie?
An dieser Stelle half mir http://www.wehavemorefun.de/fritzbox/Firmware_Modifikationen_/_Recompiling . Ich versuchte es mit Enriks buildroot (http://www.akk.org/~enrik/fbox/buildroot-fbox.tar.bz2). Nach dem Auspacken und Starten und Warten... und Warten ... und Warten ... musste ich meine Festplatte aufräumen, weil sie plötzlich voll war. Die Installation des buildroot hat zwischen 1 - 1.5GB bei mir in Anspruch genommen. Jetzt kann man sehr schön mit "make menuconfig" sich sein Image zusammen klicken. Danach wird mit "make" ein neues Image erstellt.
vpnc & libs:
Durch das buildroot habe ich alles um vpnc für die Fritzbox zu erstellen. Im buildroot kann man beliebige neue Packete erstellen, die dann auch in den Erstellungsprozess des Images integriert werden können. Für vpnc benötige ich noch libgcrypt und diese benötigt wiederum libgpg-error. Also erstellte ich für libgpg-error (http://www.running-sheep.com/members/leo/libgpg-error.tar.gz) und libgcrypt (http://www.running-sheep.com/members/leo/libgcrypt.tar.gz) ein eigenes Packet.
Für vpnc habe ich (aus Faulheit ) kein eigenes Packet erstellt, sondern statisch per Hand compiliert.
Testen:
vpnc ist nun statisch kompiliert. Jetzt testen! Auf der Seite http://www.wehavemorefun.de/fritzbox/Firmware_Modifikationen_/_Recompiling ist geschildert wie man einen telnetdienst auf der Fritzbox starten kann. Gedacht getan. Jetzt noch per wget mein statisch compiliertes vpnc auf die Box gebracht, dazu noch vpnc.conf und vpnc-script. Ein erster Start brachte ein paar Fehler bezüglich eines "tun" devices. Wie in http://www.ip-phone-forum.de/forum/viewtopic.php?t=8266 beschrieben muss einfach nur das tun device erzeugt werden mit
cd /dev
mkdir net
cd net
mknod tun c 10 200
Ein weiterer Test zeigte, dass vpnc-script nicht ordentlich läuft. Die busybox kann zwei if-Anweisungen nicht interpretieren. Diese wurden von mir einfach auskommentiert. Nochmal vpnc starten. Jetzt gabs wieder Fehlermeldungen durch vpnc-script aber diesmal läuft alles durch und stop nicht wie bisher. Mittels ifconfig sah ich jetzt auch ein tun device. Leider ging das Routing aber nicht. Das Internet war nicht erreichbar. Also die entsprechenden Routen per Hand erstellen. Jetzt läuft es endlich. JUHU!
neues Image:
Jetzt benötigte ich eine Möglichkeit den VPN Client fest im Image der Fritzbox zu integrieren. Also muss zwangsweise ein eigenes Image her. Zusätlich benötigte ich noch eine Firewall (iptables). Mit danisahne-mod (http://www.ip-phone-forum.de/forum/viewtopic.php?t=27889) habe ich ein geeignetes Mod gefunden. Also hab ich mir hier die Datei aus dem Forum geladen (Hinweis: zum Runterladen muss man im Forum angemeldet sein). Dann noch die original Firmware von AVM runtergeladen und einen Testlauf gestartet. Das mod erstellte ohne Probleme ein neues Image. Es ist also doch so einfach wie ich mir erhofft habe
Die Dokumentation auf der Webseite ist sehr ausführlich. *freu* Jetzt ist es auch kein Problem mehr die eigenen vpnc Sachen in das Image zu integrieren. Es muss natürlich noch ein Startscript geschrieben werden.
Das Aufspielen des Images lief auch ohne Probleme. Meine Firewallregeln wurde in der debug.cfg verewigt.
vpnc - verbunden oder nicht verbunden, das ist hier die Frage:
Mein Image war fertig und vpnc lief. Sipgate einzurichten war auch relativ einfach. Nun lief meine Fritzbox und ich konnte mit meinem uralten Telefon tatsächlich telefonieren. Die Telefonnummer 10000 kann bei sipgate zum Testen angerufen werden. Wenn man eine Stimme hört funktioniert alles.
Jetzt gab es aber plötzlich alle paar Stunden Verbindungsabbrüche. Wie ärgerlich! Nach einer Weile konnte ich auch den Grund dafür finden. Der vpnc client war schuld. Auf der Webseite ist zu lesen "rekeying is not supported (default rekey-intervall is 8 hours)". Also wird ca. alle 8 Stunden die Verbindung unterbrochen.
Naja, müssen wir halt das Beste aus der Situation machen. Solange dieser Bug in vpnc besteht, muss man halt alle paar Stunden den vpnc Dienst restarten. Glücklicherweise ist in danisahne-mod auch ein crond enthalten. Ich lasse jetzt alle paar Stunden den Dienst einmal restarten. Ist keine ideale Lösung aber für mich reicht sie erstmal.
Rückblick:
Wenn ich auf meine Anfänge zurückschaue muss ich sagen, dass der Einstieg relativ schwer war. Man muss sehr viel im Forum suchen und es dauert seine Zeit, bis die notwendigen Daten gesammelt sind. Mit der Zeit findet man immer schneller die Informationen aber als Anfänger muss man sich durchbeißen.
In der letzten Zeit habe ich mich etwas ausführlicher mit dem Thema Fritzbox modden beschäftigt. Mit diesem Bericht möchte ich meine Erfahrungen dokumentieren, in der Hoffnung, dass sie euch eventuell den Einstieg leichter machen.
Die Ausgangssitation:
Ich size hinter einem CISCO VPN Server und möchte per VoiP telefonieren. Ein DSL Anschluss ist nicht vorhanden.
FritzBox:
Klar ist, ich brauche eine "Fritz!Box fon". Damit funktioniert VoiP. Die normale genügt hier aber nicht, es sei denn man modifiziert sie zu eine ATA. Man benötigt also eine "Fritz!Box fon ATA". Mit dieser Version kann man VoiP auch hinter einem Router betreiben. Dies funktioniert mit der normalen "FON" nicht.
VPN Client:
Um ins Internet zu kommen, muss ich einen CISCO VPN client installieren. Der original Client von Cisco ist leider nicht komplett frei verfügbar. Er kann daher auch nicht auf der Fritzbox laufen. Mit vpnc(http://www.unix-ag.uni-kl.de/~massar/vpnc/) ist aber ein freier Client für cisco3000 VPN Concentrator vorhanden. Mit diesem Client ist es möglich eine Verbindung zu meinem Cisco VPN Server aufzubauen. Leider hat dieser Client in der Version 0.3.3 aber noch ein paar Einschränkungen bzw. Bugs (siehe Homepage). Für meine Zwecke genügt er aber.
Anfang - buildroot:
Große Hilfe für meine Recherchen waren die Seiten http://www.wehavemorefun.de/fritzbox/Main_Page und natürlich dieses Forum. Von Anfang an stand fest, dass ich den VPN Client für die Fritzbox selbst compilieren muss. Aber wie?
An dieser Stelle half mir http://www.wehavemorefun.de/fritzbox/Firmware_Modifikationen_/_Recompiling . Ich versuchte es mit Enriks buildroot (http://www.akk.org/~enrik/fbox/buildroot-fbox.tar.bz2). Nach dem Auspacken und Starten und Warten... und Warten ... und Warten ... musste ich meine Festplatte aufräumen, weil sie plötzlich voll war. Die Installation des buildroot hat zwischen 1 - 1.5GB bei mir in Anspruch genommen. Jetzt kann man sehr schön mit "make menuconfig" sich sein Image zusammen klicken. Danach wird mit "make" ein neues Image erstellt.
vpnc & libs:
Durch das buildroot habe ich alles um vpnc für die Fritzbox zu erstellen. Im buildroot kann man beliebige neue Packete erstellen, die dann auch in den Erstellungsprozess des Images integriert werden können. Für vpnc benötige ich noch libgcrypt und diese benötigt wiederum libgpg-error. Also erstellte ich für libgpg-error (http://www.running-sheep.com/members/leo/libgpg-error.tar.gz) und libgcrypt (http://www.running-sheep.com/members/leo/libgcrypt.tar.gz) ein eigenes Packet.
Für vpnc habe ich (aus Faulheit ) kein eigenes Packet erstellt, sondern statisch per Hand compiliert.
Testen:
vpnc ist nun statisch kompiliert. Jetzt testen! Auf der Seite http://www.wehavemorefun.de/fritzbox/Firmware_Modifikationen_/_Recompiling ist geschildert wie man einen telnetdienst auf der Fritzbox starten kann. Gedacht getan. Jetzt noch per wget mein statisch compiliertes vpnc auf die Box gebracht, dazu noch vpnc.conf und vpnc-script. Ein erster Start brachte ein paar Fehler bezüglich eines "tun" devices. Wie in http://www.ip-phone-forum.de/forum/viewtopic.php?t=8266 beschrieben muss einfach nur das tun device erzeugt werden mit
cd /dev
mkdir net
cd net
mknod tun c 10 200
Ein weiterer Test zeigte, dass vpnc-script nicht ordentlich läuft. Die busybox kann zwei if-Anweisungen nicht interpretieren. Diese wurden von mir einfach auskommentiert. Nochmal vpnc starten. Jetzt gabs wieder Fehlermeldungen durch vpnc-script aber diesmal läuft alles durch und stop nicht wie bisher. Mittels ifconfig sah ich jetzt auch ein tun device. Leider ging das Routing aber nicht. Das Internet war nicht erreichbar. Also die entsprechenden Routen per Hand erstellen. Jetzt läuft es endlich. JUHU!
neues Image:
Jetzt benötigte ich eine Möglichkeit den VPN Client fest im Image der Fritzbox zu integrieren. Also muss zwangsweise ein eigenes Image her. Zusätlich benötigte ich noch eine Firewall (iptables). Mit danisahne-mod (http://www.ip-phone-forum.de/forum/viewtopic.php?t=27889) habe ich ein geeignetes Mod gefunden. Also hab ich mir hier die Datei aus dem Forum geladen (Hinweis: zum Runterladen muss man im Forum angemeldet sein). Dann noch die original Firmware von AVM runtergeladen und einen Testlauf gestartet. Das mod erstellte ohne Probleme ein neues Image. Es ist also doch so einfach wie ich mir erhofft habe
Die Dokumentation auf der Webseite ist sehr ausführlich. *freu* Jetzt ist es auch kein Problem mehr die eigenen vpnc Sachen in das Image zu integrieren. Es muss natürlich noch ein Startscript geschrieben werden.
Das Aufspielen des Images lief auch ohne Probleme. Meine Firewallregeln wurde in der debug.cfg verewigt.
vpnc - verbunden oder nicht verbunden, das ist hier die Frage:
Mein Image war fertig und vpnc lief. Sipgate einzurichten war auch relativ einfach. Nun lief meine Fritzbox und ich konnte mit meinem uralten Telefon tatsächlich telefonieren. Die Telefonnummer 10000 kann bei sipgate zum Testen angerufen werden. Wenn man eine Stimme hört funktioniert alles.
Jetzt gab es aber plötzlich alle paar Stunden Verbindungsabbrüche. Wie ärgerlich! Nach einer Weile konnte ich auch den Grund dafür finden. Der vpnc client war schuld. Auf der Webseite ist zu lesen "rekeying is not supported (default rekey-intervall is 8 hours)". Also wird ca. alle 8 Stunden die Verbindung unterbrochen.
Naja, müssen wir halt das Beste aus der Situation machen. Solange dieser Bug in vpnc besteht, muss man halt alle paar Stunden den vpnc Dienst restarten. Glücklicherweise ist in danisahne-mod auch ein crond enthalten. Ich lasse jetzt alle paar Stunden den Dienst einmal restarten. Ist keine ideale Lösung aber für mich reicht sie erstmal.
Rückblick:
Wenn ich auf meine Anfänge zurückschaue muss ich sagen, dass der Einstieg relativ schwer war. Man muss sehr viel im Forum suchen und es dauert seine Zeit, bis die notwendigen Daten gesammelt sind. Mit der Zeit findet man immer schneller die Informationen aber als Anfänger muss man sich durchbeißen.