WireGuard VPN-Server selbst hosten: Anleitung für Einsteiger

Ein VPN von einem kommerziellen Anbieter ist bequem, aber du musst dem Betreiber vertrauen – und zahlst monatlich. Die Alternative ist ein selbst gehosteter WireGuard-Server: Du behältst die volle Kontrolle über deinen Traffic, zahlst nur für einen kleinen VPS (ab etwa 3 Euro pro Monat) und bekommst mit WireGuard zudem eine Technik, die deutlich schneller und einfacher konfigurierbar ist als das betagte OpenVPN. Diese Anleitung bringt dich Schritt für Schritt zum eigenen VPN-Server, inklusive Client-Setup für Smartphone und Laptop.

Warum ausgerechnet WireGuard?

WireGuard ist ein modernes VPN-Protokoll, das 2020 in den Linux-Kernel aufgenommen wurde. Im Vergleich zu OpenVPN bringt es drei entscheidende Vorteile:

  • Code-Basis unter 4.000 Zeilen – dadurch leichter zu auditieren und weniger Angriffsfläche (OpenVPN: über 100.000 Zeilen).
  • Moderne Kryptografie (Curve25519, ChaCha20, Poly1305, BLAKE2) statt des alten Konfigurations-Zoos bei OpenVPN.
  • Dramatisch schneller – in Benchmarks 3–5× mehr Durchsatz, und Verbindungsaufbau in Millisekunden.

WireGuard läuft auf Linux, macOS, Windows, iOS und Android. Die Client-Apps sind schlank und sehen überall gleich aus.

Voraussetzungen

Du brauchst:

  • einen VPS mit öffentlicher IPv4 (z. B. bei Hetzner, Netcup, Contabo – ab ca. 3 €/Monat reicht)
  • Root-Zugriff per SSH
  • ein frisches Ubuntu 24.04 LTS oder Debian 12 (beide haben WireGuard im Standard-Repo)
  • etwa 20 Minuten Zeit
Gebündelte blaue Netzwerkkabel als Symbol für Netzwerk-Infrastruktur und Tunnel-Verbindungen
WireGuard baut einen verschlüsselten Tunnel direkt auf Kernel-Ebene – deutlich effizienter als ältere VPN-Lösungen.

Server-Setup in sechs Schritten

1. WireGuard installieren

sudo apt update && sudo apt install -y wireguard qrencode

qrencode brauchen wir später, um die Client-Konfiguration als QR-Code für das Smartphone auszugeben.

2. Schlüsselpaar auf dem Server erzeugen

cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key

Die Dateien enthalten jeweils einen einzigen Base64-kodierten Schlüssel. Halte den privaten Schlüssel geheim – wer ihn hat, kann deinen VPN-Server übernehmen.

3. Server-Konfiguration schreiben

Lege /etc/wireguard/wg0.conf an mit folgendem Inhalt (Platzhalter <SERVER_PRIV> durch den Inhalt von server_private.key ersetzen):

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIV>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Die 10.8.0.0/24 ist das interne VPN-Netz. Die beiden iptables-Zeilen sorgen dafür, dass der Traffic der Clients über die öffentliche IP des Servers ausgeleitet wird.

4. IP-Forwarding dauerhaft aktivieren

echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf

5. WireGuard starten und aktivieren

sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0

Wenn alles klappt, siehst du eine aktive wg0-Schnittstelle und keine Fehler im Log.

6. Firewall öffnen

sudo ufw allow 51820/udp
sudo ufw enable

Client hinzufügen

Jedes Gerät bekommt ein eigenes Schlüsselpaar. Das Muster für einen neuen Client:

cd /etc/wireguard
wg genkey | tee client_laptop_priv.key | wg pubkey > client_laptop_pub.key

Dann in der Server-Konfig /etc/wireguard/wg0.conf einen Peer-Block ergänzen:

[Peer]
PublicKey = <CLIENT_LAPTOP_PUB>
AllowedIPs = 10.8.0.2/32

Und sudo wg syncconf wg0 <(wg-quick strip wg0) laufen lassen, damit der Server die neue Konfig ohne Neustart einliest.

Client-Konfig für Laptop/Handy

Auf dem Client reicht diese .conf-Datei:

[Interface]
PrivateKey = <CLIENT_LAPTOP_PRIV>
Address = 10.8.0.2/24
DNS = 9.9.9.9

[Peer]
PublicKey = <SERVER_PUB>
Endpoint = <SERVER_IP>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Die Einstellung AllowedIPs = 0.0.0.0/0 routet den gesamten Traffic über den Server (Full-Tunnel). Willst du nur bestimmte Netze tunneln – etwa, um remote auf dein Heimnetz zuzugreifen –, trägst du hier entsprechende Subnetze ein.

Für das Smartphone reicht: WireGuard-App installieren, die obige Konfig durch qrencode -t ansiutf8 < client.conf auf dem Server als QR-Code ausgeben und abfotografieren. Fertig.

Person arbeitet am Laptop – typischer VPN-Client, der sich zum eigenen Server verbindet
Auf dem Client reicht eine einzige Konfigurationsdatei – kein Zertifikats-Zoo wie bei OpenVPN.

Hardening – was du nicht vergessen solltest

  • SSH absichern: Root-Login und Passwort-Auth abschalten, nur per Key-Login arbeiten.
  • Automatische Updates: unattended-upgrades aktivieren, damit Sicherheitspatches ohne dein Zutun landen.
  • Fail2Ban: blockt Brute-Force-Versuche auf SSH automatisch.
  • Monitoring: sudo wg show zeigt dir verbundene Peers und Handshake-Zeiten. Tools wie wireguard_exporter für Prometheus machen daraus ein Dashboard.
  • Backup des Schlüssel-Verzeichnisses (/etc/wireguard/), verschlüsselt abgelegt – sonst musst du bei einem Serverausfall alle Clients neu einrichten.

Typische Fallstricke

  • Kein Internet nach dem VPN-Start: IP-Forwarding nicht aktiviert oder MASQUERADE-Regel fehlt. Die PostUp-Zeile in der Server-Config prüfen.
  • Verbindung bricht alle paar Minuten ab: NAT auf dem Client-Router schließt den UDP-Flow. Abhilfe: PersistentKeepalive = 25 im Client-Config.
  • DNS leakt: Ohne DNS = … in der Client-Config bleibt der Rechner auf dem ISP-Resolver. Entweder den dnsmasq des Servers mitnutzen oder einen öffentlichen wie Quad9 (9.9.9.9) eintragen.

Fazit

Ein eigener WireGuard-Server ist in 20 Minuten eingerichtet, kostet ein paar Euro pro Monat und macht dich unabhängig von kommerziellen VPN-Anbietern. Du gewinnst Performance, Privatsphäre und ein tieferes Verständnis dafür, was bei einem VPN eigentlich passiert. Wenn du die Konfiguration einmal verstanden hast, kannst du sie für Split-Tunneling, Remote-Zugriff aufs Heimnetz oder als sicheren Gateway in einem öffentlichen WLAN flexibel erweitern – alles mit der gleichen Handvoll Dateien.

Schreibe einen Kommentar

Nach oben scrollen