Kapitel 4/Free Rohtext.md hinzugefügt
This commit is contained in:
166
Kapitel 4/Free Rohtext.md
Normal file
166
Kapitel 4/Free Rohtext.md
Normal file
@@ -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://<Container-IP>: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!
|
||||||
Reference in New Issue
Block a user