Anbindung
Um am Freifunknetz teilzunehmen, musst du dich auf irgendeine Art an das Freifunknetz anbinden. Neben Selbstbauten die wir grundsätzlich sehr gut finden, da dabei immer wieder neue Ideen und Vorschläge kommen, bieten wir auch fertige Lösungen an.
Anbindung an das Layer-3 Netz
Die Anbindung per Layer-3 sollte auf jeden Fall bevorzugt werden, da man sich nur damit ordentlich und dezentral mit dem Freifunknetz verbinden kann.
Man kann sich sowohl per Richtfunk anbinden (bevorzugt wenn möglich) und/oder per wireguard. Beide Punkte werden hier Schritt für Schritt beschrieben.
Vorteile von Layer 3 gegen über dem alten System
- Man ist nicht mehr Abhängig vom zentralen keyxchange sondern hat seine Anbindung an das Freifunknetz selbst in der Hand
- Im fehlerfall einzelner Gateways kann das Routing meist darum herum angepasst werden, zumindest sind die Verbindungspartner eindeutig bekannt und können direkt selbstständig angeschrieben werden
- In unserer Firmware ist durch bessere Tunneltechnologie (wireguard) auch eine deutlich höhere Geschwindigkeit im VPN möglich
- Anbindung an vielen Richtfunknetzen ist nur mit diesem System sinnvoll möglich
- Es können eigene IP Bereiche verwendet werden, hier "hängt man sich nicht nur an fremde Gateways dran" sondern ist selbst Teilnehmer des Netzes
[...]
Systeme
Selbst bauen
Eine Anbindung an das Layer 3 Netz kann grundsätzlich auch komplett selbst gebaut werden. Mit einem Linuxrechner (oder auch OpenWrt-Router) ist dies möglich. Dieser Weg wird speziell für Leute empfohlen die gerne experiementieren und viel von anfang an lernen wollen. Ein wenig vorwissen über Linux, Routing, etc. ist hier auf jeden Fall zu empfehlen. Grundsätzlich muss dazu der Layer 3 Teil der Gatewayanleitung durchgegangen werden.
Fertige Firmware verwenden
Der einfachere Weg ist, die Layer 3 Firmware von Freifunk Franken zu verwenden. Hier sind schon alle benötigten Systeme enthalten und müssen nur noch über eine einzige Konfigurationsdatei konfiguriert werden. Die Anleitung dieser Seite bezieht sich auf diese Firmware.
Vorwissen
- Umgang mit SSH
Wikipedia: Secure Shell, SSH - Umgang mit dem Editor "vi"
Wikipedia: Editor "vi"
Wikibooks: vi lernen - Wissen über IP Subnetze sowohl IPv4 als auch IPv6
Wikipedia: SSH File Transfer Protocol, IP, Subnetz, IPv4, IPv6, - Grobes Verständnis von VLAN, hilfreiche Links:
Wikipedia: Virtual Local Area Network
Thomas Krenn: VLAN-Grundlagen - Port-Konfiguration von OpenWrt
Je nach Gerät sind die Ports unterschiedlich. Eine Auflistung dazu gibt es unter Layer-3-Firmware, Port-Belegung
Anbindung per Richtfunk
Diese Möglichkeit wird in Franken immer häufiger angeboten und sollte das zu erreichende Ziel sein. Sieh aus dem Fenster oder klettere auf das Dach und schau dich im Monitoring um, ob es eine Möglichkeit gibt, wie du Sichtkontakt zu einer Gegenstelle bekommts. Wenn ja, nimm Kontakt mit dem Betreiber auf um dich zwecks einer Verbindung abzustimmen.
Die einfachste Möglichkeit dich anzubinden ist, die Layer-3 Firmware auf einen kompatiblen Router zu installieren. An dem Router wird dann eine Richtfunkantenne angeschlossen um sich mit der Gegenstelle zu verbinden.
Nach der Installation der Layer-3 Firmware auf den Router muss diese noch eingerichtet werden. Auch die Richtfunkantenne muss dann noch entsprechend eingerichtet werden und schon sollte die Verbindung stehen.
Schritt für Schritt Anleitung RF
Hardware
Wir brauchen mindestens
- je Verbindung je eine RF-Hardware, die mit der Gegenseite sprechen kann
- Achtung bei den meisten Herstellern (z.b. Ubiquiti Airmax) muss die Hardware zur Gegenseite passen, es wird hier proprietäre Software verwendet die nur mit dem gleichen Hersteller funktioniert.
- einen Freifunk-Router mit Layer-3-Firmware (Die Anleitung beginnt mit dem Einrichten, für das eigentliche Flashen hier nachsehen)
- genug Netzwerkkabel um alles zu verkabeln
- Stromversorgung
- einen PC um alles einzurichten (in diesem Fall verwende ich Linux, ich versuche es aber so zu erklären das man es auf Windows / MacOS hoffentlich anpassen kann)
- Man muss wissen, wie man IP Adressen auf dem PC einstellt
- Man muss wissen, wie man sich per SSH vom PC aus mit anderen Geräten verbindet
- Man benötigt einen Webbrowser
- von der Gegenseite ein zugewiesenes VLAN auf dem Babel gesprochen wird (dazu mit der Gegenseite in Kontakt treten)
- WPA2 Kennwort der Gegenseite (im Normalfall sind unsere Richtfunkstrecken verschlüsselt)
IP Adressen
Danach müssen wir uns ein Subnetz im Wiki zuweisen.
Public IPv6: Einfach sich hier einen Provider aussuchen und ein Subnetz klicken: https://wiki.freifunk-franken.de/w/IPv6
ULA Ipv6: Einfach auf dieser Seite sich ein /64 herausschneiden und sich selbst zuweisen: https://wiki.freifunk-franken.de/w/Portal:Netz/IPv6
IPv4: Einfach auf dieser Seite sich ein Netz herausschneiden und sich selbst zuweisen https://wiki.freifunk-franken.de/w/Portal:Netz
Das IPv4 Netz so groß wie nötig aber so klein wie möglich wählen. Für die meisten Standorte sollte ein /27 locker ausreichen. Für die Richtfunkantenne können wir hier gleich eine feste IP Adresse reservieren die wir nicht im DHCP Pool verwenden.
In diesem Beispiel wird dieses Netz verwendet:
Zum berechnen von Subnetzen eignet sich z.B. diese Webseite sehr gut: http://jodies.de/ipcalc?host=10.83.227.224&mask1=27&mask2=
Richtfunkantenne einrichten und verbinden
Dies ist von Hersteller zu Hersteller sehr unterschiedlich. Hier sollen verschiedene Anleitungen verlinkt werden:
Falls ihr mehrere Gegenstellen seht, könnt ihr natürlich auch mehrere Antennen verwenden um euch gleichzeitig zu mehreren Gegenstellen zu verbinden. So habt ihr mehrere Möglichkeiten in das Richtfunknetz zu kommen. Sollte eine Verbindung ausfallen kann eine andere übernehmen oder es können verschiedene Datenpakete an verschiedene Gegenstellen geroutet werden. Ebenfalls sollt ihr natürlich auch anderen Personen Zugang zu eurem Netz ermöglichen. Lasst also immer noch etwas Platz frei um auch weitere Antennen montieren zu können wenn dies möglich ist.
Anbindung per wireguard
Schritt für Schritt Anleitung wg
Hierzu benötigt man erst jemanden, der einen ermöglicht sich mit dem Freifunknetz zu verbinden. Verschiedene Personen sind hier aufgelistet oder man kennt bereits jemanden persönlich.
Key generieren
Für wireguard wird ein Key benötigt. Man erhält von seinem Partner einen Publickey und muss ihm einen Publickey weitergeben wozu man den eigenen Privatkey privat hält (nicht weitergeben). Wie man ein eigenes Keypaar generieren kann steht hier
Einrichtung der Layer 3 Firmware
Egal für welche Anbindung man sich entscheidet (man kann natürlich auch beides machen), die Einrichtung der Layer 3 Firmware ist immer sehr ähnlich und soll hier Schritt für Schritt beschrieben werden
Schritt für Schritt Anleitung der Konfiguration
Nachdem man die Firmware geflasht hat, sollte man sich zuerst mal per SSH verbinden. Wir sollten uns mit einem Port verbinden, der später auch noch ein Clientport ist, damit nach Ändern der Einstellungen nicht alles umgesteckt werden muss. Wenn dies geklappt hat, kommen wir zur Einrichtung.
Zuerst müssen wir eine Datei erstellen, die die Gateway-Konfiguration enthält. Dafür benutzen wir den Editor vi. Die unten aufgeführte Beispielkonfiguration die sowohl per Richtfunk über VLAN 7 (passt dann zum Setup der Anleitung von der Ubiquiti Airmax Hardware) als auch eine Verbindung per WireGuard erstellt wird. Die Beispielkonfiguration muss auf die eigenen Bedürfnisse angepasst werden. Nutzt man z.b. kein WireGuard, so lässt man diesen Abschnitt einfach weg. Hat man mehrere WireGuard Partner, muss dieser Block einfach mehrfach eingefügt werden. Hat man mehrere VLANs für mehrere Richtfunkverbindungen, so muss man diese Blöcke für jedes VLAN anlegen.
Folgendes wissen wird benötigt:
- Welcher interne Port an welchem Anschluss außen am Router liegt. Eine Übersicht findet ihr hier.
- Registrierte IP Adressen
- DNS Server im Freifunknetz
Ein ***Beispiel*** der Konfigurationsdateien /etc/config/gateway und /etc/config/fff, sowie die Dokumentation aller Optionen findest du auf Layer3Firmware_Config
Wir verbinden uns jetzt per SSH mit dem Router so das wir eine Konsole haben:
Anschließend muss die oben erstellte Konfiguration als File unter /etc/config/gateway gespeichert werden. Aktuell ist als Editor nur vi installiert.
vi /etc/config/gateway
Da die Datei noch leer ist, erscheint ein leerer Bildschirm mit ganz vielen ~ am Zeilenanfang.
Mit der Taste "i" auf der Tastatur kommt man in den "insert Mode" und kann nun Text schreiben. Erkennbar ist der Insertmode Anhand eines großen I ganz links unten. Nun kann man die vorher erstelle config Datei einfach herienkopieren. Dazu erst im Editor den ganzen Text kopieren und mit der rechten Maustaste in das Fenster klicken. Anschließend den Insertmode mit der "ESC" Taste verlassen (das "I" unten links wir zu einem "-") und dann :w eingeben und Enter drücken zum speichern, mit :q Enter kann man den Editor verlassen. Wenn man nun
vi /etc/config/gateway
eingibt, kann man die Datei wieder aufmachen und der Inhalt sollte da sein, danach mit :q Enter einfach wieder rausgehen. Nun sollten wir wieder eine Konsole vor uns haben, wir müssen diese Konfiguration nun noch speichern. Dazu geben wir
configure-layer3 -c
ein und drücken Enter. Es sollte nun kein Fehler kommen und die Einstellungen gespeichert werden. Sollte ein Fehler kommen muss man sich die Konfigurationsdatei nochmal angucken ob man einen Fehler gemacht hat (z.b. wird gerne am Zeilenende ein ' vergessen). Wenn dies geklappt hat, kann man einen Testmode ausführen, dadurch werden alle Einstellungen angewendet aber nach 200 Sekunden wieder zurück gesetzt. Wenn man sich also ausgesperrt hat, kommt man nach 200 Sekunden (oder einen Neustart des Gerätes) wieder auf dem alten Weg drauf. Wir geben also
configure-layer3 -t
ein, nach einigen Sekunden haben wir entweder wieder eine Konsole oder fliegen vom Router herunter. Im 2. Fall sollten wir uns wieder neu verbinden. Wenn dies geklappt hat, müssen wir den Timer abbrechen damit nach 200 Sekunden nicht alle Einstellungen zurück gesetzt werden, dies geschieht mit
killall configure-layer3
Anschließend müssen wir diese Einstellungen noch rebootfest schreiben, dies geschieht mit:
configure-layer3 -a
Anschließend ist der Router konfiguriert und sollte funktionieren
Anbindung per Layer-2
Die Anbindung per Layer-2 war früher die einzige Möglichkeit sich mit dem Freifunknetz zu verbinden. Leider ist man hier meist von zentralen Stellen wie den keyxchange abhängig. Da Freifunk sich nicht von zentralen Stellen abhängig machen soll, raten wir mittlerweile von dieser Möglichkeit ab.