Umstrukturierung 2022

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

Vorwort

Da sich der Freifunk vom experimentellen Bürgerfunk mehr und mehr im KBU Netz zur Versorgung von Unterkünften gewandelt hat, hat sich auch ein Problem ergeben: Batman ist überfordert mit der Versorgung der Unterkünften, und das Managen der vielen Geräte über eine gemeinsame Verwaltungssoftware vereinfacht die Arbeit, die in den letzten Jahren an ganz wenigen hängen geblieben ist. Da ist jede Performance-Steigerung und Vereinfachung der Arbeit für Administratoren wichtiger als die flexible Netzstruktur eines Bürgerfunks, der aber weiterhin möglich sein soll. Dafür muss das Netz aber komplett auf den Kopf gestellt werden, und erfolgreiche Vorgehensweisen aus anderen Community's können mit einfließen und uralter Ballast kann abgestoßen werden. [1]

Technische Anbindung öffentlicher Einrichtungen

Inhaltsverzeichnis

  1. Einleitung
  2. Netzwerkdiagramm
  3. Kommunikationsablauf
  4. GRE, BGP und OSPF im Kontext von Freifunk und Hetzner Cloud
  5. Routerkonfiguration
  6. Unifi Provisionierung
  7. UISP Provisionierung
  8. Glossar der verwendeten Technologien

1. Einleitung

Dieses Dokument bietet eine umfassende Übersicht und technische Anleitung zur Konfiguration und Verwendung eines EdgeOS-basierten Routers im Kontext des Freifunk KBU Netzwerks. Ziel ist es, eine detaillierte Darstellung der Netzwerkkonfiguration, des Provisionierungsprozesses von Unifi Accesspoints und der Integration des UISP-Controllers zu bieten.

Das Dokument richtet sich an Netzwerkadministratoren, IT-Fachleute und technisch versierte Freifunk-Enthusiasten, die ein tiefgreifendes Verständnis der Funktionsweise und Konfiguration eines Freifunk-kompatiblen Routers erlangen möchten. Es behandelt verschiedene Aspekte der Netzwerkkonfiguration, einschließlich DHCP- und DNS-Einstellungen, VPN-Einrichtung über WireGuard, NTP-Konfiguration, Firewall-Regeln und die Integration und Verwaltung von Unifi Accesspoints und des UISP-Controllers.

Zusätzlich beinhaltet das Dokument ein Netzwerkdiagramm zur Visualisierung der Netzwerktopologie sowie ein Glossar der verwendeten Technologien und Konzepte, um dem Leser ein besseres Verständnis der einzelnen Komponenten und deren Zusammenspiel zu ermöglichen.

Der Fokus liegt dabei auf der praktischen Anwendung und dem Verständnis der Technologien im Kontext des Freifunk-Netzwerks, mit besonderem Augenmerk auf die Besonderheiten und Anforderungen, die mit der Verwendung von Ubiquiti-Geräten und EdgeOS in einem Freifunk-Umfeld einhergehen.

2. Netzwerkdiagram

Neue Netzstruktur Schema


3. Kommunikationsablauf

3.1 Client-Verbindung zum Router

Clients verbinden sich über LAN-Ports oder WLAN mit dem Router. Diese Verbindung erfolgt entweder direkt über die LAN-Ports des Routers oder indirekt über angeschlossene WLAN-Access-Points.

3.2 Zuweisung von IP-Adressen

Sobald eine Verbindung hergestellt ist, weist der DHCP-Server des Routers dem Client eine IPv4-Adresse aus einem definierten Bereich (z.B. 10.200.0.0/16 zu. IPv6 Adressen werden gemäß SLAAC generiert, dessen Präfix der Router via RadV zuweist. Die Router-Adresse dient als Standard-Gateway für die Clients und wird für die Weiterleitung des Datenverkehrs verwendet.

3.3 DNS-Auflösung

Der Router agiert als DNS-Relay inkl. Caching. DNS-Anfragen der Clients werden vom Router an konfigurierte DNS-Server weitergeleitet, um Domainnamen in IP-Adressen aufzulösen.

3.4 Routing über Wireguard-VPN

Für ausgehenden Datenverkehr stellt der Router eine gesicherte Wireguard-VPN-Verbindung zu vordefinierten Exitnodes her. Diese VPN-Verbindung fungiert als Tunnel, durch den der gesamte Client-Datenverkehr geleitet wird. Die Wireguard-Verbindung nutzt eine dedizierte interne IP-Adresse für die Tunnel-Schnittstelle und stellt über diese eine Verbindung zu den öffentlichen IP-Adressen der Freifunk Exitnodes her.

3.5 Verbindung zu Freifunk Rheinland

Nach dem Durchlaufen des Wireguard-Tunnels wird der Datenverkehr von den Freifunk Exitnodes zum Freifunk Rheinland Backbone weitergeleitet. Dies ermöglicht den Clients den Zugang zum Internet und zu Freifunk-spezifischen Diensten.

3.6 Unifi Accesspoints-Integration

Unifi Accesspoints, die über das LAN-Netzwerk mit dem Router verbunden sind, können auf den Unifi Controller zugreifen, der für die Verwaltung und Konfiguration der WLAN-Access-Points zuständig ist. Dies erfolgt über spezifische Ports, die in den Firewall-Regeln des Routers definiert sind.

3.7 UISP Controller-Konnektivität

Der Router selbst kann eine Verbindung zum UISP Controller herstellen, der für die Fernüberwachung und -verwaltung von Ubiquiti-Geräten im Netzwerk genutzt wird. Diese Verbindung erfolgt über eine spezifische statische Route, die den Traffic zum UISP Controller lenkt.

3.8 Firewall- und Sicherheitsregeln

Der Router implementiert eine Reihe von Firewall-Regeln, um den Datenverkehr zu und von den Clients sowie zwischen den verschiedenen Diensten und externen Zielen zu regulieren. Diese Regeln schützen das Netzwerk vor unerwünschtem Zugriff und gewährleisten die Sicherheit des Datenverkehrs.

4. GRE, BGP und OSPF im Kontext von Freifunk und Hetzner Cloud

In einem Freifunk-Netzwerk, insbesondere wenn es in der Hetzner Cloud implementiert wird, spielen GRE (Generic Routing Encapsulation), BGP (Border Gateway Protocol) und OSPF (Open Shortest Path First) eine zentrale Rolle für die Netzwerkeffizienz und -stabilität. Diese Technologien ermöglichen eine flexible, skalierbare und effiziente Netzwerkkonfiguration und -verwaltung. Im Folgenden wird der Sinn und Zweck dieser Technologien im Kontext von Freifunk und Hetzner Cloud erläutert:

4.1 GRE (Generic Routing Encapsulation)

  • Zweck: GRE wird in Freifunk-Netzwerken verwendet, um eine Punkt-zu-Punkt-Verbindung zwischen verschiedenen Netzwerkgeräten über ein IP-basiertes Netzwerk zu ermöglichen. Dies ist besonders nützlich in Cloud-Umgebungen wie Hetzner Cloud, wo Geräte über das Internet verbunden sind.
  • Vorteile: GRE ermöglicht die Kapselung verschiedener Netzwerkprotokolle über IP-Netzwerke, wodurch die Schaffung von virtuellen Netzwerkverbindungen zwischen Geräten in unterschiedlichen geografischen Standorten ermöglicht wird. Es ist eine einfache und effektive Methode, um Netzwerke über unabhängige Infrastrukturen hinweg zu verbinden.

4.2 BGP (Border Gateway Protocol)

  • Zweck: BGP ist ein Kernprotokoll zur Steuerung der Weiterleitung und des Routings im Internet. In Freifunk-Netzwerken, die auf der Hetzner Cloud basieren, kann BGP dazu verwendet werden, die Routenverteilung zwischen verschiedenen Freifunk-Gateways und der Cloud-Infrastruktur zu steuern.
  • Vorteile: Mit BGP können dynamische, effiziente und skalierbare Routing-Entscheidungen getroffen werden. Es unterstützt die Lastverteilung und Redundanz, was in einem wachsenden und sich verändernden Netzwerk wie Freifunk besonders wichtig ist.

4.3 OSPF (Open Shortest Path First)

  • Zweck: OSPF ist ein internes Gateway-Protokoll, das für das Routing innerhalb eines autonomen Systems wie dem eines Freifunk-Netzwerks verwendet wird. In Kombination mit der Hetzner Cloud ermöglicht OSPF eine effiziente interne Routenberechnung und -verteilung.
  • Vorteile: OSPF ist besonders nützlich für komplexe Netzwerktopologien, wie sie in Freifunk-Netzwerken oft vorkommen. Es ermöglicht eine schnelle Anpassung an Netzwerkänderungen, wie z.B. das Hinzufügen oder Entfernen von Knoten, und gewährleistet so eine optimale Routenwahl.

Die Integration von GRE, BGP und OSPF in Freifunk-Netzwerken, die auf Cloud-Diensten wie Hetzner Cloud basieren, bietet eine robuste Lösung für das Routing und die Netzwerkverwaltung. Diese Technologien tragen dazu bei, die Netzwerkleistung zu optimieren, die Skalierbarkeit zu erhöhen und eine hohe Verfügbarkeit und Zuverlässigkeit des Freifunk-Netzwerks zu gewährleisten.

Ubiquiti-edgerouter
Ubiquiti-edgerouter

5. Routerkonfiguration

Die Konfiguration des Routers im Freifunk-Netzwerk basiert auf dem EdgeOS-Betriebssystem und umfasst mehrere wichtige Schritte und Kommandos. Die Konfiguration ist in verschiedene Abschnitte gegliedert, darunter Firmware-Upgrade, Portkonfiguration, Netzwerkeinstellungen, DNS- und DHCP-Konfiguration, WireGuard-VPN-Einrichtung, NTP-Konfiguration und Firewall-Regeln. Der folgende Abschnitt beschreibt Auszüge aus dem Provisionierungsscript.

5.1 Firmware-Upgrade:

Bevor mit der Konfiguration begonnen wird, ist es wichtig, die Firmware des Routers zu überprüfen und gegebenenfalls zu aktualisieren.

add system image /tmp/firmware.tar

5.2 Portkonfiguration:

Die Portkonfiguration des Routers wird entsprechend den Netzwerkanforderungen eingestellt:

  • ETH0: WAN1
  • ETH1: WAN2
  • ETH2: LAN

5.3 Grundeinstellungen des Routers

Grundeinstellungen umfassen die Definition des Routernamens, der Standortadresse und anderer spezifischer Einstellungen:

set system host-name fflkw
set system location "Musterstraße 123, 12345 Musterstadt"
set system login user ubnt authentication encrypted-password '***' 

5.4 DNS- und DHCP-Einstellungen

DNS- und DHCP-Konfigurationen werden vorgenommen, um Netzwerkclients IP-Adressen zuzuweisen und DNS-Anfragen zu verwalten:

set service dhcp-server shared-network-name LAN subnet 10.200.0.0/16 start 10.200.0.101 stop 10.200.255.254
set service dns forwarding name-server 10.0.1.3
set service dns forwarding name-server 10.0.1.4 

5.5 WireGuard-VPN-Konfiguration

Einrichtung von WireGuard-VPN mit detaillierten Einstellungen für Endpunkte, Gateways und private Schlüssel:

set interfaces wireguard wg0 address 10.100.0.11/32
set interfaces wireguard wg0 address 2a03:2260:101a:100::11/128
set interfaces wireguard wg0 peer *** endpoint 116.203.4.48:19405
set interfaces wireguard wg0 peer *** allowed-ips ::/0,0.0.0.0/0
set interfaces wireguard wg0 private-key /config/auth/wg.key</syntaxhighlight>

5.6 NTP (Network Time Protocol) Einstellungen

Konfiguration von NTP-Servern für die Zeit-Synchronisation:

set system ntp server 192.53.103.103 prefer
set system ntp server 10.0.1.3
set system ntp server 10.0.1.4

5.7 Firewall-Regeln

Einrichtung von Firewall-Regeln für verschiedene Szenarien, einschließlich WAN- und LAN-Schnittstellen sowie IPv4- und IPv6-Konfigurationen:

set firewall name WAN_LOCAL_V4 rule 10 action accept
set firewall name WAN_LOCAL_V4 rule 10 protocol icmp
set firewall name WAN_LOCAL_V4 rule 20 action accept
set firewall name WAN_LOCAL_V4 rule 20 protocol tcp
set firewall name WAN_LOCAL_V4 rule 20 destination port 22

5.8 Systemleistung und Optimierungen

Einstellungen zur Systemleistung und Offloading-Optionen, abhängig vom Routermodell:

set system offload hwnat enable
set system offload ipv4 forwarding enable
set system offload ipv6 forwarding enable 

5.9 Abschluss der Konfiguration

Speichern der Konfiguration und Ausführen zusätzlicher Befehle zur Sicherstellung der NTP-Zeitsynchronisation:

commit
save
exit
set date ntp

6. Unifi Provisionierung

Der Provisionierungsablauf von Unifi Accesspoints (APs) anhand der gegebenen Routerkonfiguration ist ein mehrstufiger Prozess, der eine nahtlose Integration der APs in das Netzwerk unter Verwendung des Unifi Controllers ermöglicht. Hier ist eine detaillierte Beschreibung des Ablaufs:

6.1 Physische Verbindung und Initialisierung

Die Unifi APs werden physisch mit dem Router verbunden, typischerweise über die LAN-Ports des Routers. Sobald die Verbindung hergestellt ist, initialisieren sich die APs und beziehen ihre Grundkonfigurationen über das Netzwerk. <img style="width: 55%; float: right; padding: 24px 0px 0px 16px" src="unifi_provisioning.png">

Unifi provisioning
Unifi provisioning

6.2 DHCP und Netzwerkzuweisung

Die APs erhalten automatisch eine IP-Adresse vom DHCP-Server des Routers. Dieser Schritt ist entscheidend, da die APs eine gültige IP-Adresse benötigen, um mit dem Unifi Controller kommunizieren zu können.

6.3 DNS-Auflösung des Unifi Controllers

Der Unifi Controller wird typischerweise über einen Domainnamen angesprochen. Die APs nutzen den DNS-Service des Routers, um die IP-Adresse des Unifi Controllers zu ermitteln. Der Router leitet DNS-Anfragen an die konfigurierten primären und sekundären DNS-Server weiter.

6.4 Kommunikation mit dem Unifi Controller

Sobald die APs die IP-Adresse des Unifi Controllers kennen, initiieren sie eine Verbindung zu diesem. Die Firewall-Regeln des Routers erlauben spezifischen Traffic (gemäß den in der Konfiguration definierten Regeln) zu den Ports des Unifi Controllers.

6.5 Provisionierung und Konfiguration =

Der Unifi Controller erkennt die neuen APs und beginnt mit der Provisionierung. Dies umfasst das Senden von Konfigurationsdaten an die APs, einschließlich Netzwerkeinstellungen, SSIDs und Sicherheitsprotokollen.

6.6 Betriebsbereitschaft und Management

Nach Abschluss der Provisionierung sind die APs betriebsbereit und bieten Zugriffspunkte für das WLAN-Netzwerk. Der Unifi Controller überwacht und verwaltet die APs kontinuierlich, ermöglicht Firmware-Updates, Netzwerkanpassungen und Leistungsüberwachung.

6.7 Sicherheitsaspekte

Die Sicherheit im gesamten Provisionierungsprozess wird durch die Firewall-Regeln des Routers, die verschlüsselte Kommunikation zwischen den APs und dem Controller sowie durch die Sicherheitsprotokolle der WLAN-Netzwerke gewährleistet.

7. UISP Provisionierung

Die Konnektivität eines EdgeOS-basierten Routers mit dem UISP (Ubiquiti Network Management System) erfolgt in mehreren Schritten. Diese Schritte sind speziell auf die Konfiguration und Funktionalitäten von EdgeOS zugeschnitten. Hier ist der Ablauf: <img style="width: 55%; float: right; padding: 24px 0px 0px 16px" src="uisp_provisioning.png">

Uisp provisioning
Uisp provisioning

7.1 Vorbereitung der EdgeOS-Konfiguration

Zunächst muss sichergestellt werden, dass der Router korrekt konfiguriert ist und eine stabile Internetverbindung hat. Dies beinhaltet die richtige Einstellung der WAN- und LAN-Interfaces und die Gewährleistung, dass der Router DNS-Anfragen korrekt auflösen kann.

7.2 Einrichtung einer statischen Route zu UISP

Im EdgeOS wird eine statische Route zum UISP-Server eingerichtet. Das bedeutet, dass Traffic, der für UISP bestimmt ist, explizit über eine bestimmte Route (typischerweise über das WAN-Interface) gesendet wird. Dies kann durch Befehle wie

set protocols static route <UISP_SERVER_IP>/32 next-hop <WAN_INTERFACE_GATEWAY_IP>

konfiguriert werden.

7.3 DNS-Konfiguration für UISP

Der EdgeOS-Router muss in der Lage sein, den DNS-Namen des UISP-Servers aufzulösen. Daher muss der DNS-Dienst des Routers korrekt konfiguriert sein, um Anfragen an die entsprechenden DNS-Server weiterzuleiten.

7.4 Firewall-Konfiguration

Die Firewall des Routers muss so konfiguriert werden, dass Verbindungen zum UISP-Server zugelassen werden. Dies umfasst das Öffnen der notwendigen Ports und das Erlauben ausgehenden Traffics zum UISP-Server.

7.5 Einrichtung der UISP-Agent-Software auf dem Router

EdgeOS erfordert die Installation und Konfiguration des UISP-Agenten auf dem Router. Dieser Agent ist verantwortlich für die Kommunikation mit dem UISP-Server. Die Installation kann über die Kommandozeile des EdgeOS erfolgen, und der Agent muss mit den entsprechenden Zugangsdaten für den UISP-Server konfiguriert werden.

7.6 Registrierung und Authentifizierung am UISP-Server

Nach der Einrichtung des UISP-Agenten muss der Router sich beim UISP-Server registrieren. Dies erfolgt in der Regel über die UISP-Benutzeroberfläche, wo der Router hinzugefügt und authentifiziert wird.

7.7 Überwachung und Verwaltung

Sobald die Verbindung hergestellt ist, kann der Router über die UISP-Oberfläche überwacht und verwaltet werden. Dies beinhaltet den Zugriff auf Statusinformationen, Leistungsdaten, Konfigurationseinstellungen und die Möglichkeit, Firmware-Updates zu verwalten.

Dieser Prozess ermöglicht eine effektive Fernverwaltung des EdgeOS-Routers über das UISP, was zu einer verbesserten Netzwerkverwaltung und -überwachung führt.

8. Glossar der verwendeten Technologien

Referenzen

  1. [1], Beitrag von Julian in Matrix