Anbindung

Aus Freifunk Franken
Version vom 13. Mai 2020, 18:36 Uhr von ChristianD (Diskussion | Beiträge) (Vorteile von Layer 3 gegen über dem alten System)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

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

[...]

Vorwissen

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:

RfFSbS9.png

https://wiki.freifunk-franken.de/mediawiki/index.php?title=Portal%3ANetz&type=revision&diff=17850&oldid=17734

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 fw

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 config file erstellen, am besten machen wir dies erstmal lokal in einen Editor. Ich habe hier mal ein Beispiel wo sowohl per Richtfunk VLAN 7 (passt dann zum Setup der Anleitung von der Ubiquiti Airmax Hardware) also auch eine Verbindung per wireguard erstellt wird. Natürlich muss man dies auf seine eigenen Bedürfnisse anpassen, verwendet man z.b. kein wireguard 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, muss man diese Blöcke natürlich für jedes VLAN anlegen.

Folgendes wissen wird benötigt:

  • Welcher interne Port extern auf den Router liegt, diese Info ist für viele Geräte hier zu finden.
  • Registrierte IP Adressen
  • DNS Server im Freifunknetz
config gateway 'meta'
	option config_version '1' # aktuell haben wir nur Version 1, das einfach so lassen

config gateway
	option name 'NAME' #hier kann frei ein Name gewählt werden

config vlan '1' # wir verwenden das VLAN 1 für...
	option comment 'client'  # Clientzugang zum Freifunknetz, hier kann z.b. ein Stock Firmware Accesspoint oder ein PC angeschlossen werden
	option ports '2 3 4 5' # Übersicht welcher Port an welchen Port extern anliegt ist je nach Modell unterschiedlich und findet man unter den Link oben

config vlan '2' # wir verwenden das VLAN 2 für...
	option comment 'wan' # WAN Uplink, hier kann der Router mit dem priv. Netz verbunden werden um per wireguard eine Verbindung über einen Tunnel über den eigenen Internetanschluss aufzubauen
	option ports '1' # Übersicht welcher Port an welchen Port extern anliegt ist je nach Modell unterschiedlich und findet man unter den Link oben

config vlan '7' # wir verwenden das VLAN 7 für...
	option comment 'RICHTFUNK' # eine Verbindung per Richtfunk
	option ports '5t' # Übersicht welcher Port an welchen Port extern anliegt ist je nach Modell unterschiedlich und findet man unter den Link oben, da wir auf dem Richtfunkgerät den Port getagged haben, müssen wir hier ein t an die Portnummer anhängen

config babelpeer 'RICHTFUNK' #hier konfigurieren wir das Richtfunk für Babel, der Name muss der gleiche sein wie oben bei VLAN 7
	option vlan '7' # weil weiter oben für Richtfunk vlan 7 war, muss hier eine 7 hin
	option type 'wired' # default
	option rxcost '16384' # auf Rücksprache mit den Richtfunkpartner anpassen, erstmal 16384 belassen, wird dann angepasst wenn alles funktioniert.

config client # hier konfigurieren wir das Clientinterface
	option vlan '1' # weil weiter oben Client vlan 1 war, muss hier eine 1 hin
	option ipaddr '10.83.227.225' # hier kommt die IPv4 Adresse des Gateways mit Subnetz Maske rein
	list ip6addr '2001:db8::1/64' # hier kommt die public IPv6 Adresse des Gateways mit Subnetz Maske rein
	list ip6addr 'fd43:5602:29bd:xx::1/64' # hier kommt die ULA IPv6 Adresse des Gateways mit Subnetz Maske rein
	option dhcp_start '10.83.227.230' # hier kommt die Startadresse vom DHCP rein

config dns # hier kommen DNS Server rein, einige aktuell funktionierende Beispiele:
	list server 'fd43:5602:29bd:ffff:a:a:a:a' 
	list server 'fd43:5602:29bd:ffff::42' 
	list server 'fd43:5602:29bd:ffff:a:a:a:a' 
	list server '10.83.252.11' 
	list server '10.83.252.0' 

config wireguardpeer 'NAME' # hier kann der Name frei gewählt werden für die wireguard Verbindung, es gibt eine Zeichenbegrenzung ich glaub 12 Zeichen lasst es einfach kurz
	option endpoint_host 'example.com' # der Hostname der Gegenseite, es kann auch eine IPv4 oder IPv6 Adresse (ohne []) eingetragen werden 
	option endpoint_port '31337' # Port der Gegenseite
	option persistent_keepalive '20' # default, so stehen lassen
	option remote_public_key '/AB0Y2gSqdbdsuMWsEu+NQf/d9lHdSgTOF5IQj/4Mk4=' #hier muss der public Key der GEGENSEITE rein
	option rxcost '4096' # sollte keinesfalls kleiner als 4096 eingestellt werden, um die Verbindung abzuwerten wenn man seinen eigenen Anschluss nur als Backup verwenden will kann er erhöht werden bis max 16384
	option mtu '1412' # Nur bei Verbindungen mit MTU 1492 nötig, zur Sicherheit so lassen
	option local_private_key 'GCRmvTmmuxCIRHZ4zADjXitUj0AOcR4ZX48fC3j/60Y=' der eigene private Key

Wir verbinden uns jetzt per SSH mit dem Router so das wir eine Konsole haben:

Anschließend muss die oben erstellte File unter /etc/config/gateway abgelegt 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

configuregateway -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

configuregateway -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 configuregateway

Anschließend müssen wir diese Einstellungen noch rebootfest schreiben, dies geschieht mit:

configuregateway -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.

Vorwissen

Anbindung per fastd

Anbindung per mesh