Router-Konfiguration
Konfiguration der Router des Freifunk-Netzes
WIP - Work-in-Progress. Bitte keine Änderungen ohne Rücksprache - das ist erstmal mein privater Notizzettel :-)
Einleitung
Zur Implementierung der Netzwerk-Konfiguration müssen die Router entsprechend Konfiguriert werden. Die Konfiguration erfolgt auf Basis von OpenWRT. Nach Möglichkeit sollen alle von OpenWRT unterstützten Hardware-Architekturen mit Freifunk nutzbar sein.
Dieser Artikel beschreibt die Konfiguration der Nodes(*). Entsprechende Konfigurationsdateien werden referenziert (**). Er dient als Grundlage zur konkreten Implementierung
(*) Erstmal meine Ideen dazu ;-) - (**) Soweit sie jetzt schon existieren
Aufbau der Konfiguration
Die Konfiguration der einzelnen Nodes gliedert sich in zwei verschiedene Bereiche:
- Der Node-unabhängige Teil ist bei allen Nodes identisch. Hier sind keine Node-spezfischen Einstellungen vorhanden.
- Der Node-abhängige Teil unterschied sich von Node zu Node. In diesem Teil befinden sich Node-spezifsche Einstellungen.
Die Aufteilung ergibt sich aus der Notwendigkeit Node-spezifische Einstellungen ausliefern zu müssen (bspw. Key und OpenVPN-Zertifikat). Da auf der andereren Seite auf allen Nodes eine vergleichbare Firmware aufgespielt werden soll, können die spezifische Einstellungen nicht im Firmware-Image gesetzt werden - dies würde die Erstellung eines individuellen Firmware-Images pro Node erforderlich machen.
Todo: Bild malen .
Deployment der Konfiguration
Die verschiedenen Teile der Konfiguration werden auf verschiedene Weise deployed ( Todo: Deployment-Diagramm malen )
- Der unabhängige Teil wird als plattformunabhängiges OpenWRT-Paket eingebunden.
- Der abhängige Teil wird von einem zentralen Server (Paul) per http geladen.
Insbesondere ermöglicht das OpenWRT-Paket den Download der Node-abhängigen Konfiguration und dessen Aktualisierung. Das OpenWRT-Paket selbst wird in einem Repository bereit gestellt, damit es auch direkt installiert oder aktualisiert werden kann.
Hierbei gilt:
- Jeder Node auch ohne den abhängigen Teil im Freifunk-Netz betrieben werden können. Insbesondere soll es möglich sein, auch dann das Mesh zu betreiben, wenn der abhängige Teil nicht geladen werden.
- Die Konfiguration soll von jedem der Server im Freifunk-Netz geladen werden können (z.Z. nur Paul)
- Der abhängige Teil soll dann geladen werden, wenn ein Node über eine direkte Verbindung zum Internet verfügt. Somit kann er:
- Einen VPN-Tunnel über das Internet aufbauen - (Zertifikate & Keys) sind Teil der Node-abhängigen Konfiguration
- Prefixes zur Verteilung (dhcp o.ä.) anfordern können - da sich Prefixes zwischen den Nodes unterscheiden, müssen sie abhängig sein.