So richten Sie ein WireGuard-VPN auf Ihrem VPS ein

Geschrieben vom ApexVPS-Team • Zuletzt aktualisiert: Juli 2026 • 9 Min. Lesezeit

Dieses WireGuard-VPS-Setup-Tutorial zeigt dir, wie du dein eigenes privates, schnelles und modernes VPN auf einem Ubuntu- oder Debian-Server aufbaust. WireGuard ist ein leichtes VPN-Protokoll, das direkt in den Linux-Kernel integriert ist, und daher deutlich einfacher als OpenVPN oder IPsec, während es dennoch starke, aktuelle Kryptografie bietet. Am Ende hast du einen laufenden Server, mindestens einen verbundenen Client und die volle Kontrolle über deinen eigenen verschlüsselten Tunnel – ohne Abo für einen Drittanbieter-VPN.

Wenn du WireGuard auf deiner eigenen Maschine betreibst, endet der Datenverkehr auf Hardware, die du mietest, und nicht auf einem überlasteten Consumer-VPN-Endpoint. Wenn du genauer verstehen möchtest, warum eine private Box die bessere Basis dafür ist, lies vorher unseren Leitfaden zum Thema VPS für ein persönliches VPN wählen.

Was du vor dem Start brauchst

Ein stabiler, nicht überlasteter Endpunkt ist für ein VPN wichtig. Deshalb schlagen wirklich dedizierte Ressourcen überverkauftes Shared Hosting. Eine dedizierte IPv4 ist auf ApexVPS Business- und Enterprise-Plänen verfügbar und gibt deinem Tunnel eine Adresse, die mit niemand anderem geteilt wird.

Schritt 1: System aktualisieren und WireGuard installieren

Aktualisiere zuerst den Paketindex und installiere die WireGuard-Userspace-Tools. Auf einem modernen Kernel ist dies das einzige Paket, das du benötigst.

sudo apt update
sudo apt install wireguard -y

Dies installiert wg und wg-quick, die beiden Befehle, die Schlüssel, Schnittstellen und Konfiguration verwalten. Du kannst die Installation mit wg --version bestätigen.

Schritt 2: Erzeuge die Server-Schlüssel

WireGuard authentifiziert Peers mit einem öffentlichen/privaten Schlüsselpaar, ähnlich wie SSH. Wechsle in das Konfigurationsverzeichnis, verschärfe die Dateiberechtigungen mit umask und generiere die Schlüssel in einem Schritt.

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

Die Zeile umask 077 stellt sicher, dass der private Schlüssel nur für root lesbar ist. Gib die beiden Werte aus, damit du sie in die folgende Konfiguration einfügen kannst.

sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key

Halte den privaten Schlüssel geheim. Jeder, der ihn besitzt, kann sich als dein Server ausgeben.

Schritt 3: Serverkonfiguration erstellen (wg0.conf)

Die Server-Schnittstelle wird in einer einzigen Datei beschrieben: /etc/wireguard/wg0.conf. Erstelle sie mit einem Editor deiner Wahl:

sudo nano /etc/wireguard/wg0.conf

Füge den untenstehenden Block ein und ersetze <SERVER_PRIVATE_KEY> durch den privaten Schlüssel aus Schritt 2 und eth0 durch deinen tatsächlichen Schnittstellennamen, falls dieser abweicht.

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Hier ist 10.8.0.1/24 das private VPN-Subnetz, 51820/udp der Listening-Port, und die Regeln PostUp/PostDown fügen NAT hinzu und entfernen es, sodass Client-Datenverkehr über die öffentliche Schnittstelle des Servers maskiert wird. Um deinen Schnittstellennamen zu finden, führe aus:

ip route list default

Das Wort nach dev in der Ausgabe (oft eth0, ens3 oder enp1s0) ist die Schnittstelle, die in den beiden Firewall-Zeilen oben verwendet werden soll.

Schritt 4: IP-Forwarding und NAT aktivieren

Standardmäßig leitet Linux keine Pakete zwischen Schnittstellen weiter, daher muss dem Kernel das Forwarding mitgeteilt werden. Aktiviere es dauerhaft mit einer sysctl-Drop-in-Datei.

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

Wenn du auch IPv6 durch den Tunnel routest, füge net.ipv6.conf.all.forwarding = 1 zur selben Datei hinzu. Die Regel MASQUERADE aus Schritt 3 übernimmt das NAT selbst; sobald das Forwarding aktiviert ist, ist der Routing-Pfad vollständig.

Firewall-Port öffnen

Erlaube den WireGuard-UDP-Port. Wenn du ufw verwendest, führe Folgendes aus und achte darauf, SSH offen zu lassen, damit du dich nicht aussperrst.

sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable

Wenn du Regeln direkt mit iptables statt ufw verwaltest, fügen die Zeilen PostUp bereits die Forwarding- und NAT-Regeln hinzu; du musst nur sicherstellen, dass eingehendes UDP 51820 von einer Host-Firewall oder Sicherheitsgruppe des Anbieters erlaubt ist.

Schritt 5: WireGuard mit systemd starten

wg-quick enthält eine systemd-Dienstvorlage, sodass du den Tunnel jetzt starten und ihn nach einem Neustart automatisch zurückholen kannst.

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

Das Flag enable --now startet die Schnittstelle und legt fest, dass sie beim Booten gestartet wird. Ein kurzer Check bestätigt, dass die Schnittstelle aktiv ist:

sudo wg show

Du solltest eine Schnittstelle wg0 mit deinem öffentlichen Schlüssel und Listening-Port sehen. Es gibt noch keine Peers – das ist der nächste Schritt.

Schritt 6: Client (Peer) hinzufügen

Jedes Gerät, das sich verbindet, ist ein Peer mit eigenem Schlüsselpaar. Generiere ein Schlüsselpaar für deinen ersten Client:

wg genkey | sudo tee client1_private.key | wg pubkey | sudo tee client1_public.key

Registriere den Client nun auf dem Server. Füge einen Block [Peer] an /etc/wireguard/wg0.conf an, verwende den öffentlichen Schlüssel des Clients und die nächste freie Adresse im VPN-Subnetz.

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

Lade die Schnittstelle neu, damit der neue Peer wirksam wird:

sudo systemctl restart wg-quick@wg0

Du willst den Tunnel nicht unterbrechen? Du kannst den Peer ohne Neustart hot hinzufügen:

sudo wg set wg0 peer <CLIENT1_PUBLIC_KEY> allowed-ips 10.8.0.2/32

Schritt 7: Clientkonfiguration und QR-Code erstellen

Erstelle auf dem Server die Client-Konfigurationsdatei. Dies ist, was das Gerät – ein Laptop oder Telefon – lädt. Ersetze die Platzhalter mit dem privaten Schlüssel des Clients sowie dem öffentlichen Schlüssel und der öffentlichen IP des Servers.

[Interface]
PrivateKey = <CLIENT1_PRIVATE_KEY>
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Die Einstellung AllowedIPs = 0.0.0.0/0, ::/0 routet den gesamten Datenverkehr des Clients durch den Tunnel – das klassische Full-VPN-Verhalten. PersistentKeepalive = 25 hält die Verbindung durch NAT und Firewalls am Leben. Speichere dies als client1.conf.

Für einen Desktop kopiere client1.conf auf die Maschine und importiere es in den offiziellen WireGuard-Client. Für ein Telefon rendere die Datei direkt im Terminal als scannbaren QR-Code:

sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf

Öffne die WireGuard-App auf Android oder iOS, wähle „Tunnel hinzufügen“ und dann „QR-Code scannen“ – der Tunnel wird in Sekunden importiert. Die offiziellen Apps und Clients sind alle auf wireguard.com verlinkt.

Schritt 8: Tunnel verifizieren

Aktiviere den Tunnel auf dem Client und bestätige dann den Handshake auf dem Server. Eine gesunde Verbindung zeigt einen aktuellen Handshake und steigende Übertragungszähler.

sudo wg show

Suche unter deinem Peer nach einem latest handshake Zeitstempel und Werten ungleich Null bei transfer. Überprüfe schließlich vom Client aus, ob deine öffentliche IP jetzt die IP des Servers ist:

curl ifconfig.me

Wenn dort die VPS-Adresse erscheint, fließt dein Verkehr durch den Tunnel und das WireGuard-VPS-Setup ist abgeschlossen. Um weitere Geräte hinzuzufügen, wiederhole die Schritte 6 und 7 mit einem neuen Schlüsselpaar und der nächsten Adresse im 10.8.0.0/24 Bereich.

Fehlerbehebung bei einer Verbindung, die nicht zustande kommt

Wenn wg show keinen Handshake meldet, arbeite die üblichen Verdächtigen der Reihe nach ab. Prüfe zuerst, ob der Port tatsächlich offen ist: Führe von einem anderen Rechner nc -uzv <SERVER_PUBLIC_IP> 51820 aus und stelle sicher, dass die Sicherheitsgruppe oder Firewall deines Anbieters eingehendes UDP 51820 erlaubt, nicht nur TCP. Zweitens: Stelle sicher, dass IP-Forwarding wirklich aktiviert ist mit sysctl net.ipv4.ip_forward – es sollte 1 zurückgeben. Drittens: Überprüfe, ob der Schnittstellenname in der PostUp NAT-Regel mit der Ausgabe von ip route list default übereinstimmt; eine Nichtübereinstimmung ist der häufigste Grund, warum Verkehr authentifiziert wird, aber nie das Internet erreicht. Überprüfe schließlich, ob die Schlüssel nicht vertauscht sind: Die Serverkonfiguration enthält den privaten Schlüssel des Servers und den öffentlichen Schlüssel des Clients, während die Clientkonfiguration diese Anordnung spiegelt. Ein einzelner vertauschter Schlüssel blockiert den Handshake stillschweigend.

Den richtigen VPS für WireGuard wählen

WireGuard selbst ist winzig – das Protokoll belastet die CPU kaum –, sodass selbst ein Einsteigerplan einen persönlichen VPN problemlos betreibt. Was die Erfahrung tatsächlich prägt, ist das Netzwerk: Bandbreite, Latenz zu deiner Region und ob die IP dir allein gehört. ApexVPS läuft auf wirklich dedizierten vCPU, RAM und NVMe-Speicher an 39 Standorten mit geringer Latenz in wichtigen Regionen, sodass der Durchsatz vorhersehbar bleibt, anstatt unter lauten Nachbarn einzubrechen.

Wenn du möchtest, dass der Tunnel auf einer stabilen, nicht geteilten Adresse lebt, ist eine dedizierte IPv4 in den Business- und Enterprise-Plänen enthalten. Und weil Datenschutz oft der eigentliche Punkt beim Selbsthosting eines VPN ist, ist es erwähnenswert, wie du dich anmeldest: ApexVPS ist ein No-KYC-VPS mit E-Mail-only-Anmeldung und Crypto-only-Zahlung über OxaPay, die Bitcoin, Ethereum, USDT und 30+ Kryptowährungen akzeptiert – kein Name, keine Adresse, keine Kreditkarte oder Bankkonto erforderlich.

Häufig gestellte Fragen

Ist WireGuard schwer auf einem VPS einzurichten?

Nein. WireGuard verwendet eine kleine, lesbare Konfigurationsdatei und eine Handvoll Standardbefehle. Auf einem frischen Ubuntu- oder Debian-VPS kannst du es installieren, Schlüssel generieren, wg0.conf schreiben und deinen ersten Client in etwa zehn bis fünfzehn Minuten verbinden.

Brauche ich eine dedizierte IP für ein WireGuard-VPN?

Eine dedizierte IP ist nicht strikt erforderlich, gibt deinem Tunnel aber einen stabilen Endpunkt, der nicht mit anderen Kunden geteilt wird. Bei ApexVPS ist eine dedizierte IPv4 im Business-Plan enthalten, bei Enterprise zwei.

Welche Ubuntu- und Debian-Versionen unterstützen WireGuard?

WireGuard ist ab Version 5.6 in den Linux-Kernel integriert, daher enthalten Ubuntu 20.04 und höher sowie Debian 11 und höher es standardmäßig. Du musst nur die Userspace-Tools mit apt installieren.

Kann ich denselben Server auf meinem Telefon verwenden?

Ja. Füge einen zweiten Peer für das Telefon hinzu, erstelle eine Client-Konfiguration und rendere sie als QR-Code mit qrencode. Die offiziellen WireGuard-Apps für Android und iOS scannen den Code und verbinden sich sofort.

Kann ich den VPS ohne Kreditkarte bezahlen?

Ja. Der ApexVPS-Checkout ist nur mit Krypto möglich und akzeptiert Bitcoin, Ethereum, USDT und 30+ Kryptowährungen. Die Anmeldung fragt nur nach einer E-Mail, damit wir Zugangsdaten senden können – kein Name, keine Adresse, kein Ausweis.

Bereit, Ihr eigenes VPN zu hosten? Erfahren Sie, warum ApexVPS für private VPNs ideal ist →