Umstrukturierung 2022
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
- Einleitung
- Netzwerkdiagramm
- Kommunikationsablauf
- GRE, BGP und OSPF im Kontext von Freifunk und Hetzner Cloud
- Routerkonfiguration
- Unifi Provisionierung
- UISP Provisionierung
- 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
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.
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">
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">
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
- Freifunk: Freifunk Website
- EdgeOS: EdgeOS User Guide
- WireGuard VPN: WireGuard Official Site
- Freifunk Rheinland e.V.: Freifunk Rheinland Website
- Unifi Controller: Unifi Controller Documentation
- UISP (Ubiquiti Network Management System): UISP Info