Router-Konfiguration

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen

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.

Node-unabhängige Konfiguration

Node-abhängige Konfiguration