Umstrukturierung 2022: Unterschied zwischen den Versionen
(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 <UISP_SERVER_IP>/32 next-hop <WAN_INTERFACE_GATEWAY_IP></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 <UISP_SERVER_IP>/32 next-hop <WAN_INTERFACE_GATEWAY_IP></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, 15:13 Uhr
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
- 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
<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
- 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