Gateway-Firmware mit Babel über Mesh: Unterschied zwischen den Versionen
Miki (Diskussion | Beiträge) K (Mein Accountname in GitHub) |
Miki (Diskussion | Beiträge) K (→Verschlüsselte Babel-Verbindungen über Mesh: Link zu vertiefender OpenWrt Erklärseite ergänzt.) |
||
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
__TOC__ | __TOC__ | ||
= | =Verschlüsselte Babel-Verbindungen über Mesh= | ||
Dies ist die Beschreibung einer Firmware-Modifikation von [[Benutzer:Miki|Miki]]. | Dies ist die Beschreibung einer Firmware-Modifikation von [[Benutzer:Miki|Miki]]. Bisher ist das Feature nicht in die originale Freifunk Franken Firmware integriert, die modifizierte Firmware muss selber aus den Quellen gebaut werden. | ||
Vertiefung: [https://openwrt.org/docs/guide-user/network/wifi/mesh/80211s OpenWrt: 802.11s based wireless mesh network] | |||
== | ==Bauen== | ||
Gebaut wird nach dem README.md im Git [[https://git.freifunk-franken.de/freifunk-franken/firmware]], alternativ beschrieben auch [[FirmwareEntwicklung|hier im Wiki]]. Nach dem Schritt "./buildscript prepare" wird nun <pre>./buildscript config openwrt</pre> aufgerufen. Es erscheint ein Auswahldialog. Die gesuchten Einstellungen sind im Unterbereich "Network --->". | |||
1) Zuerst wird "hostapd-mini" abgewählt < >. | |||
[[Datei:WpadMesh.png|center|761px|Dialog "hostapd-mini abwählen"]] | |||
<br> | |||
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== | ==Konfiguration== | ||
Anleitungen im Wiki: | Anleitungen im Wiki: | ||
* [[ | * [[Firmware_installieren#Installationsanleitung_f.C3.BCr_Erstinstallation|Freifunk-Firmware installieren]] | ||
* [[ | * [[Layer3Firmware|Installation der Layer3-Firmware]] | ||
* [[ | * [[Layer3Firmware_Config|Layer3-Firmware Konfiguration]] | ||
===Richtwerte für Babel Penalty (rxcost) in dezentralen Hoods=== | ===Richtwerte für Babel Penalty (rxcost) in dezentralen Hoods=== | ||
Zeile 67: | Zeile 39: | ||
===Konfiguration des Extra-Features "Babel über Mesh"=== | ===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/ | ====/etc/config/gateway==== | ||
Am Ende der Datei wird folgender Block angefügt, der Name des Interfaces kann nach Bedarf angepasst werden. | Am Ende der Datei wird folgender Block angefügt, der Name des Interfaces kann nach Bedarf angepasst werden. | ||
{| role="presentation" class="wikitable mw-collapsible autocollapse" | {| role="presentation" class="wikitable mw-collapsible autocollapse" | ||
| <strong> | | <strong>gateway</strong> | ||
|- | |- | ||
| <pre>config babelpeer 'w2babel' | | <pre>config babelpeer 'w2babel' | ||
Zeile 85: | Zeile 57: | ||
====Nach der Konfiguration==== | ====Nach der Konfiguration==== | ||
Die folgenden Änderungen müssen gemacht werden, nachdem das Script " | 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. | 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. | ||
Zeile 98: | Zeile 70: | ||
option mode 'mesh' | option mode 'mesh' | ||
option mesh_id 'fff_irgend_was' | option mesh_id 'fff_irgend_was' | ||
option encryption 'psk2 | option encryption 'psk2/aes' | ||
option key '784e0K767.................' | option key '784e0K767.................' | ||
option mesh_fwding '0' | option mesh_fwding '0' |
Aktuelle Version vom 30. April 2021, 21:01 Uhr
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.
Vertiefung: OpenWrt: 802.11s based wireless mesh network
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 < >.
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.
gateway |
config babelpeer 'w2babel' option iface 'w2babel' option type 'wireless' option rxcost '2048' |
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.
wireless |
config wifi-iface 'w2babel' option device 'radio0' option network 'w2babel' option ifname 'w2babel' option mode 'mesh' option mesh_id 'fff_irgend_was' option encryption 'psk2/aes' option key '784e0K767.................' option mesh_fwding '0' |
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.)
network |
config rule 'w2babel_rule' option in 'w2babel' option lookup '10' option priority '28' config rule6 'w2babel_rule6' option in 'w2babel' option lookup '10' option priority '28' |
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.
- Frequenzbereiche und deren Zulassungsbedingungen sofern für Freifunk relevant.