Firmware-Freifunk-Lübeck: Unterschied zwischen den Versionen
Yanosz (Diskussion | Beiträge) |
Yanosz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(14 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Archiv]] | |||
{{:Archiv-Hinweis}} | |||
== Einleitung == | == Einleitung == | ||
In Lübeck gibt es ein Freifunk-Netz, das mit unseren Ideen vergleichbar ist. Ihre Firmware kann Input oder Ausgangsbasis für unsere Firmware sein. Weitere Infos: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh | In Lübeck gibt es ein Freifunk-Netz, das mit unseren Ideen vergleichbar ist. Ihre Firmware kann Input oder Ausgangsbasis für unsere Firmware sein. Weitere Infos: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh | ||
Zeile 5: | Zeile 8: | ||
== Strategie Freifunk Lübeck == | == Strategie Freifunk Lübeck == | ||
[[Datei:Vorgehen-lff.png|thumb| | [[Datei:Vorgehen-lff.png|thumb|600px|right|Data Link Layer (OSI-2)]] | ||
Anders als zunächst diskutiert, verwendet Freifunk Lübeck kein VPN. Alle Nodes bilden über batman-adv eine große (OSI-2/3) Kollisionsdomäne. | Anders als zunächst diskutiert, verwendet Freifunk Lübeck kein automatisches VPN auf den Routern selber - nur an gewählten Punkten werden manuell VPNs auf PCs oder Routern mit Alix Board (und demnächst auch TP-Link TL-WR1043ND) eingerichtet. Alle Nodes bilden über batman-adv eine große (OSI-2/3) Kollisionsdomäne. Verbindungen zwischen abgelegenen Nodes sollen (werden?) teilweise per Richtfunk überbrückt werden. Dabei gibt es einige technische Unterschiede zu unserer Planung | ||
* Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. ''In Planung: Images für TP-Link'' | * Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. ''In Planung: Images für TP-Link'' | ||
Zeile 21: | Zeile 24: | ||
** Master / AP (''falls zusätzlich möglich'') | ** Master / AP (''falls zusätzlich möglich'') | ||
*** ESSID: 'luebeck.freifunk.net' | *** ESSID: 'luebeck.freifunk.net' | ||
*** | *** bridged mit bat0 | ||
** Master / AP (2) (''falls zusätzlich möglich'') | ** Master / AP (2) (''falls zusätzlich möglich'') | ||
*** SSID: 'luebeck.freifunk.net - Info' | *** SSID: 'luebeck.freifunk.net - Info' | ||
Zeile 27: | Zeile 30: | ||
*Routing | *Routing | ||
**Protokoll: B.A.T.M.A.N.-Advanced, compat-Version 12 (z.B. batman-adv 2011.1.0 oder 2011.0.0) | **Protokoll: B.A.T.M.A.N.-Advanced, compat-Version 12 (z.B. batman-adv 2011.2.0, 2011.1.0 oder 2011.0.0) | ||
** Protokoll Konfiguration: i.d.R. gw_mode 'client' (außer man bietet einen Internetzugang mit DHCP an, dann 'server') | ** Protokoll Konfiguration: i.d.R. gw_mode 'client' (außer man bietet einen Internetzugang mit DHCP an, dann 'server') | ||
Zeile 33: | Zeile 36: | ||
Der Build-Prozess ist unter: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware dokumentiert. | Der Build-Prozess ist unter: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware dokumentiert. | ||
Die Quellen der Lübecker Firmware verteilen sich auf | Die Quellen der Lübecker Firmware verteilen sich auf 4 Repositories: | ||
* [http://krtek.asta.uni-luebeck.de/repos/LuebeckFreifunkFirmware/ LuebeckFreifunkFirmware] - Fork des OpenWRT-Repositories mit einigen, weniges Patches (genutzte seeds, dnsmasq). | * [http://krtek.asta.uni-luebeck.de/repos/LuebeckFreifunkFirmware/ LuebeckFreifunkFirmware] - Fork des OpenWRT-Repositories mit einigen, weniges Patches (genutzte seeds, dnsmasq). | ||
** master - Quellen der Lübecker Firmware | ** master - Quellen der Lübecker Firmware | ||
** openwrt-backfire - Unmodifiziertes OpenWRT | ** openwrt-backfire - Unmodifiziertes OpenWRT | ||
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Profiles/ LFF-Profiles] - Ablage der Node-Konfiguration. | * [http://krtek.asta.uni-luebeck.de/repos/LFF-Packages/ LFF-Packages] - Fork des OpenWRT-Package-Repositories mit evtl. Downgrades von Paketen zur Kompatibilität und wenigen extra Patches | ||
** master - OpenWRT-Package-Repository + Patches | |||
** openwrt - Unmodifiziertes OpenWRT-Package-Repository | |||
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Profiles/ LFF-Profiles] - Ablage der Node-Konfiguration. Branches: | |||
** master - leer, uninteressant | ** master - leer, uninteressant | ||
** lff-dlink-dir300 - Ablage der Konfiguration des DIR-300. Inhalt: | ** lff-dlink-dir300 - Ablage der Konfiguration des DIR-300. Inhalt: | ||
*** .config - Konfiguration für den OpenWRT-Build (aus make Menuconfig erstellt) | *** .config - Konfiguration für den OpenWRT-Build (aus make Menuconfig erstellt) | ||
*** files - Konfiguration für das Lübecker Freifunk-Netz. Einige Dateien sind geräteabhängig. | *** files - Konfiguration für das Lübecker Freifunk-Netz. Einige Dateien sind geräteabhängig. | ||
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Info/ LFF-Info] - Info-Web-Seite. Wird die andere SSID verteilt. | ** lff-tl-wr1043nd - Ablage der Konfiguration des TP-Link WR1043ND. Inhalt: s.o. | ||
** lff-tl-wr741nd - Ablage der Konfiguration des TP-Link WR741ND. Inhalt: s.o. | |||
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Info/ LFF-Info] - Info-Web-Seite. Wird über die andere SSID verteilt. | |||
Hierbei refrenziert LuebeckFreifunkFirmware das LFF-Packages-Repository und LFF-Profiles-Repository, während LFF-Profiles das Repository LFF-Info referenziert. Somit es ein Klon des Repositories LuebeckFreifunkFirmware für die Entwicklung ausreichend. | |||
= Entwicklungsansätze = | |||
Zur Nutzung mit Freifunk-KBU sind diese Ansätze denkbar: | |||
* Trennung zwischen OpenWRT-Config (.config) und Paket-Konfigurationen (/etc/config) - Ziel: Vereinfachung der Distributierung, Unterstützung weiterer Plattformen. | |||
* Paketierung der Konfiguration | |||
** Es gibt ein plattformunabhängiges Konfigurationspaket dies zieht alle benötigten Pakete nach. | |||
** Für die Konfiguration gibt es template Dateien. Beispiel: /etc/config/network -> /etc/config/network.template und rsetzen der plattform-abhängigen Interface-Namen durch ein postinst-Scribt des Pakets(z.B. ''sed s/%wlan_if%/$REAL_WLAN_IF/g < /etc/config/network.template > /etc/config/network'') | |||
* Nutzung des Image-Builders statt eigener Builds | |||
* Aufname von tinc / OpenVPN. Download zugh. config per http. |
Aktuelle Version vom 28. August 2019, 11:18 Uhr
Hinweis: Diese Seite wurde in das Archiv verschoben. Die Informationen sind größtenteils veraltet und nur für Spezialfälle relevant.
Einleitung
In Lübeck gibt es ein Freifunk-Netz, das mit unseren Ideen vergleichbar ist. Ihre Firmware kann Input oder Ausgangsbasis für unsere Firmware sein. Weitere Infos: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh
Images der Firmware gibt es leider (Stand: 3.9. 2011) nicht zum Download - sie muss aus den Quellen kompiliert werden.
Strategie Freifunk Lübeck
Anders als zunächst diskutiert, verwendet Freifunk Lübeck kein automatisches VPN auf den Routern selber - nur an gewählten Punkten werden manuell VPNs auf PCs oder Routern mit Alix Board (und demnächst auch TP-Link TL-WR1043ND) eingerichtet. Alle Nodes bilden über batman-adv eine große (OSI-2/3) Kollisionsdomäne. Verbindungen zwischen abgelegenen Nodes sollen (werden?) teilweise per Richtfunk überbrückt werden. Dabei gibt es einige technische Unterschiede zu unserer Planung
- Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. In Planung: Images für TP-Link
- Präferenz für tinc als VPN (im Gegensatz zu OpenVPN).
- Kompilieren eigene Firmware aus den OpenWRT-Quellen - keine Verwendung des Image-Builders.
Die einzelnen Nodes sind (grob gesehen) wie folgt konfiguriert [1]
- WLAN
- Ad-Hoc
- Modus: Adhoc
- ESSID: 'mesh.freifunk.net' - BSSID / CellID: 02:22:B0:44:94:5D
- Modulation: (mindestens) 802.11g - Kanal: 1 (= 2.412GHz)
- Master / AP (falls zusätzlich möglich)
- ESSID: 'luebeck.freifunk.net'
- bridged mit bat0
- Master / AP (2) (falls zusätzlich möglich)
- SSID: 'luebeck.freifunk.net - Info'
- Leitet jeden Webseitenzugriff auf einen Info-Seite um.
- Ad-Hoc
- Routing
- Protokoll: B.A.T.M.A.N.-Advanced, compat-Version 12 (z.B. batman-adv 2011.2.0, 2011.1.0 oder 2011.0.0)
- Protokoll Konfiguration: i.d.R. gw_mode 'client' (außer man bietet einen Internetzugang mit DHCP an, dann 'server')
Entwicklung / Build
Der Build-Prozess ist unter: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware dokumentiert.
Die Quellen der Lübecker Firmware verteilen sich auf 4 Repositories:
- LuebeckFreifunkFirmware - Fork des OpenWRT-Repositories mit einigen, weniges Patches (genutzte seeds, dnsmasq).
- master - Quellen der Lübecker Firmware
- openwrt-backfire - Unmodifiziertes OpenWRT
- LFF-Packages - Fork des OpenWRT-Package-Repositories mit evtl. Downgrades von Paketen zur Kompatibilität und wenigen extra Patches
- master - OpenWRT-Package-Repository + Patches
- openwrt - Unmodifiziertes OpenWRT-Package-Repository
- LFF-Profiles - Ablage der Node-Konfiguration. Branches:
- master - leer, uninteressant
- lff-dlink-dir300 - Ablage der Konfiguration des DIR-300. Inhalt:
- .config - Konfiguration für den OpenWRT-Build (aus make Menuconfig erstellt)
- files - Konfiguration für das Lübecker Freifunk-Netz. Einige Dateien sind geräteabhängig.
- lff-tl-wr1043nd - Ablage der Konfiguration des TP-Link WR1043ND. Inhalt: s.o.
- lff-tl-wr741nd - Ablage der Konfiguration des TP-Link WR741ND. Inhalt: s.o.
- LFF-Info - Info-Web-Seite. Wird über die andere SSID verteilt.
Hierbei refrenziert LuebeckFreifunkFirmware das LFF-Packages-Repository und LFF-Profiles-Repository, während LFF-Profiles das Repository LFF-Info referenziert. Somit es ein Klon des Repositories LuebeckFreifunkFirmware für die Entwicklung ausreichend.
Entwicklungsansätze
Zur Nutzung mit Freifunk-KBU sind diese Ansätze denkbar:
- Trennung zwischen OpenWRT-Config (.config) und Paket-Konfigurationen (/etc/config) - Ziel: Vereinfachung der Distributierung, Unterstützung weiterer Plattformen.
- Paketierung der Konfiguration
- Es gibt ein plattformunabhängiges Konfigurationspaket dies zieht alle benötigten Pakete nach.
- Für die Konfiguration gibt es template Dateien. Beispiel: /etc/config/network -> /etc/config/network.template und rsetzen der plattform-abhängigen Interface-Namen durch ein postinst-Scribt des Pakets(z.B. sed s/%wlan_if%/$REAL_WLAN_IF/g < /etc/config/network.template > /etc/config/network)
- Nutzung des Image-Builders statt eigener Builds
- Aufname von tinc / OpenVPN. Download zugh. config per http.