Die neue, bedeutende Version des OpenWrt-Distributionspakets 21.02.0 wurde vorgestellt, das für den Einsatz in verschiedenen Netzwerkgeräten wie Routern, Switches und Access Points konzipiert ist. OpenWrt unterstützt zahlreiche Plattformen und Architekturen und bietet ein Build-System, das eine einfache und bequeme Cross-Compilation ermöglicht, einschließlich der Integration verschiedener Komponenten in den Build, was es ermöglicht, eine an spezifische Aufgaben angepasste, fertige Firmware oder Image mit dem gewünschten Satz vorinstallierter Pakete zu erstellen. Die Builds wurden für 36 Zielplattformen erstellt.
Folgende Änderungen in OpenWrt 21.02.0 sind zu vermerken:
- Die Mindestanforderungen an die Hardware wurden erhöht. Aufgrund der Aktivierung zusätzlicher Linux-Kernel-Subsysteme erfordert OpenWrt nun standardmäßig ein Gerät mit 8 MB Flash und 64 MB RAM. Bei Bedarf kann jedoch weiterhin ein eigenes eingeschränktes Build erstellt werden, das auf Geräten mit 4 MB Flash und 32 MB RAM betrieben werden kann, wobei die Funktionalität eines solchen Builds jedoch eingeschränkt und die Stabilität nicht garantiert ist.
- Im Standardpaket sind Pakete zur Unterstützung der Wireless-Security-Technologie WPA3 enthalten, die nun standardmäßig sowohl im Client-Modus als auch beim Erstellen eines Access Points verfügbar ist. WPA3 bietet Schutz vor Passwort-Ratenangriffen (es verhindert das Knacken von Passwörtern im Offline-Modus) und nutzt das Authentifizierungsprotokoll SAE. Die Verwendung von WPA3 ist in den meisten Treibern für drahtlose Geräte gewährleistet.
- Im Standardpaket ist die Unterstützung für TLS und HTTPS standardmäßig aktiviert, die es ermöglicht, auf das Web-Interface LuCI über HTTPS zuzugreifen und Utilities wie wget und opkg zur Informationsabrufung über verschlüsselte Kommunikationskanäle zu verwenden. Die Server, über die die über opkg heruntergeladenen Pakete verbreitet werden, sind ebenfalls standardmäßig auf die Bereitstellung von Informationen über HTTPS umgestellt. Die zur Verschlüsselung verwendete Bibliothek mbedTLS wurde durch wolfSSL ersetzt (bei Bedarf können die Bibliotheken mbedTLS und OpenSSL manuell installiert werden, die weiterhin als Optionen zur Verfügung stehen). Um die automatische Weiterleitung auf HTTPS im Web-Interface zu konfigurieren, wurde die Option „uhttpd.main.redirect_https=1“ angeboten.
- Der grundlegende Support für das DSA (Distributed Switch Architecture) Kern-Subsystem wurde implementiert, das Werkzeuge zur Konfiguration und Verwaltung von Kaskaden verbundener Ethernet-Switches bereitstellt, wobei Mechanismen verwendet werden, die für die Konfiguration herkömmlicher Netzwerkinterfaces (iproute2, ifconfig) genutzt werden. DSA kann zur Konfiguration von Ports und VLANs verwendet werden, anstelle des zuvor angebotenen Werkzeugs swconfig, jedoch unterstützen noch nicht alle Switch-Treiber DSA. In dieser Version wird DSA für die Treiber ath79 (TP-Link TL-WR941ND), bcm4908, gemini, kirkwood, mediatek, mvebu, octeon, ramips (mt7621) und realtek eingesetzt.
- Änderungen wurden am Syntax der Konfigurationsdateien vorgenommen, die in /etc/config/network platziert sind. Im Block „config interface“ wurde die Option „ifname“ in „device“ umbenannt, und im Block „config device“ wurden die Optionen „bridge“ und „ifname“ in „ports“ umbenannt. Für neue Installationen werden jetzt separate Dateien mit Geräteeinstellungen (Layer 2, Block „config device“) und Netzinterfaces (Layer 3, Block „config interface“) generiert. Um die Abwärtskompatibilität zu gewährleisten, bleibt die Unterstützung des alten Syntax erhalten, d.h. zuvor erstellte Einstellungen erfordern keine Änderungen. Dabei wird im Web-Interface bei Erkennung des alten Syntax ein Vorschlag zur Migration auf den neuen Syntax angezeigt, der erforderlich ist, um die Einstellungen über das Web-Interface zu bearbeiten.
Beispiel des neuen Syntax: config device option name 'br-lan' option type 'bridge' option macaddr '00:01:02:XX:XX:XX' list ports 'lan1' list ports 'lan2' list ports 'lan3' list ports 'lan4' config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '60' config device option name 'eth1' option macaddr '00:01:02:YY:YY:YY' config interface 'wan' option device 'eth1' option proto 'dhcp' config interface 'wan6' option device 'eth1' option proto 'dhcpv6'
Analog zu den Konfigurationsdateien in /etc/config/network wurden die Feldnamen in board.json von „ifname“ auf „device“ geändert.
- Eine neue Plattform „realtek“ wurde hinzugefügt, die es ermöglicht, OpenWrt auf Geräten mit einer großen Anzahl von Ethernet-Ports zu verwenden, wie z.B. Ethernet-Switches von D-Link, ZyXEL, ALLNET, INABA und NETGEAR.
- Neue Plattformen bcm4908 und rockchip für Geräte mit Broadcom BCM4908 und Rockchip RK33xx SoCs wurden hinzugefügt. Bei zuvor unterstützten Plattformen wurden Fehler in der Unterstützung von Geräten behoben.
- Die Unterstützung der ar71xx-Plattform wurde eingestellt; stattdessen sollte die ath79-Plattform verwendet werden (für Geräte, die an ar71xx gebunden sind, wird empfohlen, OpenWrt von Grund auf neu zu installieren). Auch die Unterstützung der cns3xxx-Plattform (Cavium Networks CNS3xxx), rb532 (MikroTik RB532) und samsung (Samsung TQ210) wurde eingestellt.
- Die ausführbaren Dateien der Anwendungen, die zur Verarbeitung von Netzwerkverbindungen eingesetzt werden, sind im PIE-Modus (Position-Independent Executables) mit vollständiger Unterstützung der Adressraumrandomisierung (ASLR) erstellt worden, um die Ausnutzung von Schwachstellen in solchen Anwendungen zu erschweren.
- Beim Erstellen des Linux-Kernels sind standardmäßig Optionen zur Unterstützung von Containerisolationstechnologien aktiviert, die es ermöglichen, im OpenWrt-Umfeld das LXC-Toolkit und den procd-ujail-Modus auf den meisten Plattformen zu nutzen.
- Es wurde die Möglichkeit geschaffen, mit Unterstützung für das SELinux-Zugriffskontrollsystem zu bauen (standardmäßig deaktiviert).
- Die Paketversionen wurden aktualisiert, darunter wurden die Versionen musl libc 1.1.24, glibc 2.33, gcc 8.4.0, binutils 2.34, hostapd 2020-06-08, dnsmasq 2.85, dropbear 2020.81, busybox 1.33.1 angeboten. Der Linux-Kernel wurde auf Version 5.4.143 mit dem Portieren des Wireless-Stacks cfg80211/mac80211 aus dem Kernel 5.10.42 aktualisiert. VPN Wireguard.
Quelle: opennet.ru
