Files
Homelab--Bratonein-Kontroll…/Kapitel 4/Free Rohtext.md

7.3 KiB
Raw Blame History

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.

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.

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:

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.

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:

./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:

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!