OpenWrt (von „offener, drahtloser Empfänger/Sender“) ist eine Linux-Distribution für eingebettete Systeme wie CPE-Router, Smartphones (z. B. Neo FreeRunner) oder Pocket-Computer (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 August 2020 mehr als 15.000 Software-Pakete. Mit diesen kann der Router umfassend konfiguriert und um viele Funktionen erweitert werden, die von der Firmware des Geräteherstellers nicht unterstützt werden. OpenWrt Buildroot, das Werkzeug zum Erstellen eigener Images, ist ein stark modifiziertes Buildroot.

2024 wurde der in Teilen nach Open-Hardware-Kriterien entwickelte Wi-Fi-6-Router OpenWRT One vorgestellt, der mit Banana Pi und MediaTek entwickelt und gefertigt wird.

Grundfunktionalität

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 Vermeidung von Netzwerküberlastung stehen zur Verfügung.

Bedienung mini|Die Weboberfläche LuCI mit Paketverwaltung Auf Geräten ohne Bildschirm und Tastatur wird OpenWrt von einem im Netzwerk verbundenen Rechner aus über die Befehlszeile mittels telnet oder SSH bedient. Einstellungen werden dabei im Unified Configuration Interface (UCI) vorgenommen. Zur leichteren Verwaltung steht aber auch die grafische Weboberfläche LuCI zur Verfügung. Über einen Webbrowser können damit 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 und uHTTPd

LuCI ist ein im Freifunk-UmfeldLuCI – Seitenabschnitt im Freifunk-Wiki-Glossar; letzte Änderung am 18. Oktober 2015, abgerufen am 14. Januar 2016 – unter der sogenannten Apache-LizenzApache License (englisch) – Ausgabe 2.0 (Stand: Januar 2004) auf GitHub; abgerufen am 14. Januar 2016 – entwickeltes Schwesterprojekt für eine erweiterbare Weboberfläche.

Hierbei kommt vornehmlich uHTTPd als Webserver zum Einsatz. uHTTPd ist single-threaded, unterstützt in-process Ausführung von Lua-Skripten und sicheren Zugriff via TLS.

Die Oberfläche ist in der Sprache Lua geschrieben und zudem sehr modular aufgebaut. LuCI lässt sich mit dem Paketverwalter opkg leicht einrichten (installieren) und bei Bedarf auch wieder entfernen (deinstallieren). Sie ist in 43 Sprachen verfügbar und unterstützt mit i18n die Erweiterung weiterer Sprachen. (Stand: Februar 2025)

Für das Release „White Russian“ 0.9 war damals eine weitere Oberfläche verfügbar: X-Wrt. Die Entwicklung wurde nach Auskunft des Hauptentwicklers Jeremy Collake im November 2012 während der Anpassung an „Kamikaze“ eingestellt.

Geschichte

Versionsgeschichte

Version Veröffentlichung Revisions-Nr. Bemerkungen / Neuerungen Codename 2004 Erstausgabe r3494 White Russian r5460 r6268 r7428 Neuentwicklung der Konfigurationsstruktur und anderer Bereiche Kamikaze erweiterte Hardware-Unterstützung r8679 Fehlerbehebungen für 7.07 r14547 Paket-Aktualisierungen, Fehlerbehebungen, neue Weboberfläche, zusätzliche Hardwareunterstützung r18961 r20742 Linux-Kernel 2.6.32 LTS,LTS = Langzeitunterstützung (englisch für 'long term support') zusätzliche Hardwareunterstützung, Bugfixes. Neue uClibc-Version (0.9.30). Backfire r29594 Linux-Kernel 2.6.32 LTS, zusätzliche Hardwareunterstützung, Bugfixes 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). Attitude Adjustment r42625 Linux-Kernel 3.10, verbesserte und stark erweiterte IPv6-Unterstützung, procd als neues Init-, Hotplug- und Event-System Barrier Breaker r46767 Linux-Kernel 3.18, neue Sicherheitsmerkmale z. B. Unterstützung von Jails, verbesserte Netzwerkunterstützung z. B. neue oder verbesserte Unterstützung für viele UMTS/LTE-Modems (bspw. MBIM, QMI, NCM, …), Smart Queue Management (SQM), Geräte und Gerätetreiber z. B. neues Subtarget für Mediatek 11ac SoC (mt7621), neues Target für Broadcom ARM BCM47xx/53xx-Chips (bcm53xx), Raspberry-Pi-2-Unterstützung (brcm2708), Unterstützung des BCM6318 und der BCM63268-Familie (brcm63xx). Chaos Calmer r48532 Linux-Kernel 3.18.23, zusätzliche Hardwareunterstützung, Bugfixes. r7188 Linux-Kernel 4.9.111 oder 4.14.52 (abhängig von Architektur), Spectre und Meltdown-Patches für ×86 und weitere Bugfixes – r7258 Linux-Kernel 4.9.120/4.14.63, Bugfixes – r7676 Linux-Kernel 4.9.152/4.14.95, Sicherheitsaktualisierungen – r7808 Linux-Kernel 4.9.184/4.14.131, Sicherheitsaktualisierungen – r7897 Linux-Kernel 4.9.198/4.14.151, Sicherheitsaktualisierungen – r7957 Linux-Kernel 4.9.208/4.14.162, Sicherheitsaktualisierungen – r7976 Linux-Kernel 4.9.211/4.14.167, Sicherheitsaktualisierungen – r7989 Linux-Kernel 4.9.214/4.14.171, Sicherheitsaktualisierungen – r10860 Linux-Kernel 4.14.162 (einheitlich für alle Architekturen), Beginn der Migration des Targets ar71xx zu Target ath79, Unterstützung von WPA3. – r10911 Linux-Kernel 4.14.167, Sicherheitsaktualisierungenopenwrt.org – r10947 Linux-Kernel 4.14.171, Sicherheitsaktualisierungenopenwrt.org – r11063 Linux-Kernel 4.14.180, Sicherheitsaktualisierungenopenwrt.org – r11208 Linux-Kernel 4.14.195, Sicherheitsaktualisierungenopenwrt.org – r11257 Linux-Kernel 4.14.209, Sicherheitsaktualisierungenopenwrt.org – r11278 Linux-Kernel 4.14.215, Sicherheitsaktualisierungenopenwrt.org – r11306 Linux-Kernel 4.14.221, Sicherheitsaktualisierungenopenwrt.org – r11364 Linux-Kernel 4.14.241, Sicherheitsaktualisierungenopenwrt.org – r16279 Linux-Kernel 5.4.143, WPA3, TLS und https nun Standard für Konfiguration des Gerätes, Beginn Umstellung von swconfig auf DSA für einige Architekturen, Minimalanforderungen für Geräte erhöht: 8 MB Flash und 64 MB RAM, Support für weitere Geräte hinzugefügt – r16325 Linux-Kernel 5.4.154, Bugfixes, Updates – r16495 Linux-Kernel 5.4.179, Bugfixes, Updates – r16554 Linux-Kernel 5.4.188, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r16685 Linux-Kernel 5.4.215, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r16688 Security fix – r16842 Linux-Kernel 5.4.238, Security- und Bugfixes, Updates – r16847 Security- und Bugfixes, Update End of Support für OpenWRT 21.02.xx – r19685 Linux-Kernel 5.10.138, Dark Mode für LuCi, Firewall verwendet nftables statt iptables, Umstellung auf DSA für drei Architekturen fortgeführt, Support für 180 weitere Geräte hinzugefügt, Anpassung für Jahr-2038-Problem – r19777 Linux-Kernel 5.10.146, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r19803 Security- und Bugfixes, Updates, Support für ZyXEL NWA50AX hinzugefügt – r20028 Linux-Kernel 5.10.161, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt und verbessert – r20123 Linux-Kernel 5.10.176, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r20134 Security- und Bugfixes, Updates, Support für einige Geräte verbessert – r23497 erster Freigabe der stabilen Version OpenWrt 23.05. Support für 200 weitere Geräte wurde hinzugefügt. Z. B. für Qualcomm IPQ807x Wifi 6, HiFive RISC-V, Mediatek Filogic 830 und 630 SoCs. VDSL support für AVM FRITZ!Box 7530; wechsel der Standard-Kryptobibliothek von wolfssl zu mbedtls. Unterstützung für in Rust geschriebene OpenWRT Pakete – r23630 erster Service-Release für OpenWrt 23.05. Bugfixes und Updates von Core-Komponenten z. B. auf Linux-Kernel 5.15.137, außerdem wurde der Support für weitere Geräte wie z. B. ASUS RT-AC3100 hinzugefügt Anmerkung: Die Version OpenWrt 23.05.1 wurde nie offiziell veröffentlicht, da im zugehörigen Freigabe-Verfahren Fehler entdeckt wurden. – r23809 Service Release für OpenWrt 23.05. Security Fixes und Updates z. B. Linux-Kernel 5.15.150. Support für weitere Geräte wie z. B. GL.iNet GL-MT6000 hinzugefügt. – r24012 Service Release für OpenWrt 23.05. Security Fixes und Updates z. B. Linux-Kernel 5.15.162. Support für weitere Geräte wie z. B. Huawei AP5030DN hinzugefügt. – r24106 Service Release für OpenWrt 23.05. Security Fixes und Updates z. B. Linux-Kernel 5.15.167. Support für einige Geräte verbessert. – r24232 Service Release für OpenWrt 23.05. Updates z. B. Linux-Kernel 5.15.189. Support für einige Geräte verbessert. Support-Ende für 23.05 – r28427 Linux-Kernel 6.6.73, Unterstützung für Wifi 6 verbessert und erste Unterstützung für Wifi 7, TLS 1.3 standardmäßig aktiviert, Support für weitere Geräte wie z. B. OpenWrt One hinzugefügt – r28597 Linux-Kernel 6.6.86, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r28739 Linux-Kernel 6.6.93, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r28872 Linux-Kernel 6.6.104, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r28959 Linux-Kernel 6.6.110, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r29087 Linux-Kernel 6.6.119, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r29141 Linux-Kernel 6.6.127, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r29197 Linux-Kernel 6.6.141, Security- und Bugfixes, insbesondere für Copy Fail und Dirty Frag – r29233 Linux-Kernel 6.6.144, Security- und Bugfixes End of Life im September 2026 – r32713 Linux-Kernel 6.12.71, apk löst opkg als Packetmanager ab, Systemupgrade kann nun standardmäßig über GUI durchgeführt werden – r32768 Linux-Kernel 6.12.74, Security- und Bugfixes, Updates, Support für weitere Geräte hinzugefügt – r32802 Linux-Kernel 6.12.74, Security- und Bugfixes – r32912 Linux-Kernel 6.12.85, Security- und Bugfixes, insbesondere für Copy Fail – r32933 Linux-Kernel 6.12.87, Security- und Bugfixes, insbesondere für "Dirty Frag", Support für weitere Geräte hinzugefügt – r33051 Linux-Kernel 6.12.94, Security- und Bugfixes, Support für weitere Geräte hinzugefügt –

Entstehung