Umstrukturierung 2022: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
(Versuch Referenz)
(Referenz)
Zeile 1: Zeile 1:
[[Datei:Neue Netzstruktur Schema.png|mini|alternativtext=Neue Netzstruktur|Neue Netzstruktur]]
[[Datei:Neue Netzstruktur Schema.png|mini|alternativtext=Neue Netzstruktur|Neue Netzstruktur]]
== Vorwort ==
== 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.
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. <ref>[https://matrix.to/#/!mWQOqTrcDpdAspBQVZ:matrix.org/$uPzwcCg5kVDaEsENxMT5d5-WXgGc8SIsj1HMRUSFPWw?via=matrix.org&via=tchncs.de&via=networkx.de], Beitrag von Julian in Matrix</ref>


<span id="freifunk-kbu-netzübersicht"></span>
<span id="freifunk-kbu-netzübersicht"></span>
== Freifunk KBU Netzübersicht ==
==Freifunk KBU Netzübersicht==


<span id="inhaltsverzeichnis"></span>
<span id="inhaltsverzeichnis"></span>
=== Inhaltsverzeichnis ===
===Inhaltsverzeichnis===  


# [[#1-einleitung|Einleitung]]
#[[#1-einleitung|Einleitung]]
# [[#2-netzwerkdiagramm|Netzwerkdiagramm]]
#[[#2-netzwerkdiagramm|Netzwerkdiagramm]]
# [[#3-kommunikationsablauf|Kommunikationsablauf]]
#[[#3-kommunikationsablauf|Kommunikationsablauf]]
#* [[#31-client-verbindung-zum-router|3.1 Client-Verbindung zum Router]]
#*[[#31-client-verbindung-zum-router|3.1 Client-Verbindung zum Router]]
#* [[#32-zuweisung-von-ip-adressen|3.2 Zuweisung von IP-Adressen]]
#*[[#32-zuweisung-von-ip-adressen|3.2 Zuweisung von IP-Adressen]]
#* [[#33-dns-auflösung|3.3 DNS-Auflösung]]
#*[[#33-dns-auflösung|3.3 DNS-Auflösung]]
#* [[#34-routing-über-wireguard-vpn|3.4 Routing über Wireguard-VPN]]
#*[[#34-routing-über-wireguard-vpn|3.4 Routing über Wireguard-VPN]]
#* [[#35-verbindung-zu-freifunk-rheinland|3.5 Verbindung zu Freifunk Rheinland]]
#*[[#35-verbindung-zu-freifunk-rheinland|3.5 Verbindung zu Freifunk Rheinland]]
#* [[#36-unifi-accesspoints-integration|3.6 Unifi Accesspoints-Integration]]
#*[[#36-unifi-accesspoints-integration|3.6 Unifi Accesspoints-Integration]]
#* [[#37-uisp-controller-konnektivität|3.7 UISP Controller-Konnektivität]]
#*[[#37-uisp-controller-konnektivität|3.7 UISP Controller-Konnektivität]]
#* [[#38-firewall-und-sicherheitsregeln|3.8 Firewall- und Sicherheitsregeln]]
#*[[#38-firewall-und-sicherheitsregeln|3.8 Firewall- und Sicherheitsregeln]]
# [[#4-gre-bgp-und-ospf-im-kontext-von-freifunk-und-hetzner-cloud|GRE, BGP und OSPF im Kontext von Freifunk und Hetzner Cloud]]
#[[#4-gre-bgp-und-ospf-im-kontext-von-freifunk-und-hetzner-cloud|GRE, BGP und OSPF im Kontext von Freifunk und Hetzner Cloud]]
#* [[#41-gre-generic-routing-encapsulation|4.1 GRE (Generic Routing Encapsulation)]]
#*[[#41-gre-generic-routing-encapsulation|4.1 GRE (Generic Routing Encapsulation)]]
#* [[#42-bgp-border-gateway-protocol|4.2 BGP (Border Gateway Protocol)]]
#*[[#42-bgp-border-gateway-protocol|4.2 BGP (Border Gateway Protocol)]]
#* [[#43-ospf-open-shortest-path-first|4.3 OSPF (Open Shortest Path First)]]
#*[[#43-ospf-open-shortest-path-first|4.3 OSPF (Open Shortest Path First)]]
# [[#5-routerkonfiguration|Routerkonfiguration]]
#[[#5-routerkonfiguration|Routerkonfiguration]]
#* [[#51-firmware-upgrade|5.1 Firmware-Upgrade]]
#*[[#51-firmware-upgrade|5.1 Firmware-Upgrade]]
#* [[#52-portkonfiguration|5.2 Portkonfiguration]]
#*[[#52-portkonfiguration|5.2 Portkonfiguration]]
#* [[#53-grundeinstellungen-des-routers|5.3 Grundeinstellungen des Routers]]
#*[[#53-grundeinstellungen-des-routers|5.3 Grundeinstellungen des Routers]]
#* [[#54-dns--und-dhcp-einstellungen|5.4 DNS- und DHCP-Einstellungen]]
#*[[#54-dns--und-dhcp-einstellungen|5.4 DNS- und DHCP-Einstellungen]]
#* [[#55-wireguard-vpn-konfiguration|5.5 WireGuard-VPN-Konfiguration]]
#*[[#55-wireguard-vpn-konfiguration|5.5 WireGuard-VPN-Konfiguration]]
#* [[#56-ntp-network-time-protocol-einstellungen|5.6 NTP (Network Time Protocol) Einstellungen]]
#*[[#56-ntp-network-time-protocol-einstellungen|5.6 NTP (Network Time Protocol) Einstellungen]]
#* [[#57-firewall-regeln|5.7 Firewall-Regeln]]
#*[[#57-firewall-regeln|5.7 Firewall-Regeln]]
#* [[#58-systemleistung-und-optimierungen|5.8 Systemleistung und Optimierungen]]
#* [[#58-systemleistung-und-optimierungen|5.8 Systemleistung und Optimierungen]]
#* [[#59-abschluss-der-konfiguration|5.9 Abschluss der Konfiguration]]
#*[[#59-abschluss-der-konfiguration|5.9 Abschluss der Konfiguration]]
# [[#6-unifi-provisionierung|Unifi Provisionierung]]
#[[#6-unifi-provisionierung|Unifi Provisionierung]]
#* [[#61-physische-verbindung-und-initialisierung|6.1 Physische Verbindung und Initialisierung]]
#*[[#61-physische-verbindung-und-initialisierung|6.1 Physische Verbindung und Initialisierung]]
#* [[#62-dhcp-und-netzwerkzuweisung|6.2 DHCP und Netzwerkzuweisung]]
#*[[#62-dhcp-und-netzwerkzuweisung|6.2 DHCP und Netzwerkzuweisung]]
#* [[#63-dns-auflösung-des-unifi-controllers|6.3 DNS-Auflösung des Unifi Controllers]]
#*[[#63-dns-auflösung-des-unifi-controllers|6.3 DNS-Auflösung des Unifi Controllers]]
#* [[#64-kommunikation-mit-dem-unifi-controller|6.4 Kommunikation mit dem Unifi Controller]]
#*[[#64-kommunikation-mit-dem-unifi-controller|6.4 Kommunikation mit dem Unifi Controller]]
#* [[#65-provisionierung-und-konfiguration|6.5 Provisionierung und Konfiguration]]
#*[[#65-provisionierung-und-konfiguration|6.5 Provisionierung und Konfiguration]]
#* [[#66-betriebsbereitschaft-und-management|6.6 Betriebsbereitschaft und Management]]
#*[[#66-betriebsbereitschaft-und-management|6.6 Betriebsbereitschaft und Management]]
#* [[#67-sicherheitsaspekte|6.7 Sicherheitsaspekte]]
#*[[#67-sicherheitsaspekte|6.7 Sicherheitsaspekte]]
# [[#7-uisp-provisionierung|UISP Provisionierung]]
#[[#7-uisp-provisionierung|UISP Provisionierung]]  
#* [[#71-vorbereitung-der-edgeos-konfiguration|7.1 Vorbereitung der EdgeOS-Konfiguration]]
#*[[#71-vorbereitung-der-edgeos-konfiguration|7.1 Vorbereitung der EdgeOS-Konfiguration]]
#* [[#72-einrichtung-einer-statischen-route-zu-uisp|7.2 Einrichtung einer statischen Route zu UISP]]
#*[[#72-einrichtung-einer-statischen-route-zu-uisp|7.2 Einrichtung einer statischen Route zu UISP]]
#* [[#73-dns-konfiguration-für-uisp|7.3 DNS-Konfiguration für UISP]]
#*[[#73-dns-konfiguration-für-uisp|7.3 DNS-Konfiguration für UISP]]
#* [[#74-firewall-konfiguration|7.4 Firewall-Konfiguration]]
#*[[#74-firewall-konfiguration|7.4 Firewall-Konfiguration]]
#* [[#75-einrichtung-der-uisp-agent-software-auf-dem-router|7.5 Einrichtung der UISP-Agent-Software auf dem Router]]
#*[[#75-einrichtung-der-uisp-agent-software-auf-dem-router|7.5 Einrichtung der UISP-Agent-Software auf dem Router]]
#* [[#76-registrierung-und-authentifizierung-am-uisp-server|7.6 Registrierung und Authentifizierung am UISP-Server]]
#*[[#76-registrierung-und-authentifizierung-am-uisp-server|7.6 Registrierung und Authentifizierung am UISP-Server]]
#* [[#77-überwachung-und-verwaltung|7.7 Überwachung und Verwaltung]]
#*[[#77-überwachung-und-verwaltung|7.7 Überwachung und Verwaltung]]
# [[#8-glossar-der-verwendeten-technologien|Glossar der verwendeten Technologien]]
#[[#8-glossar-der-verwendeten-technologien|Glossar der verwendeten Technologien]]


<span id="einleitung"></span>
<span id="einleitung"></span>
=== 1. Einleitung ===
===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.
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.
Zeile 64: Zeile 64:


<span id="netzwerkdiagram"></span>
<span id="netzwerkdiagram"></span>
=== 2. Netzwerkdiagram ===
===2. Netzwerkdiagram===


<img style="float: none; padding: 24px 0px" src="netz.jpg">
<img style="float: none; padding: 24px 0px" src="netz.jpg">


<span id="kommunikationsablauf"></span>
<span id="kommunikationsablauf"></span>
=== 3. Kommunikationsablauf ===
===3. Kommunikationsablauf===


<span id="client-verbindung-zum-router"></span>
<span id="client-verbindung-zum-router"></span>
==== 3.1 Client-Verbindung zum Router ====
====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.
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.


<span id="zuweisung-von-ip-adressen"></span>
<span id="zuweisung-von-ip-adressen"></span>
==== 3.2 Zuweisung von IP-Adressen ====
====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. <code>10.200.0.0/16</code> 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.
Sobald eine Verbindung hergestellt ist, weist der DHCP-Server des Routers dem Client eine IPv4-Adresse aus einem definierten Bereich (z.B. <code>10.200.0.0/16</code> 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.


<span id="dns-auflösung"></span>
<span id="dns-auflösung"></span>
==== 3.3 DNS-Auflösung ====
====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.
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.


<span id="routing-über-wireguard-vpn"></span>
<span id="routing-über-wireguard-vpn"></span>
==== 3.4 Routing über Wireguard-VPN ====
====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.
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.


<span id="verbindung-zu-freifunk-rheinland"></span>
<span id="verbindung-zu-freifunk-rheinland"></span>
==== 3.5 Verbindung zu Freifunk Rheinland ====
====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.
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.


<span id="unifi-accesspoints-integration"></span>
<span id="unifi-accesspoints-integration"></span>
==== 3.6 Unifi Accesspoints-Integration ====
====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.
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.


<span id="uisp-controller-konnektivität"></span>
<span id="uisp-controller-konnektivität"></span>
==== 3.7 UISP Controller-Konnektivität ====
====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.
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.


<span id="firewall--und-sicherheitsregeln"></span>
<span id="firewall--und-sicherheitsregeln"></span>
==== 3.8 Firewall- und Sicherheitsregeln ====
==== 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.
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.


<span id="gre-bgp-und-ospf-im-kontext-von-freifunk-und-hetzner-cloud"></span>
<span id="gre-bgp-und-ospf-im-kontext-von-freifunk-und-hetzner-cloud"></span>
=== 4. GRE, BGP und OSPF im Kontext von Freifunk und Hetzner Cloud ===
===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:
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:


<span id="gre-generic-routing-encapsulation"></span>
<span id="gre-generic-routing-encapsulation"></span>
==== 4.1 GRE (Generic Routing Encapsulation) ====
==== 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.
* '''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.
*'''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.


<span id="bgp-border-gateway-protocol"></span>
<span id="bgp-border-gateway-protocol"></span>
==== 4.2 BGP (Border Gateway Protocol) ====
====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.
*'''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.
*'''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.


<span id="ospf-open-shortest-path-first"></span>
<span id="ospf-open-shortest-path-first"></span>
==== 4.3 OSPF (Open Shortest Path First) ====
====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.
*'''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.
*'''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.
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.
Zeile 139: Zeile 139:


<span id="routerkonfiguration"></span>
<span id="routerkonfiguration"></span>
=== 5. Routerkonfiguration ===
===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.
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.


<span id="firmware-upgrade"></span>
<span id="firmware-upgrade"></span>
==== 5.1 Firmware-Upgrade: ====
====5.1 Firmware-Upgrade:====


Bevor mit der Konfiguration begonnen wird, ist es wichtig, die Firmware des Routers zu überprüfen und gegebenenfalls zu aktualisieren. Die Befehle für das Firmware-Upgrade hängen vom spezifischen Routermodell ab: - Für ER-X, ER-10X, ER-X-SFP und EP-R6: <code>bash  add system image https://dl.ui.com/firmwares/edgemax/v3.0.0-rc.5/ER-e50.v3.0.0-rc.5.5669575.tar</code> - Für ER-4, ER-6P, ER-12 und ER-12P: <code>bash  add system image https://dl.ui.com/firmwares/edgemax/v3.0.0-rc.5/ER-e300.v3.0.0-rc.5.5669576.tar</code> ### 5.2 Portkonfiguration Die Portkonfiguration des Routers wird entsprechend den Netzwerkanforderungen eingestellt: - ETH0: WAN1 - ETH1: SVC - ETH2: WAN2 (optional) - ETH3: LAN1 - ETH4: LAN2 (falls vorhanden)
Bevor mit der Konfiguration begonnen wird, ist es wichtig, die Firmware des Routers zu überprüfen und gegebenenfalls zu aktualisieren. Die Befehle für das Firmware-Upgrade hängen vom spezifischen Routermodell ab: - Für ER-X, ER-10X, ER-X-SFP und EP-R6: <code>bash  add system image https://dl.ui.com/firmwares/edgemax/v3.0.0-rc.5/ER-e50.v3.0.0-rc.5.5669575.tar</code> - Für ER-4, ER-6P, ER-12 und ER-12P: <code>bash  add system image https://dl.ui.com/firmwares/edgemax/v3.0.0-rc.5/ER-e300.v3.0.0-rc.5.5669576.tar</code> ### 5.2 Portkonfiguration Die Portkonfiguration des Routers wird entsprechend den Netzwerkanforderungen eingestellt: - ETH0: WAN1 - ETH1: SVC - ETH2: WAN2 (optional) - ETH3: LAN1 - ETH4: LAN2 (falls vorhanden)


<span id="grundeinstellungen-des-routers"></span>
<span id="grundeinstellungen-des-routers"></span>
==== 5.3 Grundeinstellungen des Routers ====
====5.3 Grundeinstellungen des Routers ====


Grundeinstellungen umfassen die Definition des Routernamens, der Standortadresse und anderer spezifischer Einstellungen:
Grundeinstellungen umfassen die Definition des Routernamens, der Standortadresse und anderer spezifischer Einstellungen:
Zeile 157: Zeile 157:
set system login user ubnt authentication encrypted-password '***'</syntaxhighlight>
set system login user ubnt authentication encrypted-password '***'</syntaxhighlight>
<span id="dns--und-dhcp-einstellungen"></span>
<span id="dns--und-dhcp-einstellungen"></span>
==== 5.4 DNS- und DHCP-Einstellungen ====
====5.4 DNS- und DHCP-Einstellungen====


DNS- und DHCP-Konfigurationen werden vorgenommen, um Netzwerkclients IP-Adressen zuzuweisen und DNS-Anfragen zu verwalten:
DNS- und DHCP-Konfigurationen werden vorgenommen, um Netzwerkclients IP-Adressen zuzuweisen und DNS-Anfragen zu verwalten:
Zeile 165: Zeile 165:
set service dns forwarding name-server 10.0.1.4</syntaxhighlight>
set service dns forwarding name-server 10.0.1.4</syntaxhighlight>
<span id="wireguard-vpn-konfiguration"></span>
<span id="wireguard-vpn-konfiguration"></span>
==== 5.5 WireGuard-VPN-Konfiguration ====
====5.5 WireGuard-VPN-Konfiguration ====


Einrichtung von WireGuard-VPN mit detaillierten Einstellungen für Endpunkte, Gateways und private Schlüssel:
Einrichtung von WireGuard-VPN mit detaillierten Einstellungen für Endpunkte, Gateways und private Schlüssel:
Zeile 175: Zeile 175:
set interfaces wireguard wg0 private-key /config/auth/wg.key</syntaxhighlight>
set interfaces wireguard wg0 private-key /config/auth/wg.key</syntaxhighlight>
<span id="ntp-network-time-protocol-einstellungen"></span>
<span id="ntp-network-time-protocol-einstellungen"></span>
==== 5.6 NTP (Network Time Protocol) Einstellungen ====
====5.6 NTP (Network Time Protocol) Einstellungen====


Konfiguration von NTP-Servern für die Zeit-Synchronisation:
Konfiguration von NTP-Servern für die Zeit-Synchronisation:
Zeile 183: Zeile 183:
set system ntp server 10.0.1.4</syntaxhighlight>
set system ntp server 10.0.1.4</syntaxhighlight>
<span id="firewall-regeln"></span>
<span id="firewall-regeln"></span>
==== 5.7 Firewall-Regeln ====
====5.7 Firewall-Regeln====


Einrichtung von Firewall-Regeln für verschiedene Szenarien, einschließlich WAN- und LAN-Schnittstellen sowie IPv4- und IPv6-Konfigurationen:
Einrichtung von Firewall-Regeln für verschiedene Szenarien, einschließlich WAN- und LAN-Schnittstellen sowie IPv4- und IPv6-Konfigurationen:
Zeile 193: Zeile 193:
set firewall name WAN_LOCAL_V4 rule 20 destination port 22</syntaxhighlight>
set firewall name WAN_LOCAL_V4 rule 20 destination port 22</syntaxhighlight>
<span id="systemleistung-und-optimierungen"></span>
<span id="systemleistung-und-optimierungen"></span>
==== 5.8 Systemleistung und Optimierungen ====
==== 5.8 Systemleistung und Optimierungen====


Einstellungen zur Systemleistung und Offloading-Optionen, abhängig vom Routermodell:
Einstellungen zur Systemleistung und Offloading-Optionen, abhängig vom Routermodell:
Zeile 201: Zeile 201:
set system offload ipv6 forwarding enable</syntaxhighlight>
set system offload ipv6 forwarding enable</syntaxhighlight>
<span id="abschluss-der-konfiguration"></span>
<span id="abschluss-der-konfiguration"></span>
==== 5.9 Abschluss der Konfiguration ====
====5.9 Abschluss der Konfiguration====


Speichern der Konfiguration und Ausführen zusätzlicher Befehle zur Sicherstellung der NTP-Zeitsynchronisation:
Speichern der Konfiguration und Ausführen zusätzlicher Befehle zur Sicherstellung der NTP-Zeitsynchronisation:
Zeile 210: Zeile 210:
set date ntp</syntaxhighlight>
set date ntp</syntaxhighlight>
<span id="unifi-provisionierung"></span>
<span id="unifi-provisionierung"></span>
=== 6. Unifi Provisionierung ===
===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:
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:


<span id="physische-verbindung-und-initialisierung"></span>
<span id="physische-verbindung-und-initialisierung"></span>
==== 6.1 Physische Verbindung und Initialisierung ====
====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">
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">


<span id="dhcp-und-netzwerkzuweisung"></span>
<span id="dhcp-und-netzwerkzuweisung"></span>
==== 6.2 DHCP und Netzwerkzuweisung ====
====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.
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.


<span id="dns-auflösung-des-unifi-controllers"></span>
<span id="dns-auflösung-des-unifi-controllers"></span>
==== 6.3 DNS-Auflösung des Unifi Controllers ====
====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.
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.


<span id="kommunikation-mit-dem-unifi-controller"></span>
<span id="kommunikation-mit-dem-unifi-controller"></span>
==== 6.4 Kommunikation mit dem Unifi Controller ====
====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.
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.


<span id="provisionierung-und-konfiguration"></span>
<span id="provisionierung-und-konfiguration"></span>
==== 6.5 Provisionierung und Konfiguration =====
====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.
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.


<span id="betriebsbereitschaft-und-management"></span>
<span id="betriebsbereitschaft-und-management"></span>
==== 6.6 Betriebsbereitschaft und Management ====
====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.
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.


<span id="sicherheitsaspekte"></span>
<span id="sicherheitsaspekte"></span>
==== 6.7 Sicherheitsaspekte ====
====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.
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.


<span id="uisp-provisionierung"></span>
<span id="uisp-provisionierung"></span>
=== 7. UISP Provisionierung ===
===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">
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">


<span id="vorbereitung-der-edgeos-konfiguration"></span>
<span id="vorbereitung-der-edgeos-konfiguration"></span>
==== 7.1 Vorbereitung der EdgeOS-Konfiguration ====
==== 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.
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.


<span id="einrichtung-einer-statischen-route-zu-uisp"></span>
<span id="einrichtung-einer-statischen-route-zu-uisp"></span>
==== 7.2 Einrichtung einer statischen Route zu UISP ====
==== 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 <code>set protocols static route &lt;UISP_SERVER_IP&gt;/32 next-hop &lt;WAN_INTERFACE_GATEWAY_IP&gt;</code> konfiguriert werden.
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 <code>set protocols static route &lt;UISP_SERVER_IP&gt;/32 next-hop &lt;WAN_INTERFACE_GATEWAY_IP&gt;</code> konfiguriert werden.


<span id="dns-konfiguration-für-uisp"></span>
<span id="dns-konfiguration-für-uisp"></span>
==== 7.3 DNS-Konfiguration für UISP ====
====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.
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.


<span id="firewall-konfiguration"></span>
<span id="firewall-konfiguration"></span>
==== 7.4 Firewall-Konfiguration ====
====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.
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.


<span id="einrichtung-der-uisp-agent-software-auf-dem-router"></span>
<span id="einrichtung-der-uisp-agent-software-auf-dem-router"></span>
==== 7.5 Einrichtung der UISP-Agent-Software auf dem Router ====
====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.
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.


<span id="registrierung-und-authentifizierung-am-uisp-server"></span>
<span id="registrierung-und-authentifizierung-am-uisp-server"></span>
==== 7.6 Registrierung und Authentifizierung am UISP-Server ====
====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.
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.


<span id="überwachung-und-verwaltung"></span>
<span id="überwachung-und-verwaltung"></span>
==== 7.7 Überwachung und Verwaltung ====
====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.
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.
Zeile 292: Zeile 292:


<span id="glossar-der-verwendeten-technologien"></span>
<span id="glossar-der-verwendeten-technologien"></span>
=== 8. Glossar der verwendeten Technologien ===
===8. Glossar der verwendeten Technologien===


* '''Freifunk''': [https://freifunk.net/ Freifunk Website]
*'''Freifunk''': [https://freifunk.net/ Freifunk Website]
* '''EdgeOS''': [https://dl.ubnt.com/guides/edgemax/EdgeOS_UG.pdf EdgeOS User Guide]
*'''EdgeOS''': [https://dl.ubnt.com/guides/edgemax/EdgeOS_UG.pdf EdgeOS User Guide]
* '''WireGuard VPN''': [https://www.wireguard.com/ WireGuard Official Site]
*'''WireGuard VPN''': [https://www.wireguard.com/ WireGuard Official Site]
* '''Freifunk Rheinland e.V.''': [https://www.freifunk-rheinland.net/ Freifunk Rheinland Website]
*'''Freifunk Rheinland e.V.''': [https://www.freifunk-rheinland.net/ Freifunk Rheinland Website]
* '''Unifi Controller''': [https://help.ui.com/hc/en-us/categories/200320654-UniFi-Network Unifi Controller Documentation]
*'''Unifi Controller''': [https://help.ui.com/hc/en-us/categories/200320654-UniFi-Network Unifi Controller Documentation]
* '''UISP (Ubiquiti Network Management System)''': [https://uisp.com UISP Info]
*'''UISP (Ubiquiti Network Management System)''': [https://uisp.com UISP Info]
<references />
<references group="Referrenzen" />
[[Kategorie:Umstrukturierung]]
[[Kategorie:Umstrukturierung]]
[[Kategorie:Netzdesign]]
[[Kategorie:Netzdesign]]

Version vom 13. Januar 2024, 16:13 Uhr

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]

Freifunk KBU Netzübersicht

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

<img style="float: none; padding: 24px 0px" src="netz.jpg">

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.

<img style="width: 45%; float: right; padding: 24px 0px 0px 16px" src="ubiquiti-edgerouter-4.jpg">

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. Die Befehle für das Firmware-Upgrade hängen vom spezifischen Routermodell ab: - Für ER-X, ER-10X, ER-X-SFP und EP-R6: bash add system image https://dl.ui.com/firmwares/edgemax/v3.0.0-rc.5/ER-e50.v3.0.0-rc.5.5669575.tar - Für ER-4, ER-6P, ER-12 und ER-12P: bash add system image https://dl.ui.com/firmwares/edgemax/v3.0.0-rc.5/ER-e300.v3.0.0-rc.5.5669576.tar ### 5.2 Portkonfiguration Die Portkonfiguration des Routers wird entsprechend den Netzwerkanforderungen eingestellt: - ETH0: WAN1 - ETH1: SVC - ETH2: WAN2 (optional) - ETH3: LAN1 - ETH4: LAN2 (falls vorhanden)

5.3 Grundeinstellungen des Routers

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

<syntaxhighlight lang="bash">set system host-name fflkw set system location "Musterstraße 123, 12345 Musterstadt" set system login user ubnt authentication encrypted-password '***'</syntaxhighlight>

5.4 DNS- und DHCP-Einstellungen

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

<syntaxhighlight lang="bash">set service dhcp-server shared-network-name LAN1 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</syntaxhighlight>

5.5 WireGuard-VPN-Konfiguration

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

<syntaxhighlight lang="bash">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:

<syntaxhighlight lang="bash">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</syntaxhighlight>

5.7 Firewall-Regeln

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

<syntaxhighlight lang="bash">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</syntaxhighlight>

5.8 Systemleistung und Optimierungen

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

<syntaxhighlight lang="bash">set system offload hwnat enable set system offload ipv4 forwarding enable set system offload ipv6 forwarding enable</syntaxhighlight>

5.9 Abschluss der Konfiguration

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

<syntaxhighlight lang="bash">commit save exit set date ntp</syntaxhighlight>

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

  1. [1], Beitrag von Julian in Matrix