- OpenWrt
-
OpenWrt ist eine kleine Linux-Distribution für embedded Geräte wie CPE-Router, Smartphones (z. B. Neo FreeRunner) oder Pocket Computern (z. B. Ben NanoNote). OpenWrt bietet ein voll beschreibbares Dateisystem und beinhaltet den Paketmanager opkg. Das ist insbesondere für den Einsatz in CPE- und WLAN-Routern einzigartig. Die Paket-Quellen beinhalten zurzeit (2011) ungefähr 2000 Software-Pakete, die es dem Anwender erlauben, den Router sehr weitläufig zu konfigurieren und die ursprünglichen Funktionen der originalen Firmware um ein Vielfaches zu erweitern.
Inhaltsverzeichnis
Bedienung
Auf Geräten, die keinen Bildschirm und keine Tastatur haben, wird OpenWrt per Kommandozeile von einem über Netzwerk per telnet oder SSH verbundenen Computer aus bedient. Zur Administration stehen aber auch mehrere Weboberflächen zur Verfügung: LuCI, X-Wrt und Gargoyle. Per Webbrowser können alle üblichen Einstellungen vorgenommen werden, von Trivialen wie etwa Portweiterleitungen über DynDNS-Einstellungen bis hin zu Statistiken aufrufen. Eigens für Geräte mit Bildschirmen wurde das X Window System portiert.
Geschichte
Entstehung
Im Juni 2003 stellten Andrew Miklas und weitere Programmierer fest, dass Linksys in ihrer Produktserie WRT54G den unter den Bestimmungen der GNU General Public License (GPL) veröffentlichten Quelltext des Linux-Kernels und anderer Software verwendete, ohne jedoch ihren modifizierten Quelltext der Allgemeinheit zur Verfügung zu stellen, wie es von der GPL verlangt wird.[2] Nach einem mehrere Monate andauernden öffentlichen Appell an Linksys lenkte das Unternehmen schließlich größtenteils ein und veröffentlichte im Oktober 2003 fast den gesamten modifizierten Quelltext des WRT54G-Linuxkernels, bis auf den Treiber für den in dieser Routerserie verbauten Broadcom-WLAN-Chipsatz.[3] Um den Druck auf Linksys und andere Routerhersteller zu erhöhen, gründete Harald Welte, der Hauptentwickler des Linux-Netzwerkmoduls Netfilter/iptables, infolgedessen die Initiative gpl-violations.org.[4] Dadurch wurde es möglich, die von Linksys und später anderen Unternehmen veröffentlichte Software zu modifizieren und somit den Wünschen der Benutzer entsprechend anzupassen.
Das erste „stable Release“
Im Januar 2004 wurde schließlich die Linux-Distribution OpenWrt gegründet. OpenWrt konnte daher im Gegensatz zu vielen anderen damals entstandenen Firmware-Projekten auf den ursprünglichen Quelltexten aufbauen und musste dadurch weniger Reverse-Engineering betreiben. Bald darauf konnte die erste fertige Version mit dem einfachen Namen „stable release“ veröffentlicht werden, die wiederum von Netzwerkprojekten wie Freifunk und Sip@Home als Basis für ihre Firmware verwendet wurde und teils noch heute in Benutzung ist. Nachteilig am „stable release“ war jedoch, dass die Entwicklung an zu dem Zeitpunkt veraltete Versionen von Linux-Programmen gebunden war und darüber hinaus teilweise immer noch proprietäre Konfigurationsprogramme der originalen Linksys-Firmware benötigt wurden.[5]
Legende: Alte Version Aktuelle Version Zukünftige Version Version Codename Veröffentlichung Bemerkungen / Neuerungen - Stable Release 2004 Erste Version RC 5 White Russian 26. März 2006 RC 6 7. November 2006 0.9 3. Februar 2007 7.06 Kamikaze 5. Juni 2007 Neuentwicklung der Konfigurationsstruktur und anderer Bereiche 7.07 26. Juli 2007 erweiterte Hardware-Unterstützung 7.09 30. September 2007 Fehlerbehebungen für 7.07 8.09 19. Februar 2009 Paket-Aktualisierungen, Fehlerbehebungen, neue Weboberfläche, zusätzliche Hardwareunterstützung 8.09.2 10. Januar 2010 10.03 Backfire 6. April 2010 2.6.32 Kernel LTS, zusätzliche Hardwareunterstützung „White-Russian“-Versionen
Anfang 2005 begannen - auch durch den Schwung neuer Mitarbeiter - die Arbeiten an einem neuen OpenWrt-Entwicklungszweig, der am 25. Juni 2005 nach einigen Monaten interner Entwicklung in einer ersten experimentellen, nach dem Cocktail White Russian „White Russian RC1“ benannten Version veröffentlicht wurde. White Russian nutzte ein neues von Buildroot2 des uClibc-Projekts abgeleitetes Buildsystem, das jedoch inzwischen mit diesem nur noch wenig gemeinsam hat. Viele der proprietären Programme der ursprünglichen Firmware wurden durch neugeschriebene freie Alternativen ersetzt, wie mtd, ein Programm, um den Flash-Speicher mit einer neuen Firmware zu beschreiben, die WLAN-Chip-Konfigurationsprogramme wlcompat und wificonf und Werkzeuge, um die VLAN-Funktion des internen Switches über das Proc-Dateisystem zu konfigurieren. Durch den Ansatz von OpenWrt, die offiziellen Linuxkernelquellen zu nutzen und nur modulare Patches und Treiber für die Netzwerkgeräte und Chips bereitzustellen, wurde es möglich, auch weitere Geräte neben der WRT54G-Serie unter OpenWrt zu betreiben.
Im März 2006 konfrontierte das OpenWrt-Projekt das kalifornische Softwareunternehmen Sveasoft nach länger anhaltendem Unmut über dessen Softwareveröffentlichungspraxis mit dem Vorwurf, dass dieses entgegen den Bestimmungen der GPL seine von OpenWrt abgeleitete Firmware nicht ebenfalls im Quelltext frei zugänglich machte und entzog ihm nach den entsprechenden Regelungen der GPL das Recht, weiterhin von OpenWrt abgeleitete Software zu vertreiben, bis es der Aufforderung zur Freigabe seiner modifizierten Quelltexte nachkäme. Sveasoft behauptete zunächst, dass die betreffenden Versionen lediglich Vorabversionen für einen kleinen Kreis von Betatestern gewesen seien, und argumentierte später weiter, dass OpenWrt unberechtigterweise Teile von Sveasofts Modifikationen in das OpenWrt-Projekt kopiert habe. Die GPL enthält jedoch keine Ausnahmeregelung für Vorabversionen und sobald von Dritten abgeleitete Werke außerhalb des Unternehmens verteilt werden, müssen diese Modifikationen entweder unter derselben Freizügigkeit freigegeben oder der Vertrieb dieser Software mit sofortiger Wirkung eingestellt werden. Sveasoft machte daraufhin das Angebot, jedem Kunden von Sveasoft auf dessen explizite Anfrage hin den Quelltext der von diesem Kunden benutzten Sveasoftfirmware zuzusenden. Der Konflikt konnte jedoch nicht abschließend gelöst werden.[6][7]
Die letzte veröffentlichte Version des White-Russian-Zweigs war „White Russian 0.9“ am 30. Januar 2007, zu einer Zeit, als die Entwicklung an der Nachfolgerlinie „Kamikaze“ bereits im vollem Gange war.[5] Etliche neue Funktionen dieser Nachfolgerversion werden aber auch als Backport („Rückübertragung“) für „White Russian“ zur Verfügung gestellt, so dass auch Benutzer dieser älteren Versionen diese ebenfalls nutzen können.
„Kamikaze“-Versionen
Während der Entwicklung von White Russian wurde man zunehmend mit einigen Teilen dieser Entwicklungslinie unzufrieden, insbesondere die Konfiguration des Routers über einzelne Variablen in einem extra NVRAM stieß auf Kritik, weswegen man für die angepeilte Version 1.0 von OpenWrt einen neuen Entwicklungszweig mit dem Codenamen „Kamikaze“ mit grundlegenden Veränderungen begann. So läuft die Konfiguration in Kamikaze, wie unter anderen Linuxdistributionen üblich, über einfache Textdateien innerhalb des Ordners /etc. Auch andere Bereiche des Systems wurden komplett überarbeitet bzw. neu entwickelt.
Die erneute zweite Entwicklungslinie vor der Veröffentlichung einer Version 1.0, die im Unixbereich traditionellerweise nicht die erste veröffentlichte Version, sondern die erste Version mit dem ursprünglich beabsichtigten Funktionsumfang darstellt, führte innerhalb des OpenWrt-Projekts zu Streit über den Projektfortgang, so dass sich der Softwareentwickler Waldemar Brodkorb zu einer Abspaltung entschloss und am 31. Mai 2006 zur Gründung des Projekts FreeWRT aufrief. Die Gründe für seine Abspaltung waren eine seiner Ansicht nach schlecht gestaltete, mit veralteter und verstreuter Dokumentation wenig hilfreiche Homepage des OpenWrt-Projekts, unregelmäßige Veröffentlichungen neuer OpenWrt-Versionen, mangelnde projektinterne Kommunikation und sein schlussendlich erfolgter Ausschluss aus OpenWrt.[8]
Am 5. Juni 2007 wurde schließlich die erste stabile Version der Kamikaze-Reihe mit der Versionsnummer 7.06 veröffentlicht. Die Versionsnummer wurde dabei nach dem von der Linuxdistribution Ubuntu eingeführten Schema statt fortwährend zu zählen aus der letzten Stelle des Veröffentlichungsjahres 2007 und des Veröffentlichungsmonats Juni (06) gebildet. Kamikaze 7.06 beinhaltet neben dem neuen Konfigurationsschema über Textdateien ein neugeschriebenes Buildsystem zur Erstellung der Distribution und einzelner neuer Pakete und unterstützt jetzt insgesamt 8 verschiedene Hardware-Plattformen. Daneben vollzog es für alle Plattformen bis auf die mit Broadcom-WLAN-Chipsatz, bei der man aus Stabilitätsgründen noch auf die alten proprietären Broadcomtreiber für den Linuxkernel Version 2.4 angewiesen ist, den Wechsel auf den Linuxkernel in der Version 2.6.[9]
Einen Monat später erschien die Version 7.07. Umfangreiche Überarbeitungen machen sich in besseren WLAN-Treibern, verkürzter Startzeit und besserer Stabilität bemerkbar. Des Weiteren stieg die Zahl der unterstützten Architekturen von acht auf zehn. Version 7.09 behebt 2 Monate später einige aufgetretene Fehler.
Am 4. November 2008 ist der erste Release Candidate der Version 8.09 erschienen. Unter anderem enthält es eine neue Weboberfläche namens LuCI.[10]
„Backfire“-Versionen
Am 3. März 2010 wurde die erste Beta veröffentlicht. Verbesserungen und die Unterstützung von mehr Geräten ist das Ziel. Das endgültige Release ist seit dem 6. April 2010 verfügbar.[11]
Vorteile
Die Firmware selbst bringt nach ihrer Installation nur die elementaren Funktionen mit, die zum Betrieb im Netzwerk nötig sind: Netzwerkunterstützung, WLAN-Access Point, den minimalen DNS-Server dnsmasq, sowie die Möglichkeit, eine PPP-Verbindung herzustellen. Durch die mitgelieferte Paketverwaltung lassen sich aber sehr einfach Funktionen wie VPNs mit OpenVPN oder VoIP mit Asterisk nachrüsten, aber auch weniger netzwerkorientierte Aufgaben wie Audioplayer umsetzen, falls der Router über die entsprechende Hardware verfügt. Durch die von den Entwicklern bereitgestellten Werkzeuge kann man des Weiteren selbst Programme für die OpenWrt-Umgebung erstellen und kompilieren. Im Gegensatz zu den meisten, von den Herstellern mitgelieferten Firmware-Versionen lässt sich OpenWrt vom Anwender komplett selbst konfigurieren, somit kann auch IPv6-Unterstützung im Netzwerk eingerichtet werden.
LuCI
LuCI ist ein Schwesterprojekt das sich ausschließlich damit beschäftigt, eine erweiterbare Weboberfläche für OpenWrt zu schaffen. LuCI basiert auf Lua und ist sehr modular aufgebaut. LuCI lässt sich mit dem Paketmanager opkg leicht installieren und bei Bedarf auch wieder deinstallieren. Es unterstützt i18n und zurzeit sind 17[12] Sprachen verfügbar.
X-Wrt
Zusätzlich zum sehr technisch orientierten Projekt OpenWrt entwickelt das Schwesterprojekt X-Wrt eine erweiterte Weboberfläche mit Namen Webif², um OpenWrt einfach über den Browser statt nur über die Kommandozeile steuern zu können und um somit OpenWrt benutzerfreundlicher zu gestalten.
Die erste Webif-Version „Milestone 1“ wurde vom X-Wrt-Projekt im Oktober 2006 veröffentlicht und in rascher Folge kamen weitere „Meilensteine“ mit schrittweise erweitertem Konfigurationsumfang, verbesserter Internationalisierung der Oberfläche und erweiterter Theme-Unterstützung bis zur Veröffentlichung der aktuellen Version „Milestone 2.75“ am 24. Februar 2007 hinzu. Diese letzte Version ist bislang noch nicht vollständig an das neue Konfigurationsschema der OpenWrt-Kamikaze-Reihe angepasst, weshalb der Einsatz derzeit nur für „White Russian“ Version 0.9 empfohlen wird.
Für den zukünftigen derzeit in der Entwicklung befindlichen „Milestone 3“ ist neben der erweiterten Unterstützung von Kamikaze SSL-Verschlüsselung vorgesehen. Mit „Milestone 4“ soll dann die Anpassung an Kamikaze abgeschlossen sein.[13]
Gargoyle Router Management Utility
Gargoyle Router Management Utility ist genau wie LuCI und X-Wrt eine weitere Weboberfläche.
Derivate
Neben der FreeWRT-Abspaltung gibt es noch einige speziell angepasste Versionen und auf OpenWrt basierende Distributionen, wie Midge,[14] eine speziell auf ADM5120-basierte Router angepasste Variante, PacketProtector,[15] ein um diverse Firewallsoftware wie IDS, IPS, VPN und Antivirenprogramme ergänztes und angepasstes OpenWrt sowie Gargoyle,[16] welches auf seine grafische Oberfläche und ausgefeilte Quota-Regelungen besonderen Wert legt.
Siehe auch
Weblinks
- offizielle Webpräsenz (Englisch)
- Homepage des X-Wrt-Projekts (Englisch)
- LuCI-Homepage (Englisch)
Einzelnachweise
- ↑ http://wiki.openwrt.org/de/about/toolchain
- ↑ Andrew Miklas: Linksys WRT54G and the GPL. Auf: Linux Kernel Mailing List. 7. Juni 2003, abgerufen 12. Juli 2007
- ↑ Jonathan Corbet: LinkSys and binary modules. In: LWN.net. 14. Oktober 2003, abgerufen am 12. Juli 2007
- ↑ Harald Welte: Companies violating the GPL of software under my copyright. In: Harald Welte's blog. 3. November 2003, abgerufen am 12. Juli 2007
- ↑ a b wiki.openwrt.org: OpenWrtDocs/About, abgerufen am 12. Juli 2007
- ↑ Pro-Linux: Lizenzstreit zwischen OpenWrt und Sveasoft. 15. März 2006, abgerufen 13. Juli 2007
- ↑ Jonathan Corbet: Sveasoft and the GPL. In: LWN.net. 5. April 2006, abgerufen 13. Juli 2007
- ↑ Julius Stiebert: Fork der freien Router-Firmware OpenWrt geplant. In: Golem.de. 31. Mai 2006, abgerufen 13. Juli 2007
- ↑ Openwrt.org: Kamikaze 7.06 release notes. 5. Juni 2007, abgerufen 16. Juli 2007
- ↑ Openwrt.org: Kamikaze 8.09 release notes. 4. November 2008, abgerufen 8. November 2008 (englisch)
- ↑ Openwrt.org: Backfire 10.03 release notes. abgerufen 9. April 2010 (englisch)
- ↑ http://i18n.luci.subsignal.org/
- ↑ X-Wrt: X-Wrt - OpenWrt for end users. abgerufen 16. Juli 2007
- ↑ midge.vlad.org.ua abgerufen 16. Juli 2007
- ↑ PacketProtector.org abgerufen 16. Juli 2007
- ↑ gargoyle-router.com abgerufen 20. Juni 2011
Kategorien:- Freies Betriebssystem
- Linux-Distribution für Netzwerkdienst
- Firmware
Wikimedia Foundation.