
WireGuard VPN Server einrichten
WireGuard ist ein modernes, schlankes VPN — deutlich einfacher zu konfigurieren als OpenVPN und seit Linux 5.6 direkt im Kernel enthalten.
- Betriebssystem
- Ubuntu / Debian
- Schwierigkeit
- Fortgeschritten
- Dauer
- ~20 Minuten
Was ist WireGuard?
WireGuard verbindet Geräte über ein verschlüsseltes, virtuelles Netzwerk — praktisch, um z. B. von unterwegs sicher auf interne Dienste zuzugreifen oder den gesamten Internetverkehr über den eigenen Server zu leiten. Im Vergleich zu OpenVPN ist die Konfiguration deutlich kürzer und die Performance höher.
Voraussetzungen
- Ubuntu 20.04+ oder Debian 11+ (WireGuard-Unterstützung im Kernel)
- sudo-/Root-Zugriff auf den Server
- Ein freier UDP-Port (Standard: 51820)
WireGuard installieren
sudo apt update
sudo apt install -y wireguardSchlüsselpaar generieren
Auf dem Server ein Schlüsselpaar erzeugen (privater Schlüssel bleibt geheim):
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
sudo chmod 600 /etc/wireguard/server_private.keyPrivate Schlüssel niemals weitergeben oder in ein Repository committen — wer den privaten Schlüssel hat, kann sich als dieses Gerät ausgeben.
Server-Konfiguration
Datei /etc/wireguard/wg0.conf anlegen (Platzhalter <server_private_key> durch den Inhalt von server_private.key ersetzen, <client_public_key> kommt aus dem nächsten Abschnitt):
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <server_private_key>
SaveConfig = true
[Peer]
PublicKey = <client_public_key>
AllowedIPs = 10.8.0.2/32IP-Forwarding aktivieren
Damit der Server Datenverkehr zwischen VPN und Internet weiterleiten kann:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -pFirewall-Port freigeben
sudo ufw allow 51820/udpVPN starten
sudo systemctl enable --now wg-quick@wg0Status und verbundene Peers anzeigen:
sudo wg showClient-Konfiguration
Auf dem Client (z. B. Laptop) ebenfalls ein Schlüsselpaar erzeugen, dann eine Konfigurationsdatei anlegen:
wg genkey | tee client_private.key | wg pubkey > client_public.key[Interface]
Address = 10.8.0.2/24
PrivateKey = <client_private_key>
DNS = 1.1.1.1
[Peer]
PublicKey = <server_public_key>
Endpoint = server-ip:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25Den öffentlichen Schlüssel des Clients (client_public.key) anschließend in die Server-Konfiguration (wg0.conf) als PublicKey unter [Peer] eintragen und den Dienst neu laden:
sudo wg-quick down wg0
sudo wg-quick up wg0Nützliche Befehle
WireGuard-Referenz
sudo wg showsudo systemctl status wg-quick@wg0sudo wg-quick down wg0sudo wg-quick up wg0VPN aktiv
Server und Client sind verbunden — testen mit einem Ping auf 10.8.0.1 vom Client aus. Für mehrere Clients einfach weitere [Peer]-Blöcke mit je eigenem Schlüsselpaar und fortlaufender AllowedIPs-Adresse (10.8.0.3/32, .4/32, …) ergänzen.

