Großes Release 20171211 auf LEDE

Moin Moin Leute,

 

Es ist wieder soweit wir haben eine neue Firmware gebaut. Diesmal handelt es sich um ein großes Rundum-Update.
Für dieses Update gibt es allerdings ein paar Dinge zu beachten. Falls ihr zu irgendwelche Punkten fragen habt: Mail an die Info Adresse.

 

Erster wichtiger Hinweis

Ältere Firmware Versionen sollten vorher auf Version 20170822 [11]  upgraden, um möglichen Problemen vorzubeugen. Router, die den autoupdater an haben, sollten also bereits auf 20170822 sein und updaten somit auch automatisch auf die Version 20171211. Insbesondere gibt es ein Problem in allen Gluonversionen vor 2016.2.7, welches die x86 Systeme betrifft. Diese verlieren ihre Konfiguration, wenn sie auf Gluon 2017.1.x updaten. Ältere Firmwareversionen sollten vorher auf 20170822 [11] upgraden, bevor diese 20171211 installieren. Wer den autoupdater deaktiviert hat, kann mit folgendem Befehl automatich updaten.
autoupdater -f
Der autoupdater sorgt dafür, dass alle Router zunächst mal auf  Version 20170822 (Gluon 2016.2.7) und erst von dort dann weiter auf die 20171211 (Gluon 2017.1.4). Auch wenn später noch Router mit noch älteren Versionen aus dem Schrank geholt werden, updaten die zuerst einmal auf die 20170822.

 

Zweiter wichtiger Hinweis

Für alle, die Setups mit PoE-Passthrough betreiben. Wenn ihr auf Nummer sicher gehen wollt, dass alle eure PoE-Passthrough Geräte das Ausrollen der Firmware heile überstehen, solltet ihr dort, wo PoE-Passthrough aktiviert ist, sicherstellen, dass _nicht_ genau dann vorne in der PoE-Kaskade ein reboot stattfindet, wenn weiter hinten geflasht wird. Mit anderen Worten es sollte genug Zeit nach dem Update der hinteren Router vergangen sein, bevor die vorderen updaten. Die eleganteste Möglichkeit hierzu ist wohl, die Minuten der cronjobs auf den einzelnen Routern entsprechend anzupassen. Hierzu mit vi in der /usr/lib/micron.d/autoupdater die erste Spalte bearbeiten. Danach noch /etc/init.d/micrond reload ausführen. Diese variante ist allerdings nicht update fest und ist somit beim nächsten update nicht mehr exsistent!

 

Alternativ kann man den Autoupdater deaktivieren und das Update zu einem Zeitpunkt händisch ausführen, wenn sicher ist, dass die per PoE-Passthrough betriebenen Geräten das Update bereits installiert haben. Folgender Befehl tut das:

 

Um zu prüfen das PoE-Passthrough aktiv ist. Wenn der zurück gelieferte wert 1 ist, ist es aktiv.

uci get system.gpio_switch_poe_passthrough.value
Dann könnt ihr mit folgendem Befehl den autoupdater ausschalten.

uci set autoupdater.settings.enabled='0'
uci commit autoupdater
Ob und welcher Aufwand sich lohnt muss jede/r selbst entscheiden. Das bricken eines Routers kann mit einer gewissen Warscheinlichkeit passieren, muss aber nicht.

 

Dritter wichtiger Hinweis

Ein potentielles Problem betrifft die meisten Virtuellen Maschinen. Die Gluon 2017.1.x images sind größer als die 2016.2.x images. Dies betrifft die x86 Architektur. Wenn deine Festplatte auf 2016.2.x images basiert, muss diese auf 273MB order größer vergrößert werden. Dies solltest du vor den update auf 20171211 machen! Der Befehl für qemu wäre z.b. folgender:

qemu-img resize $IMAGE 273MB

Basisdaten:
Folgende Gluon spezifischen Änderungen gab es unter anderen:

 

  • Gluon basiert nun auf LEDE anstelle von OpenWRT welches stark veraltet war/ist. Die LEDE basis von Gluon ist nun v17.01.4. Welches u.a. Stabilisierung-Verbesserungen, security fixes und einige Updates enthält. (Changelog findet sich hier ) v17.01 [0], v17.01.1 [1], v17.01.2 [2], v17.01.3 [3] v17.01.4 [4].
  • Der Kernel wurde von 3.18.x auf v4.4.93 geupgraded.
  • Das Gluon build system wurde vereinfacht und einige hacks die für OpenWRt notwendig waren wurden entfernt.
  • Das opkg repo enthält jetzt auch Architektur spezifischen Pakete.
  • Das deaktivieren von batman-adv auf einem Netzwerk Interface hat vorher teilweise einen kernel crash verursacht. Z.B. während eines sysupgrade Prozesses. Diese Problem ist nun behoben (#680).
  • Eine race condition im Netzwerk setup scripts konnte zu unvollständigen Konfigurationen führen (#905). Der fix behebt außerdem das Hängenbleiben von WLAN und VPN losen Geräten.
  • Einige Änderungen im WLAN stack von LEDE haben die Stabilität vom ath9k Treiber verbessert (#605).
  • Ein neues Feature ist der DNS cache für clients (#1000). Dieses kann das Nutzer Erlebnis verbessern (#1000). Siehe dazu auch [5].
  • batman-adv wurde auf Version 2017.1 geupdated [6].
  • GCC 4.8 oder neuer wird jetzt zum bauen benötigt.
  • Support für tunneldigger mesh VPN
  • Ein bug in einigen batman-adv Versionen zuvor kann zu einer großen Anzahl von Management traffic führen. Das batman-adv multicast optimization wurde vorübergehend deaktiviert um das Problem zu umgehen. Multicast optimizations wird wieder eingeschaltet sobald das Management traffic Problem behoben ist.
  • batman-adv gw_mode ist nun Upgrade fest (#1196). Das kann nützlich sein wenn man z.b. einen Gluon Router an einen Router mit DHCP hängt, muss der gw_mode gesetzt sein um batman-adv als server laufen zu lassen.
  • Es gibt jetzt die Möglichkeit die batman-adv Algorithmen (BATMAN IV or BATMAN V) in der site.conf zu konfigurieren (#1185). BATMAN V ist nach wie vor nicht gut getestet. Diese Option ermöglichst es BATMAN V basierte test meshes aufzubauen.
  • dnsmasq wurde auf v2.78 upgegraded um folgende bugs zu beheben: CVE-2017-13704, CVE-2017-14491, CVE-2017-14492, CVE-2017-14493, CVE-2017-14494, 2017-CVE-14495 und 2017-CVE-14496 die wichtigsten fixes die oben genannt worden, beheben (remote code execution) in der DHCP Komponente von dnsmasq. Der DHCP ist nur im ConfigMode aktiv. Ein Angreifer kann memory Korruption und mögliche remote code execution erzwingen, indem er einen bösartig DNS Server anbietet und einen Gluon Router austrinkst so das dieser den bösartig DNS Server nutzt.
  • Einige security Issues wurden in Paketen behoben die in der regel nicht teil der Stock-Firmware von Gluon sind. Mit involviert sind u.a tcpdump, curl und mbedtls weiteres kann man hier einsehen [7]
  • Fixes für KRACK sind enthalten welches für wenige spezielle gluon Setups relevant ist.
  • Das Filtern von multicast paketen zwischen dem mesh und local-node interface wurde gefixed (#1230). Dieses Problem hatte verursacht das gluon-radvd router advertisement an lokale clients gesendet hatte wenn eine anfrage aus dem lokalen Netz kam.
  • Es wird verhindert ein zu build tätigen, wenn die autoupdater mirror URLs nicht mit http:// starten (9ab93992d1fc).
  • Fix MAC Adressen für den TP-Link TL-WR1043ND v4 wenn Gluon auf der neueren stock Firmware installiert wird (#1223).
  • Fix DNS Auflösung für den mesh VPN (fastd / tunneldigger) auf ARM-basierten targets (#1245)
  • Fix ein build issue in kmod-jool [8]
  • Fix enabling/disabling PoE Passthrough in site.conf oder in den advanced settings [9], [10]
Die upstream Änderungen findet ihr hier:
Folgende Comunnity spezifischen Änderungen gab es:
package repo:

 

  • Das Paket disable-11s, welches das versehentliche einschalten von IEEE802.11s wieder rückgängig macht ist entfernt.
  • Das Paket ffnw-config-mode-geo-location wurde aktualisiert und nutzt jetzt minified js.
  • Alle Pakete wurden von luci.model.uci auf simple-uci angepasst.
  • Die Default hood bssid wurde von 02:CA:FF:EE:BA:BF auf 02:00:0A:12:E0:00 korrigiert.
  • Das Paket hoodselectorctl wurde entfernt.
  • Das Paket nodewatcher2 wurde entfernt.
  • Das Shell banner wurde von openWRT auf LEDE gewechselt.
  • Das hoodselector upgrade script nutzt nun BSSIDs zur Identifikation der hood, welche eindeutig ist, Anstelle des hoodnames.
  • Der hoodselector prüft im radioless mode ob mesh on lan/wan an ist.
  • Der hoodselector nutzt nun kein scan dump mehr, was Airtime gespart hatte. Diese funktion ist in LEDE nicht mehr vorhanden.
Die Änderungen an unseren eigenen Paketen können im Packages-Repository hier eingesehen werden:

 

siteconf repo:

 

  • Ein paar patches, die den Umgang mit IEEE802.11s in openWRT ermöglichen, wurden entfernt.
  • Das Modul netmon wurde entfernt.
  • fastd kann nun auch die crypt Methode ’null‘ was bedeutet das ein unverschlüsselter Tunnel aufgebaut werden kann. Dies kann über den configMode eingestellt werden.
  • Der Schlüssel von lethexa wurde entfernt.
Änderungen an der Siteconf können im Siteconf-Repo hier eingesehen werden:

 

Schöne Grüße
Euer ffnw-dev-team

Schreibe einen Kommentar