<
Allgemeines
In den Freifunk-Netzwerken wird auf den Nodes nicht die originale Firmware der Router-Hersteller genutzt, sondern eine speziell für diesen Zweck von den Mitgliedern der Communities erstellte eigene Firmware. Diese basiert generell auf OpenWrt, welches durch verschiedene Pakete ergänzt wird.
Leider gibt es keine einheitliche "Freifunk-Firmware", stattdessen erstellt jede Community ihre eigene Variante. Diese unterscheiden sich teilweise erheblich, wie auch die gesamte darunterliegende Infrastruktur. Es spricht aber nichts dagegen, beim Aufbau einer neuen Community die Firmware einer anderen Community zu nutzen und diese an die eigene Infrastruktur anzupassen. Trotzdem bleibt zumindest die schwierige Aufgabe, sich für eine der Firmware-Varianten zu entscheiden. Da auch die Infrastruktur dazu passen muß, ist eine spätere Umstellung nicht ganz einfach.
Um das Erstellen der Firmware zu erleichern, wurden im Laufe der Zeit verschiedene Frameworks entwickelt. In letzter Zeit verbreitet sich besonders Gluon, welches von der Lübecker Community entwickelt wird. Da es sich um ein aktuell stark entwickelndes Framework mit vielen interessanten Funktionen handelt, haben wir uns auch in unserer Community für Gluon entschieden.
Firmware erstellen
Im Normalfall wird die aktuell in der Community verwendete Firmware für die unterstützten Routertypen fix und fertig zum Download zur Verfügung gestellt. Diese muß dann nur noch auf dem Router installiert werden. Demgegenüber wird im Folgenden beschrieben, wie man sich das Firmware-Paket selbst erstellen kann, sei es nur "für die Wissenschaft" oder um z.B. ein nicht unterstütztes Routermodell zu verwenden.
Voraussetzungen
Das Erstellen der Firmware erfolgt unter Linux. Im Prinzip ist jede aktuelle Distribution nutzbar, wir verwenden meist Gentoo. Da es sich hierbei um eine Source-Distribution handelt, sind die benötigten Build-Tools (GCC usw.) i.d.R. bereits installiert. Zusätzlich wird Git zum Zugriff auf die Versionsverwaltung benötigt. Gluon verfügt über eine gute Dokumentation, diese benutzen wir als Grundlage für die folgenden Schritte.
Download der Quellen
Die Quellen werden nach dem Wechsel ins Build-Root mitels Git ausgecheckt (heruntergeladen):
$ mkdir -p ~/Develop/Freifunk $ cd ~/Develop/Freifunk $ export RELEASE="ffggrz-1.0.2" $ export GLUON_RELEASE="1.0.2" $ git clone https://github.com/ffggrz/gluon.git gluon-$RELEASE -b $RELEASE $ cd gluon-$RELEASE
export GLUON_RELEASE="1.0.2" gibt an, daß wir nachfolgend unsere Firmware-Version 1.0.2 erstellen wollen. Diese Versionsnummer ist später in den Image-Namen enthalten und wird z.B. auch in der Karte angezeigt.
Durch export RELEASE="ffggrz-1.0.2" wird in diesem Beispiel das mit "ffggrz-1.0.2" markierte GLUON-Release unserer Community (eigener Fork auf Github) ausgecheckt und anschließend gebaut. Um stattdessen den aktuellen Entwicklungsstand zu verwenden, kann man
$ export RELEASE="master"
angeben. Das sollte aber nur für Experimente genutzt werden.
Site-Konfiguration
Jede Community nutzt eine eigene Infrastruktur, welche sich zumindest durch Hostnamen und IP-Adressen von der anderer Communities unterscheidet. Diese Unterschiede müssen in der eigenen Firmware hinterlegt werden. Dazu gibt es die sogenannte Site-Konfiguration, normalerweise ist jede Community eine eigene Site. Theoretisch könnten sich aber auch mehrere Communities eine Infrastruktur teilen und haben dann eine identische Site-Konfiguration. Andererseits könnte eine große Community mehrere Sites mit unterschiedlicher Infratruktur und damit unterschiedlicher Konfigurationen betreiben.
Im Verzeichnis docs/site-example befindet sich eine Beispiel-Konfiguration. Diese wird in das site-Verzeichnis kopiert und anschließend an die eigene Infrastruktur angepaßt:
$ cp -r docs/site-example site
Die aktuell von unserer Community genutzte Konfiguration ist in unserem Repository auf GitHub abgelegt. Um diese zu verwenden, wird statt dem Kopierbefehl mit Git ausgecheckt:
$ git clone https://github.com/ffggrz/site-ffggrz.git site -b $RELEASE
Damit wird die zum Bauen der in $RELEASE definierten Firmware-Version (im Beispiel 1.0.2) genutzte site-Konfiguration heruntergeladen. Die zum Bauen der letzten experimentellen Version genutzte Konfiguration liegt im Master-Branch, um diese auszuchecken, kann einfach das "-b $RELEASE" weggelassen werden.
Firmware bauen
Die Firmware wird nun mit den folgenden Kommandos erstellt:
$ export GLUON_LANGS="en de" $ export GLUON_BRANCH=stable $ make update $ make GLUON_TARGET=ar71xx-generic
Mittels "make update" werden die aktuellen Sourcen der verschiedenen Projektbestandteile heruntergeladen.
Das anschließende make-Kommando baut dann die Firmware. Dabei kennzeichnet "GLUON_BRANCH=stable" die Firmware als stabile Variante, das ist wichtig für den Auto-Updater. In unserer site.conf sind noch die Branches "beta" und "experimental" definiert. GLUON_LANGS="en de" ergibt die Sprachunterstützung für deutsch und englisch. "GLUON_TARGET=ar71xx-generic" erstellt die Firmware für die üblichsten der unterstützten Router (AR71xx-basierend).
Alle derzeit verfügbaren Targets können mit dem Script "buildalltargets" auf einmal erstellt werden:
$ export GLUON_LANGS="en de" $ export GLUON_BRANCH=stable $ make update $ buildalltargets
Router flashen
Die erstellte Firmware befindet sich, ausgehend vom Build-Root (~/Develop/Freifunk/gluon-$RELEASE) im Verzeichnis "output/images". Die factory-Images werden zum Flashen von Routern benutzt, welche noch die Original-Firmware des Herstellers besitzen. Mit den sysupgrade-Images werden Router upgedatet, welche bereits mit der Freifunk-Firmware oder einer anderen OpenWRT-Version laufen.
Update
Ein Update von Gluon erfolgt mit folgender Befehlssequenz:
$ cd ~/Develop/Freifunk $ export RELEASE="ffggrz-1.0.2" $ export GLUON_RELEASE="1.0.2" $ export GLUON_LANGS="en de" $ export GLUON_BRANCH=stable $ cd gluon-$RELEASE $ git pull $ make update $ make GLUON_TARGET=ar71xx-generic
Nach "git pull" sollte noch kontrolliert werden, ob die site-Konfiguration angepaßt werden muß.
Signieren
Damit die automatischen Updates der Nodes funktionieren, muß die Firmware signiert werden. Dafür benötigt man die ECDSA-Utils:
# emerge -av ecdsautils
Danach werden die Key erzeugt:
$ cd ~/Develop/Freifunk $ mkdir Update-Signaturen $ cd Update-Signaturen $ ecdsakeygen -s > user-secret $ ecdsakeygen -p < user-secret > user-public
Der public Key (Inhalt von user-public) wird in die site.conf eingetragen. Das Signieren erfolgt dann mittels:
{{{ $ cd ~/Develop/Freifunk $ export RELEASE="ffggrz-1.0.2" $ export GLUON_BRANCH=stable $ cd gluon-$RELEASE $ make manifest $ ./contrib/sign.sh ~/Develop/Freifunk/Update-Signaturen/user-secret ./output/images/sysupgrade/$GLUON_BRANCH.manifest }}}- Details
- Geschrieben von: Jörg
- Kategorie: Router
https://map.ffggrz.de/#!v:m;n:f4f26d3e6b6c
Der Knoten/Standort wurde von Lutz erschlossen. Der Chef, Herr Heinicke, steht Freifunk aufgeschlossen gegenüber.
Technik
- Telekom Digibox (ein dicker Speedport)
- aus den Ports kommt kein DHCP-IPv4 heraus
- Level 1 GSW-1657 16-Port Ethernet Switch
- in der Zwischendecke
- liegt direkt beim Patchpanel und dem Freifunk-Router (1043)
Das interne Netzwerk scheint mit festen IP-Adresse (192.168.44.0/24, GW 192.168.44.1) zu funktionieren. Ein Clubmitglied ("Wolfgang") betreut das Netzwerk.
- Details
- Geschrieben von: Matthias Drobny
- Kategorie: Router Standorte
Einleitung
Die VHS möchte sich dem Projekt Freifunk Kommune anschließen.
IST Zustand
Die VHS verfügt zum jetzigen Zeitpunkt über einen 2 MBit/s DSL Anschluss ohne W-LAN. Die VHS hat folgenden Gebäudeaufbau. 2 Grundrisspläne liegen bei.
- Erdgeschoss
- Das Erdgeschoss verfügt über mehrere Kabinette
- PC-Kabinett : Eine strukturierte Verkabelung ist vorhanden und mit dem Lehrerzimmer 1. OG verbunden. Die Technik befindet sich in einem 19 Zoll Schrank 6 HE (24 Port Switch und 2 kleine Switche)
- Vorraum mit Terminal: Zwei alte PC-Terminals mit Fußbodentank, Anschlüsse müssen überprüft werden.
- Kreativraum: 19 Zoll 6 HE mit zwei kleinen Switchen und 6 Festanschlüssen. Anschlussverlegung muss ebenfalls auf Eignung überprüft werden.
- Weitere Räume besitzen keine Netzwerk-Technik.
- 1. OG
- 3 Räume Büroräumen und Lehrerzimmer (19 Zoll Schrank mit DSL) mit strukturierter Verkabelung der Stadt Gera. Hier wurde der 16 MBit DSL Anschluss für Freifunk geschaltet.
- 3 Schulungsräume mit Flur
- 2.OG
- 4 Schulungsräume mit Flur
- 3.OG
- 4 Schulungsräume mit Flur
SOLL ([[https://www.freifunk-gera-greiz.de/documents/portlet_file_entry/10182/Aufbau-Freifunk-vhs.pdf/f920fb59-334a-4b93-b657-c9e7be347ac1?status=0&download=true|Aufbau-Freifunk-vhs.pdf ]])
Versorgung mit Internet 16 MBit DSL über Freifunk.
Lehrerzimmer wird mit einem Router versorgt. Jeweils im 2. OG und 3. OG sollte ein Router im Flur installiert werden. Ich schlage eine Installation an der Wand vor. Hierfür sind Verlegearbeiten durch den Elektriker nötig.
Im PC-Raum, Vorraum und Kreativraum sind keine bzw. geringfügige Elektro-Arbeiten notwendig, zum Installieren von jeweils einen Router. Ob die Ausstrahlung in die anderen Räume ausreichen wird, wird getestet. Ein Teil der Router wird meshen.
Im Direktorenraum sollte ein Außenrouter vorgesehen werden. Evt. können wir hierdurch Mesh-Verbindung zu den Gebäude der Grünen herstellen und eine Außenversorgung erreichen.
Eine optimale Freifunk-Abdeckung aller einzubeziehenden Räume kann erst beim Ausbau des WLANs, ermittelt werden.
Die Möglichkeit der Benutzung der strukturierten Verkabelung wird mit der Stadt Gera geklärt.
Technik
- 3 Router Ubiquiti UAP
- 3 Router TP-Link WR1043nd
- 1 Router Ubiquiti Loco M2
- Kleinmaterial
- Details
- Geschrieben von: Lutz
- Kategorie: Router Standorte
Der TP-Link Router fungiert als Master (WiFi) und stellt über Mesh die Verbindung zu den beiden Ubiquiti Knoten her, welche die Außenbereiche ausstrahlen.
Der Switch/Router RB2011UiAS fungiert als Masterswitch und stellt über einen VLAN Trunk eine Verbindung zum RB750 her.
Folgende Einstellungen wurde auf den RB2011UiAS vorgenommen.
- Verbindung zum DSL Internet Zugang
- Trennung des aktiven und Freifunk Netzwerk über VLAN (Layer2) per Trunk
- Trennung der IP Netzwerke über Firewall auf Layer 3
- Zugriffsschutz auf Layer 3-6
- Zugriff auf beide Switche nur über IP Netzwerk intern
- Bereitstellung von 4 Port für Freifunk VLAN, 4 Ports für internes Netz, 1 Port für Trunk und 1 Port für Internet Zugang.
- 2 IP Netzwerke auf IP V4
Einstellung des Switch RB750
- Trennung des aktiven und Freifunk Netzwerk über VLAN (Layer2) per Trunk zum Masterswitch
- Bereitstellung von ja 2 Ports für Freifunk und internes Netz
- Details
- Geschrieben von: Matthias
- Kategorie: Router Standorte
Der Anger ist der zentrale Platz in Weißendorf. Er ist Standort der Gemeindeverwaltung und der Freiwilligen Feuerwehr.
Status:
- 05.07.2015: Knoten Weissendorf-VPN-001 und Weissendorf-LocoM2-001 nehmen Betrieb auf
- 13.08.2016: Beide Knoten waren nach Problemen mit der Auto-Update Funktion einige Zeit außer Betrieb.
Knoten:
- Weissendorf-VPN-001
Hardware: TP-Link TL-WR1043ND v2
Position: 1.OG - Weissendorf-LocoM2-001
Hardware: Ubiquiti NanoStation loco M2
Position: 1.OG, Ausrichtung nord-west, Abdeckung Anger, Gemeindehaus und Gerätehaus der Freiwiligen Feuerwehr
Knoten Konfiguration:
Die beiden Knoten Weissendorf-VPN-001 und Weissendorf-LocoM2-001 sind wie folgt konfiguriert:
Der TP-Link Router (TL-WR1043ND v2) übernimmt die Arbeit der Verschlüsselung des Datenverkehrs durch den VPN Tunnel zu den Gateways.
Links:
Wikipedia Artikel https://de.wikipedia.org/wiki/Wei%C3%9Fendorf
- Details
- Geschrieben von: Sebastian
- Kategorie: Router Standorte