Gateway-Firmware mit Babel über Mesh: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
==Aktuell empfohlener Softwarestand==
==Aktuell empfohlener Softwarestand==


Commit '''b9bbdac''' vom '''9.2.2019''' mit dem Tag '''"20190209-beta"'''
Commit '''b9bbdac''' vom '''9.2.2019''' mit dem Tag '''"20190209-beta"'''.


Auf diesen Stand bezieht sich die folgende Auflistung.
Auf diesen Stand bezieht sich die folgende Auflistung.
Zeile 15: Zeile 15:


* Verschlüsselte Babel-Verbindungen über Mesh möglich.
* Verschlüsselte Babel-Verbindungen über Mesh möglich.
* Webinterface angepasst.
* Software-Struktur gemeinsamer Pakete nahe an der Original-Firmware, um längerfristige Pflege zu erleichtern.
* Software-Struktur gemeinsamer Pakete nahe an der Original-Firmware, um längerfristige Pflege zu erleichtern.
* Unterstützung zusätzlicher Routermodelle aus den Entwicklerbranches von Adrian oder Fabian (hier ungetestet, reiner Code-Import).
* Unterstützung zusätzlicher Routermodelle aus den Entwicklerbranches von Adrian oder Fabian (hier ungetestet, reiner Code-Import).

Version vom 9. Februar 2019, 21:29 Uhr

Privater experimenteller Firmware-Fork!

Dies ist die Beschreibung einer Firmware-Modifikation von Miki. Ursprung ist die Freifunk-Franken-Firmware und deren verschiedene Varianten für dezentrale Gateways.

Der Quellcode ist in Github zu finden. (Ihr dortiger Accountname: MaretaDagostino)

Aktuell empfohlener Softwarestand

Commit b9bbdac vom 9.2.2019 mit dem Tag "20190209-beta".

Auf diesen Stand bezieht sich die folgende Auflistung.

Besondere Features, implementiert

  • Verschlüsselte Babel-Verbindungen über Mesh möglich.
  • Webinterface angepasst.
  • Software-Struktur gemeinsamer Pakete nahe an der Original-Firmware, um längerfristige Pflege zu erleichtern.
  • Unterstützung zusätzlicher Routermodelle aus den Entwicklerbranches von Adrian oder Fabian (hier ungetestet, reiner Code-Import).

Geplante Features, in der Warteliste

  • Zuverlässige Update-Möglichkeit auf dem Ubiquiti Unifi AC-Mesh Router.
  • Hochladen der Konfigurationsdateien über das Webinterface.
  • Konfigurationslauf übers Webinterface anstoßen können.
  • Einzelne Funkbereiche (2,4 GHz und/oder 5 GHz) einzeln übers Webinterface deaktivieren können.

Bekannte Fehler

  • Updates funktionieren nur auf Routern mit Hardware-Bridge zuverlässig, das sind meistens Geräte mit 5 Ports (z.B. WR1043).

Ungetestet

  • Fast alle Routermodelle.
  • Funktionsweise und Wirksamkeit der Bandbreitenbegrenzung.
  • ...sicherlich vieles andere mehr...

Historie

  • Commit 1d301d0dd vom 28.10.2018, Tag "20181028-beta":

Erste real eingesetzte Version. Codebasis ist hier die Firmware von Adrian, das Hoodfile muss nach /www/hood/keyxchangev2data kopiert werden.

  • Commit b9bbdac vom 9.2.2019, Tag "20190209-beta":

Wechsel der Quelle auf Freifunk Franken Original-Firmware mit Gateway-Paketen nach Fabians Methode. Das Hoodfile muss jetzt nach /etc/hoodfile kopiert werden. In der GW-Firmware funktionslose Bedienelemente wurden aus dem Webinterface entfernt. Diverse Pakete für zentrale V2 Hoods wurden entfernt, da in Gateways obsolet. Code-Import zur Unterstützung der Router Ubiquiti Edge X und Archer C60 v1/v2.

Konfiguration

Achtung: Auf dem Ubiquiti Unifi AC-Mesh und vermutlich auch anderen Routern mit nur einer oder zwei Ethernetschnittstellen ist ein Firmware-Upgrade unzuverlässig. Miki hat bei ihren Tests auf dem AC-Mesh schließlich immer mit TFTP die Originalfirmware des Herstellers aufgespielt und dann die Gateway-Firmware als erneute "Erstinstallation".

Anleitungen im Wiki:

Richtwerte für Babel Penalty (rxcost) in dezentralen Hoods

Es wird empfohlen, die "rxcost" jeweils zur Hälfte auf beide Seiten des Peerings zu verteilen. Pro Link sollte maximal 16384 verwendet werden, damit auch bei vielen Hops das Maximum von 65535 nicht erreicht wird.

  • Ethernet: 96
  • Richtfunk
    • >100Mbit: 256
    • 30-100Mbit: 512
    • 10-30Mbit: 1024
    • bis 10Mbit: 4096
    • VPN: 4096 - 16384

Konfiguration des Extra-Features "Babel über Mesh"

Ein besonderes Feature dieser Software-Modifikation ist die Möglichkeit, mit verschlüsselten Babel-Verbindungen über Mesh zu peeren. Da solltet ihr aber keine zu großen Illusionen haben! Den eh schon stark ausgelasteten 2,4 GHz Funkraum teilt ihr euch mit allen Clients. Die Performance entspricht also in etwa dem, was eine Batman-Verbindung in einer V2 Hood hergibt.

/etc/config/configuregateway

Am Ende der Datei wird folgender Block angefügt, der Name des Interfaces kann nach Bedarf angepasst werden.

Nach der Konfiguration

Die folgenden Änderungen müssen gemacht werden, nachdem das Script "configuregateway" erfolgreich ausgeführt wurde. Sie sind nicht updatefest und gehen bei jedem erneuten Aufruf von configuregateway verloren!

Am Ende der Datei "/etc/config/wireless" wird folgender Block eingetragen. Dabei muss der Name des Interfaces und das Device (radio0 oder radio1) angepasst werden. Die Mesh-ID sollte einen Namen bekommen, der nicht das Wort "Freifunk" enthält, damit keine Clients versuchen sich darauf zu verbinden. Der Key muss mit dem Peering-Partner abgesprochen werden.

In der Datei "/etc/config/network" kommen für das neue Interface zwei Blöcke mit Rules vor. Miki hat bei ihren Tests festgestellt, dass die Verbindung instabil war, wenn der Wert der Option "priority" genauso wie bei den anderen Babel Interfaces war. Sie hatte Erfolg damit, statt des Defaultwertes 31 den Wert 28 einzutragen. (Eine Erklärung für das Phänomen kennt Miki nicht.)

5 GHz Warnung

Ein Peering über Mesh wird in den meisten Fällen außerhalb geschlossener Gebäude stattfinden. Falls das Gerät 5 GHz unterstützt (z.B. AC-Mesh), muss daher normalerweise der 5 GHz Funkbereich deaktiviert werden! Die Freifunk-Firmware ist nicht zertifiziert und darf auf 5 GHz generell nicht im Freien verwendet werden.