Gateway-Firmware mit Babel über Mesh

Aus Freifunk Franken
Version vom 28. April 2021, 23:24 Uhr von Miki (Diskussion | Beiträge) (→‎Verschlüsselte Babel-Verbindungen über Mesh: Der Verweis auf das gelöschte Repository wurde entfernt. Die Modifikation kann mit ./buildscript config openwrt manuell gemacht werden.)
Wechseln zu:Navigation, Suche

Verschlüsselte Babel-Verbindungen über Mesh

Dies ist die Beschreibung einer Firmware-Modifikation von Miki. Bisher ist das Feature nicht in die originale Freifunk Franken Firmware integriert, die modifizierte Firmware muss selber aus den Quellen gebaut werden.

Bauen

Gebaut wird nach dem README.md im Git [[1]], alternativ beschrieben auch hier im Wiki. Nach dem Schritt "./buildscript prepare" wird nun

./buildscript config openwrt

aufgerufen. Es erscheint ein Auswahldialog. Die gesuchten Einstellungen sind im Unterbereich "Network --->".

1) Zuerst wird "hostapd-mini" abgewählt < >.

Dialog "hostapd-mini abwählen"
Dialog "hostapd-mini abwählen"


2) Danach wird "wpad-mesh-openssl" angewählt, im selben Bereich weiter unten. Es genügt nicht, das Feature als Modul zu ergänzen, es muss mit <*> fest eingebunden werden.

Wenn die Änderungen gespeichert sind, geht es wie gewohnt mit "./buildscript build" weiter.

Konfiguration

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"

Das besondere 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 "node" Hood hergibt.

/etc/config/gateway

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 "configure-layer3" erfolgreich ausgeführt wurde. Sie sind nicht updatefest und gehen bei jedem erneuten Aufruf von configure-layer3 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.