Anbindung: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
(Ist an dieser Stelle falsch aufgehoben, der Link kommt später im wireguard Abschnitt wo er hingehört.)
Markierung: Manuelle Zurücksetzung
Zeile 111: Zeile 111:
* [[DNS#Andere_DNS_Server_nutzen|DNS Server]] im Freifunknetz
* [[DNS#Andere_DNS_Server_nutzen|DNS Server]] im Freifunknetz


Hier ein Beispiel der Konfigurationsdatei /etc/config/gateway :
Ein ***Beispiel*** der Konfigurationsdateien /etc/config/gateway und /etc/config/fff, sowie die Dokumentation aller Optionen findest du auf [[Layer3Firmware_Config]]
<pre>
config gateway 'meta'
#Aktuell haben wir Version 2
        option config_version '2'
 
config gateway
      #hier kann frei ein Name gewählt werden
      option name 'MEINGATEWAYNAME'
 
#Konfigurationsabschnitt für das VLAN 1. Das VLAN 1 ist das Clientnetz.
config vlan '1'
option comment 'client'
# Hier trägt man die LAN-Ports ein. 
        option ports '2 3 4 5'
 
#Konfigurationsabschnitt für das VLAN 2. Das VLAN 2 ist hier der WAN Anschluss. Über den WAN Anschluss wird der Router mit dem privaten Netz verbunden und kann einen Tunnel über den vorhandenen Internetanschluss aufbauen.
config vlan '2'
      option comment 'wan'
      #Hier die Portnummer eintragen, die in Portübersicht für deinen Router unter WAN eingetragen ist.
      option ports '1'
 
#Konfigurationsabschnitt für das VLAN 7.
config vlan '7'
option comment 'RICHTFUNK'
#Ü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
        option ports '5t'
#hier konfigurieren wir das Richtfunk für Babel, der Name muss der gleiche sein wie oben bei VLAN 7
config babelpeer 'RICHTFUNK'
        #weil weiter oben für Richtfunk vlan 7 war, muss hier eine 7 hin
        option vlan '7'
#default Wert
        option type 'wired'
#auf Rücksprache mit den Richtfunkpartner anpassen, erstmal 16384 belassen, wird dann angepasst wenn alles funktioniert.
        option rxcost '16384'
 
#Hier konfigurieren wir das Clientinterface bzw. Clientnetz
config client
#weil weiter oben Client vlan 1 war, muss hier eine 1 hin
        option vlan '1'
#hier kommt die IPv4 Adresse des Gateways mit Subnetz Maske rein
        option ipaddr '10.83.227.225'
#Hier kommt die public IPv6 Adresse des Gateways mit Subnetz Maske rein. Hier könnt ihr die erste Adresse des euch zugewiesenen Subnetzes nehmen.
        #Solltet ihr mal die Konfig teilen müssen, so solltet ihr den Präfix der public IP Adresse aus Datenschutzgründen ändern
        list ip6addr '2001:db8::1/64'
# hier kommt die ULA IPv6 Adresse bzw. das Subnetz des des Gateways rein
        list ip6addr '2001:db8::/64'
# hier kommt die Startadresse vom DHCP rein
        option dhcp_start '10.83.227.230'
        # hier kannst du deine SSID frei wählen
        option essid 'bla.freifunk'
# hier kannst du den Kanal für 2,4GHz frei wählen
        option chan2ghz '13'
# hier kannst du den Kanal für 5GHz frei wählen
        option chan5ghz '36'
 
#Konfigurastionsabschnitt fuer DNS. Die Beispiele sollten funktionieren.
config dns
list server 'fd43:5602:29bd:ffff:a:a:a:a'
list server 'fd43:5602:29bd:ffff::42'
list server '10.83.252.11'
list server '10.83.252.0'
 
#Konfigurationsabschnitt fuer einen WireGuard Tunnel
# 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
config wireguardpeer 'NAME'
#Der Hostname der Gegenseite, es kann auch eine IPv4 oder IPv6 Adresse (ohne []) eingetragen werden
        option endpoint_host 'example.com'
#Port der Gegenseite bzw. deines Peering-Partners
        option endpoint_port '31337'
#Defaultwert stehen lassen
        option persistent_keepalive '20'
#Hier muss der public Key der GEGENSEITE bzw. deines Peering-Partners eingetragen werden
        option remote_public_key '/AB0Y2gSqdbdsuMWsEu+NQf/d9lHdSgTOF5IQj/4Mk4='
# 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 rxcost '4096'
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
</pre>


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

Version vom 9. April 2024, 21:49 Uhr

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

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:

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

Vorwissen

Anbindung per fastd

Anbindung per mesh