OpenWrt

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Bildschirmfoto
Openwrt-login.svg
OpenWrt Backfire 10.03.1-RC5 Login Screen
Basisdaten
Entwickler OpenWrt Entwickler
Sprache(n) multilingual (22 Sprachen[1])
Aktuelle Version 14.07 (Barrier Breaker)[2]
(2. Oktober 2014)
Aktuelle Vorabversion (Chaos Calmer)[3]
Abstammung GNU/Linux
↳ OpenWrt
Kernel monolithisch (Linux)
Chronik Erste Version
White Russian (0.9)
Kamikaze (7.06, 8.09)
Backfire (10.03)
Attitude Adjustment (12.09)
Barrier Breaker (14.07)
Architekturen alle erdenklichen[4]
Lizenz GPL und andere Lizenzen
Website https://openwrt.org
Die Weboberfläche LuCI Version 0.10 Paketverwaltung auf OpenWrt trunk.

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 beinhalteten im Oktober 2013 mehr als 3.700 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. OpenWrt Buildroot, das Werkzeug zum Erstellen eigener Images, ist ein stark modifiziertes Buildroot.

Grundfunktionalität[Bearbeiten]

Die zum Herunterladen angebotene Basis-Entwickler-Firmware im Originalzustand, ohne Modifikationen ("Vanilla"), bringt nach ihrer Installation alle 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 sehr einfach Funktionen wie VPNs mit OpenVPN oder VoIP mit Asterisk nachrüsten, außerdem sind auch exotischere Aufgaben wie Audioplayer umgesetzt. Durch die von den Entwicklern bereitgestellten Werkzeuge kann man 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 umfassend selbst konfigurieren, somit kann auch IPv6-Unterstützung im Netzwerk eingerichtet werden. Sämtliche in der Linux-Welt existierenden Werkzeuge zur Network congestion avoidance stehen zur Verfügung.

Bedienung[Bearbeiten]

Auf Geräten ohne Bildschirm und Tastatur wird OpenWrt per Kommandozeile von einem über Netzwerk per telnet oder SSH verbundenen Computer aus bedient. Zur Verwaltung stehen aber auch mehrere Weboberflächen zur Verfügung: LuCI, X-Wrt und Gargoyle. Per Webbrowser können alle üblichen Einstellungen vorgenommen werden, beispielsweise Portweiterleitungen und DDNS-Einstellungen. Auch die Darstellung von Statistiken ist möglich. Eigens für Geräte mit Bildschirmen wurde das X Window System portiert.

LuCI[Bearbeiten]

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 im Oktober 2013 sind 22[1] Sprachen verfügbar.

X-Wrt[Bearbeiten]

Zusätzlich zum sehr technisch orientierten Projekt OpenWrt entwickelt das Schwesterprojekt X-Wrt eine erweiterte Weboberfläche mit Namen Webif².

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.[5] Nach Auskunft des Hauptentwicklers Jeremy Collake im November 2012 wird das Projekt X-Wrt nicht mehr aktiv fortgeführt.

Gargoyle Router Management Utility[Bearbeiten]

Gargoyle Router Management Utility ist ebenso wie LuCI und X-Wrt eine weitere Weboberfläche.

Geschichte[Bearbeiten]

Versionsgeschichte[Bearbeiten]

Version Codename Veröffentlichung Revisionsnummer[6] Bemerkungen / Neuerungen
Ältere Version; nicht mehr unterstützt: - Stable Release 2004 Erste Version
Ältere Version; nicht mehr unterstützt: RC 5 White Russian 26. März 2006 r3494
Ältere Version; nicht mehr unterstützt: RC 6 7. November 2006 r5460
Ältere Version; nicht mehr unterstützt: 0.9 3. Februar 2007 r6268
Ältere Version; nicht mehr unterstützt: 7.06 Kamikaze 5. Juni 2007 r7428 Neuentwicklung der Konfigurationsstruktur und anderer Bereiche
Ältere Version; nicht mehr unterstützt: 7.07 26. Juli 2007 erweiterte Hardware-Unterstützung
Ältere Version; nicht mehr unterstützt: 7.09 30. September 2007 r8679 Fehlerbehebungen für 7.07
Ältere Version; nicht mehr unterstützt: 8.09 19. Februar 2009 r14547 Paket-Aktualisierungen, Fehlerbehebungen, neue Weboberfläche, zusätzliche Hardwareunterstützung
Ältere Version; nicht mehr unterstützt: 8.09.2 10. Januar 2010 r18961
Ältere Version; nicht mehr unterstützt: 10.03 Backfire 7. April 2010 r20742 Linux-Kernel 2.6.32 LTS[7], zusätzliche Hardwareunterstützung, Bugfixes. Neue uClibc-Version (0.9.30).[8]
Ältere Version; nicht mehr unterstützt: 10.03.1 21. Dezember 2011 r29594 Linux Kernel 2.6.32 LTS[7], zusätzliche Hardwareunterstützung, Bugfixes
Ältere Version; nicht mehr unterstützt: 12.09 Attitude Adjustment 25. April 2013 r36088 Linux Kernel 3.3 mit CoDel siehe Network congestion avoidance, zusätzliche Hardwareunterstützung, diverse Verbesserungen der Firewall-Funktionalität und neuere WLAN-Treiber, Fehlerkorrekturen. Neue uClibc-Version (0.9.33.2). Nicht mehr unterstützt wird das Broadcom target (brcm-2.4).[9]
Aktuelle Version: 14.07 Barrier Breaker 2. Oktober 2014 r42625 Linux Kernel 3.10, verbesserte und stark erweiterte IPv6-Unterstützung, procd als neues Init-, Hotplug- und Event-System[2]
Zukünftige Version: - Chaos Calmer Ende 2014 Linux Kernel 3.14 oder neuerer LTS-Kernel
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Entstehung[Bearbeiten]

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.[10][11] 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.[12][13] 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.[14] 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 „stabile Release“[Bearbeiten]

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.[15]

„White-Russian“-Versionen[Bearbeiten]

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.[16][17]

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.[15] 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[Bearbeiten]

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“, benannt nach einem alkoholischen Cocktail aus Wodka, Cointreau und Zitronensaft, 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 umfassend ü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 aktuell nicht mehr weiterentwickelten 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.[18]

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 neu geschriebenes 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.[19]

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. Auch stieg die Zahl der unterstützten Architekturen von acht auf zehn. Version 7.09 behob zwei 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.[20]

„Backfire“-Versionen[Bearbeiten]

OpenWRT-'Backfire' ist nach einem alkoholischen Cocktail aus Kaffeelikör, Irish Cream, und Wodka benannt. Am 3. März 2010 wurde die erste Beta[21]-Ausgabe der OpenWRT "Backfire"-Version veröffentlicht. Allgemeine Verbesserungen und die Unterstützung von mehr embedded Geräten, Routern, Smartphones ist das Ziel für die gesamte Linie. Das endgültige "Backfire"-Release 10.03 ist seit dem 6. April 2010 verfügbar[22]. Seit Dezember 2011 ist die stabile und verbesserte Version 'Backfire 10.03.1'[23][24] die aktuelle Version.

„Attitude Adjustment“[Bearbeiten]

Am 25. April 2013 wurde die neue Version 12.09 Attitude Adjustment freigegeben. Nicht mehr unterstützt wird die veraltete Portierung mit Broadcom 47xx-Boards basierend auf dem 2.4 Linux-Kernel Broadcom target (brcm-2.4). Geräte mit nur 16 MB RAM sind für die neue OpenWrt-Version nicht mehr geeignet. Es wird für Geräte der Chipsatzfamilie Broadcom bcm47xx empfohlen, OpenWRT-'Backfire' mit brcm-2.4 zu benutzen.[9] Die erste Vorabversion der nächsten Version mit dem Namen Barrier Breaker wurde einen Tag später veröffentlicht.

Derivate[Bearbeiten]

Neben der FreeWRT-Abspaltung gibt es noch einige speziell angepasste Versionen und auf OpenWrt basierende Distributionen, wie Midge,[25] eine speziell auf ADM5120-basierte Router angepasste Variante, PacketProtector,[26] ein um diverse Firewallsoftware wie IDS, IPS, VPN und Antivirenprogramme ergänztes und angepasstes OpenWrt sowie Gargoyle,[27] welches auf seine grafische Oberfläche und ausgefeilte Quota-Regelungen besonderen Wert legt. Fast alle Firmware-Pakete, die von einzelnen Freifunk-Communities angeboten werden, bauen auf OpenWrt auf. Eine weitere Abspaltung ist Linino für den Arduino YUN und Linino One.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

 Commons: OpenWrt – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. a b LuCI Translation Portal. 2013, abgerufen am 6. Oktober 2013.
  2. a b OpenWrt BarrierBreaker 14.07. In: openwrt.org. 2. Oktober 2014, abgerufen am 4. Oktober 2014.
  3. https://openwrt.org/
  4. http://wiki.openwrt.org/de/about/toolchain
  5. X-Wrt: X-Wrt - OpenWrt for end users. abgerufen 16. Juli 2007
  6. OpenWrt source tags. In: https://dev.openwrt.org. 2013, abgerufen am 17. Oktober 2013.
  7. a b LTS = Langzeitunterstützung (engl. für 'long term support')
  8. Meilenstein Backfire 10.03. In: https://dev.openwrt.org. 7. April 2010, abgerufen am 17. Oktober 2013.
  9. a b Release Notes Attitude Adjustment 12.09. In: openwrt.org. 25. April 2013, abgerufen am 6. Oktober 2013.
  10. The Open Source WRT54G Story von Aaron Weiss (8. November 2005)
  11. Andrew Miklas: Linksys WRT54G and the GPL. Auf: Linux Kernel Mailing List. 7. Juni 2003, abgerufen 12. Juli 2007
  12. Jonathan Corbet: LinkSys and binary modules. In: LWN.net. 14. Oktober 2003, abgerufen am 12. Juli 2007
  13. Linksys Releases GPLed Code for WRT54G auf slashdot (Juli 2003)
  14. Harald Welte: Companies violating the GPL of software under my copyright. In: Harald Welte's blog. 3. November 2003, abgerufen am 12. Juli 2007
  15. a b wiki.openwrt.org: OpenWrtDocs/About, abgerufen am 12. Juli 2007
  16. Pro-Linux: Lizenzstreit zwischen OpenWrt und Sveasoft. 15. März 2006, abgerufen 13. Juli 2007
  17. Jonathan Corbet: Sveasoft and the GPL. In: LWN.net. 5. April 2006, abgerufen 13. Juli 2007
  18. Julius Stiebert: Fork der freien Router-Firmware OpenWrt geplant. In: Golem.de. 31. Mai 2006, abgerufen 13. Juli 2007
  19. Openwrt.org: Kamikaze 7.06 release notes. 5. Juni 2007, abgerufen 16. Juli 2007
  20. Openwrt.org: Kamikaze 8.09 release notes. 4. November 2008, abgerufen 8. November 2008 (englisch)
  21. Die Maturität der veröffentlichten Software steigt im GNU/Linux-Umfeld typischerweise von der ersten Alpha-Version über die Beta-Version zu den "Release-Candidates" (RC, engl. für Ausgabe-Kandidaten) bis zur fertigen Version ("final release") an.
  22. Openwrt.org: Backfire 10.03 release notes. abgerufen 9. April 2010 (englisch)
  23. Download-Index von /backfire/10.03.1/
  24. Backfire 10.03.1 final 21. Dezember 2011 - The OpenWrt Release Team would like to announce the final Backfire Interim Release 1 (10.03.1).
  25. midge.vlad.org.ua abgerufen 16. Juli 2007.
  26. PacketProtector.org abgerufen 16. Juli 2007.
  27. gargoyle-router.com abgerufen 20. Juni 2011.