From 24d847324dfa0c971ae93f7fe4376126144725c3 Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Fri, 3 Oct 2025 10:32:49 +0000 Subject: [PATCH] =?UTF-8?q?Kapitel=204/Free=20Rohtext.md=20hinzugef=C3=BCg?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Kapitel 4/Free Rohtext.md | 166 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 Kapitel 4/Free Rohtext.md diff --git a/Kapitel 4/Free Rohtext.md b/Kapitel 4/Free Rohtext.md new file mode 100644 index 0000000..4c2e535 --- /dev/null +++ b/Kapitel 4/Free Rohtext.md @@ -0,0 +1,166 @@ +# Kapitel 4 – WireGuard (VPN) mit WG-Dashboard + +## Einleitung +Bisher haben wir unsere Dienste im UCC so aufgebaut, dass öffentliche Anwendungen – wie zum Beispiel die Nextcloud – über den Nginx Proxy Manager (NPM) erreichbar sind. +Doch nicht jede Oberfläche sollte ins Internet freigegeben werden. Viele Admin-Dashboards, Diagnose-Tools oder Konfigurationen sind **nur für uns selbst gedacht** und würden im Internet ein leichtes Ziel für automatisierte Angriffe oder Bruteforce darstellen. + +### Zugriff von unterwegs +Stell dir vor, du bist nicht zuhause und möchtest trotzdem dein UCC nutzen: +- Das **Pi-hole** soll auch unterwegs Werbung und Tracker blockieren. +- Eine **Admin-Oberfläche** soll erreichbar sein, ohne sie öffentlich freigeben zu müssen. +- Du möchtest dich per **SSH oder Terminal** einloggen, um eine schnelle Diagnose durchzuführen. + +All das funktioniert nicht über den NPM, da er ausschließlich für **öffentliche Dienste** gedacht ist. Wir brauchen also einen sicheren Weg, unser gesamtes internes Netz von außen nutzen zu können. + +### Lösung: VPN +Ein **Virtual Private Network (VPN)** erstellt einen verschlüsselten Tunnel zwischen deinem Gerät (z. B. Laptop oder Smartphone) und dem UCC. +Nach der Verbindung verhält sich dein Gerät so, als wäre es direkt im Heimnetz. +Das bedeutet: +- Alle internen IPs und Container sind erreichbar. +- Der gesamte Datenverkehr kann optional über das UCC laufen. +- Pi-hole wirkt dadurch auch außerhalb des heimischen WLANs. + +### WireGuard +WireGuard ist ein moderner Standard für VPN-Verbindungen. Er ist schlanker, schneller und einfacher aufgebaut als klassische Lösungen wie OpenVPN oder IPSec. +Mit wenig Ressourcen läuft WireGuard auch in einem kleinen Proxmox-LXC stabil und zuverlässig. +Die Verbindung ist innerhalb weniger Sekunden aufgebaut und nutzt moderne Kryptografie, ohne komplizierte Konfiguration. + +### WG-Dashboard +Die größte Hürde bei WireGuard war bisher die manuelle Einrichtung. Schlüssel erzeugen, Config-Dateien schreiben, Clients verteilen – das war fehleranfällig und unübersichtlich. + +**WG-Dashboard** löst genau dieses Problem: +- Der VPN-Server wird über eine **Weboberfläche** eingerichtet. +- Neue Clients lassen sich mit einem Klick anlegen. +- Für mobile Geräte werden **QR-Codes** angezeigt, die direkt in die WireGuard-App gescannt werden können. +- Statistiken und Verbindungsübersichten zeigen, welche Geräte online sind. + +Damit wird WireGuard für alle nutzbar, die Wert auf Sicherheit legen, aber keine Zeit mit komplizierten Config-Files verschwenden wollen. + +> [!TIP] +> Mit WireGuard und WG-Dashboard stellst du eine **sichere Verbindung** ins UCC her. +> So nutzt du alle Vorteile deines Heimnetzes von überall: Pi-hole blockt Werbung, Admin-Oberflächen bleiben geschützt, und der Zugriff auf interne Tools und Terminals ist jederzeit möglich. + +--- + +## Voraussetzungen + +Für den WireGuard-Server mit WG-Dashboard benötigen wir einen eigenen LXC-Container in Proxmox. +Dieser Container bildet die Grundlage für den VPN-Dienst und stellt die Verwaltungsoberfläche bereit. + +### Anforderungen an den Container +- **Betriebssystem:** Ubuntu 24.04 LTS +- **Ressourcen:** + - 2 CPU-Kerne + - 2 GB RAM + - 16 GB Speicherplatz +- **Netzwerk:** Eine feste IPv4-Adresse im Heimnetz, z. B. `192.168.1.7`. +- **Internetverbindung:** Notwendig für das Herunterladen von Paketen und Docker-Images. + +### Hinweis bei Problemen +Falls du unsicher bist, wie man in Proxmox einen LXC-Container erstellt, wirf bitte noch einmal einen Blick auf **Kapitel 1**. +Dort haben wir die grundlegenden Schritte (Template auswählen, Container einrichten, IP vergeben) ausführlich beschrieben. + +> [!TIP] +> Trage die feste IP-Adresse des Containers im Router als **DHCP-Reservierung** ein. +> So stellst du sicher, dass die Adresse immer verfügbar ist und es keine Konflikte mit automatisch vergebenen Adressen gibt. + +## Schritt für Schritt Anleitung + +### Installation (Ubuntu 24.04 LTS im LXC) + +Wir installieren WG-Dashboard nach offizieller Anleitung, erweitern die Schritte aber um Erklärungen und Hinweise. +Ziel ist es, den WireGuard-Server im UCC mit einer Weboberfläche bereitzustellen. + +#### 1) System vorbereiten +Zuerst aktualisieren wir das System und installieren die wichtigsten Pakete für WireGuard und Netzwerkanalyse. + +```bash +apt-get update -y +apt-get upgrade -y +apt-get install -y wireguard-tools net-tools git +``` + +- `wireguard-tools`: enthält die Werkzeuge, um WireGuard zu starten und zu verwalten. +- `net-tools`: nützlich für Befehle wie `ifconfig` oder `netstat` (oft für Diagnose gebraucht). +- `git`: notwendig, um den Quellcode von WG-Dashboard direkt von GitHub herunterzuladen. + +> [!NOTE] +> Mit `apt-get upgrade -y` stellst du sicher, dass der Container auf dem neuesten Stand ist, bevor zusätzliche Software installiert wird. + +#### 2) WG-Dashboard herunterladen +Das Projekt liegt auf GitHub. Mit `git clone` laden wir es direkt ins System. + +```bash +git clone https://github.com/WGDashboard/WGDashboard.git +cd ./WGDashboard/src +``` + +Im Ordner `src` befindet sich das zentrale Script `wgd.sh`, das die komplette Installation und Verwaltung übernimmt. + +#### 3) Installationsskript ausführen +Damit das Script lauffähig ist, setzen wir die Berechtigungen und starten die Installation: + +```bash +chmod +x ./wgd.sh +./wgd.sh install +``` + +- `chmod +x` macht die Datei ausführbar. +- `./wgd.sh install` startet die eigentliche Einrichtung: Abhängigkeiten, Systemd-Services und Konfiguration für das Dashboard. + +Während der Installation legt das Script alle benötigten Dateien unter `/etc/wireguard/` und `/etc/wgd/` an. + +> [!TIP] +> Du kannst den Fortschritt jederzeit mit `journalctl -u wgd` oder `systemctl status wgd` prüfen. + +#### 4) IP-Forwarding aktivieren +Damit Geräte im VPN Zugriff ins Heimnetz haben, muss das System IP-Forwarding erlauben. +Ohne diese Einstellung könnten sich Clients zwar verbinden, aber keine Daten weiterleiten. + +```bash +echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf +sysctl -p /etc/sysctl.conf +``` + +Damit wird die Weiterleitung sofort aktiviert und auch nach einem Neustart beibehalten. + +> [!WARNING] +> Ohne IP-Forwarding ist dein VPN nutzlos – du könntest dich zwar verbinden, aber keine Dienste im UCC erreichen. + +#### 5) WG-Dashboard starten +Zum ersten Mal starten wir das Dashboard mit: + +```bash +./wgd.sh start +``` + +Das Script legt dabei einen Systemd-Service an, der automatisch mit dem Container gestartet wird. +Der Status kann überprüft werden mit: + +```bash +systemctl status wgd +``` + +--- + +### Erste Anmeldung in der Weboberfläche +Wenn der Service läuft, öffnen wir im Browser: + +``` +http://:10086 +``` + +Standard-Zugangsdaten: +- **Benutzername:** `admin` +- **Passwort:** `admin` + +Nach dem Login fordert dich das Dashboard auf, ein neues Passwort zu vergeben. +Dieser Schritt ist Pflicht, da die Standarddaten öffentlich bekannt sind. + +👉 *Screenshot geeignet: Login-Maske von WG-Dashboard nach Erststart.* + +> [!TIP] +> Lege das neue Passwort sofort fest und notiere es in deiner Passwortverwaltung (siehe Kapitel Vaultwarden). + +> [!WARNING] +> WG-Dashboard verwaltet sensible Daten wie Private Keys deiner VPN-Clients. Sichere Passwörter und ein abgeschotteter Zugriff (nur über NPM oder VPN) sind Pflicht! \ No newline at end of file