Ohne KYC · DMCA ignoriert · keine Logs. Mit Krypto bezahlen: BTC, USDT, USDC, ETH, SOL, LTC, XMR
Sprache: Deutsch
VPS bereitstellen

Leitfaden · WireGuard auf Debian und Ubuntu

Wie richte ich WireGuard auf einem VPS ein?

Alle Befehle für einen WireGuard-VPN-Server auf Debian 12 oder Ubuntu 24.04: Pakete, Schlüssel, Server- und Client-Dateien, IP-Forwarding, NAT und eine erste Verbindung.

Zuletzt aktualisiert: · 7 Min. Lesezeit

Kurze Antwort

Wie richte ich WireGuard auf einem VPS ein?

Um WireGuard auf einem VPS einzurichten, installieren Sie das Paket wireguard, erzeugen ein Schlüsselpaar für den Server und eines pro Gerät und schreiben /etc/wireguard/wg0.conf. Dann aktivieren Sie IP-Forwarding und NAT, starten wg-quick@wg0 und importieren die Client-Datei. Bei OffshoreKVM kostet ein Debian-12- oder Ubuntu-24.04-KVM-VPS ab $3.08 für 30 Tage. Ohne KYC, mit Krypto bezahlen.

Was brauche ich, bevor ich anfange?

ServerEin KVM-VPS mit eigenem Kernel. OffshoreKVM KVM 1 (1 vCPU, 1 GB RAM, 20 GB NVMe, 2 TB Traffic) reicht für einen Haushalt
ZugangRoot-Zugriff über SSH mit Ihrem eigenen öffentlichen Schlüssel; die Passwort-Anmeldung ist standardmäßig deaktiviert. Die folgenden Befehle werden als root ausgeführt
SystemDebian 12 oder Ubuntu 24.04 LTS; beide sind unter den Images von OffshoreKVM
Paketewireguard und iptables, aus dem Repository der Distribution selbst
PortUDP 51820, der Port aus den Beispielen der WireGuard-Dokumentation
Tunnel-Adressen10.8.0.0/24: Server 10.8.0.1, erstes Gerät 10.8.0.2
Client-AppsWireGuard für Windows, macOS, Android, iOS und Linux, aufgeführt auf wireguard.com
PreisKVM 1 $3.08, KVM 2 $4.92, KVM 4 $8.25, KVM 8 $13.50, KVM 16 $20.62 pro 30 Tage. Ohne KYC, nur mit Krypto bezahlen

Wie richte ich einen WireGuard-Server Schritt für Schritt ein?

Neun Schritte, von einem frischen Debian 12- oder Ubuntu 24.04-VPS bis zum Smartphone, das darüber surft.

  1. Verbinden und aktualisieren

    Melden Sie sich mit ssh root@YOUR_VPS_IP an und führen Sie dann apt update && apt upgrade -y aus.

  2. WireGuard und iptables installieren

    Führen Sie apt install -y wireguard iptables aus. Die WireGuard-Tools empfehlen nur ein Firewall-Paket, und die NAT-Regeln unten verwenden iptables.

  3. Die Schlüssel erzeugen

    Führen Sie cd /etc/wireguard && umask 077 aus. Lassen Sie den Server das Paar mit wg genkey | tee server.key | wg pubkey > server.pub bilden. Lassen Sie das Gerät das Paar mit wg genkey | tee phone.key | wg pubkey > phone.pub bilden.

  4. Das öffentliche Interface ermitteln

    Führen Sie ip route show default aus. Das Wort nach dev, etwa eth0 oder ens3, ist das Interface, das die NAT-Regel braucht.

  5. Die Server-Datei schreiben

    Erstellen Sie /etc/wireguard/wg0.conf mit dem privaten Schlüssel des Servers, dem Listen-Port, den NAT-Regeln und einem [Peer] pro Gerät, wie unten gezeigt.

  6. IP-Forwarding einschalten

    Führen Sie echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf && sysctl --system aus. Ohne das verwirft der VPS den Verkehr aus dem Tunnel.

  7. Den Tunnel beim Booten starten

    Führen Sie systemctl enable --now wg-quick@wg0 aus, dann wg show, um das Interface, seinen Port und den Peer zu sehen.

  8. Die Client-Datei erstellen und importieren

    Schreiben Sie phone.conf wie unten gezeigt. Importieren Sie sie in der WireGuard-App oder zeigen Sie sie als QR-Code mit qrencode -t ansiutf8 < /etc/wireguard/phone.conf an.

  9. Den Tunnel testen

    Schalten Sie den Tunnel ein und öffnen Sie eine beliebige Webseite. Auf dem Server gibt wg show jetzt ein aktuelles latest handshake aus, und Webseiten sehen die VPS-Adresse.

Was gehört in die wg0.conf des Servers?

Die Server-Datei enthält den privaten Schlüssel des Servers, seine Tunnel-Adresse, den Listen-Port, die NAT-Regeln und einen [Peer]-Block pro Gerät. Das Heredoc unten trägt beide Schlüssel aus den in Schritt 3 erzeugten Dateien ein. Ersetzen Sie eth0 durch das Interface aus Schritt 4, bevor Sie es ausführen.

WireGuard identifiziert jedes Gerät anhand seines öffentlichen Schlüssels: Ein Paket wird nur akzeptiert, wenn es mit einem bekannten Schlüssel signiert ist und von der AllowedIPs dieses Peers kommt.

Server: /etc/wireguard/wg0.conf (als root ausführen)
cd /etc/wireguard
cat > wg0.conf <<EOF
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = $(cat server.key)
# Forward tunnel traffic and hide it behind the VPS address (eth0 = your interface)
PostUp = iptables -I FORWARD -i %i -j ACCEPT
PostUp = iptables -I FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
PostUp = iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

[Peer]
# phone
PublicKey = $(cat phone.pub)
AllowedIPs = 10.8.0.2/32
EOF
chmod 600 wg0.conf

%i wird durch den Interface-Namen ersetzt, wg0, wenn wg-quick die Zeilen PostUp und PostDown ausführt. MASQUERADE schreibt jedes Paket auf die Adresse des ausgehenden Interface um. Das iptables-Handbuch bevorzugt SNAT --to-source YOUR_VPS_IP für eine statische Adresse; beide funktionieren hier.

Was gehört in die Client-Konfiguration?

Die Client-Datei enthält den privaten Schlüssel des Geräts, seine Tunnel-Adresse, einen DNS-Server sowie den öffentlichen Schlüssel und die Adresse des Servers. AllowedIPs = 0.0.0.0/0, ::/0 leitet den gesamten Verkehr in den Tunnel, IPv6 eingeschlossen, sodass nichts nach außen gelangt. Beim obigen reinen IPv4-Server stoppt IPv6-Verkehr einfach, und die meisten Apps weichen auf IPv4 aus.

Client: /etc/wireguard/phone.conf (auf dem Server erstellt)
cd /etc/wireguard
cat > phone.conf <<EOF
[Interface]
PrivateKey = $(cat phone.key)
Address = 10.8.0.2/32
DNS = 9.9.9.9

[Peer]
PublicKey = $(cat server.pub)
Endpoint = YOUR_VPS_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
EOF

# Phone: scan this QR code in the WireGuard app
apt install -y qrencode
qrencode -t ansiutf8 < phone.conf

# Linux computer: copy phone.conf to /etc/wireguard/, then
# wg-quick up phone

Verwenden Sie einen beliebigen DNS-Resolver, dem Sie vertrauen, anstelle von 9.9.9.9. Bei einem Linux-Client braucht die Zeile DNS resolvconf oder openresolv, die Debian als empfohlene Pakete führt. Löschen Sie phone.key und phone.conf vom Server, sobald das Gerät seine Kopie hat.

Muss ich einen Firewall-Port öffnen?

Nur wenn auf dem VPS eine Firewall läuft: Sie muss UDP 51820 hereinkommen lassen und den Tunnel-Verkehr durchlassen. Mit ufw führen Sie ufw allow 51820/udp aus. Die FORWARD-Regeln in wg0.conf werden an den Anfang der Kette eingefügt, vor die Standard-Richtlinie DROP, die ufw für gerouteten Verkehr setzt. Halten Sie Port 22 offen, bevor Sie eine Firewall aktivieren, sonst sperren Sie sich selbst aus.

Wie füge ich ein weiteres Gerät hinzu?

Jedes Gerät bekommt sein eigenes Schlüsselpaar, seine eigene Tunnel-Adresse und seinen eigenen [Peer]-Block. Führen Sie wg genkey | tee laptop.key | wg pubkey > laptop.pub in /etc/wireguard aus. Fügen Sie einen [Peer] hinzu, mit PublicKey auf den neuen öffentlichen Schlüssel und AllowedIPs = 10.8.0.3/32 gesetzt. Wenden Sie es an, ohne andere Geräte zu trennen: systemctl reload wg-quick@wg0, das wg syncconf ausführt. Erstellen Sie laptop.conf wie phone.conf, mit Address = 10.8.0.3/32.

Wie route ich IPv6 durch den Tunnel?

Fügen Sie auf beiden Seiten einen privaten IPv6-Bereich hinzu, leiten Sie ihn weiter und übersetzen Sie ihn wie IPv4. Wählen Sie einen zufälligen Unique-Local-Bereich, etwa fd42:42:42::/64.

  • Server: Address = 10.8.0.1/24, fd42:42:42::1/64, und im Peer AllowedIPs = 10.8.0.2/32, fd42:42:42::2/128.
  • NAT: Kopieren Sie die drei Zeilen PostUp und PostDown mit ip6tables und dem IPv6-Bereich.
  • Client: Address = 10.8.0.2/32, fd42:42:42::2/128.
  • Forwarding: Fügen Sie net.ipv6.conf.all.forwarding=1 zu /etc/sysctl.d/99-wireguard.conf hinzu.

Prüfen Sie zuerst eines. Bei aktivem Forwarding ignoriert der Linux-Kernel Router-Advertisement-Nachrichten, sofern accept_ra nicht 2 ist. Wenn Ihr VPS seine IPv6-Route auf diese Weise lernt, setzen Sie net.ipv6.conf.eth0.accept_ra=2 in derselben Datei.

Warum verbindet der Tunnel, aber keine Webseite lädt?

Der Handshake funktioniert, aber der Verkehr bleibt am Server stehen, fast immer aus einem von vier Gründen.

  • Forwarding ist aus: sysctl net.ipv4.ip_forward muss 1 ausgeben.
  • Falsches Interface in der NAT-Regel: Vergleichen Sie eth0 in wg0.conf mit ip route show default.
  • Kein Handshake überhaupt: Die Endpoint-IP oder der Port ist falsch, oder eine Firewall blockiert UDP 51820.
  • Namen werden nicht aufgelöst: Dem Client fehlt eine funktionierende DNS-Zeile, oder resolvconf fehlt auf einem Linux-Client.

Führen Sie nach jeder Korrektur systemctl restart wg-quick@wg0 aus und testen Sie erneut.

Welchen VPS sollte ich für WireGuard verwenden?

Jeder KVM-VPS mit einer IPv4-Adresse funktioniert; der Tarif hängt davon ab, wie viel Traffic durch den Tunnel läuft. Die Seite dazu, was der beste Offshore-VPS für WireGuard ist, vergleicht Tarife, Quotas und Standorte. Die Preise für jeden Tarif finden Sie unter wie viel ein Offshore-VPS bei OffshoreKVM kostet. Bevor Sie sich für Ihre Privatsphäre darauf verlassen, lesen Sie was Ihr VPS-Anbieter auf Ihrem Server sehen kann.

WireGuard auf einem VPS: FAQ

Welchen Port verwendet WireGuard?

WireGuard hat keinen festen Port. ListenPort ist optional, und ohne ihn wählt der Server einen zufälligen Port. UDP 51820 ist der Port in den offiziellen Beispielen, deshalb verwenden die meisten Anleitungen ihn.

Brauche ich PersistentKeepalive?

Normalerweise nicht. Das Handbuch zu wg sagt, dass die meisten Nutzer es nicht brauchen. Fügen Sie PersistentKeepalive = 25 nur dann in die [Peer] des Clients ein, wenn der Server ein Gerät erreichen muss, das hinter NAT sitzt und im Leerlauf bleibt.

Funktioniert diese Anleitung unter Debian 13 oder Ubuntu 22.04?

Ja. Beide enthalten WireGuard in ihren Standard-Repositories, daher funktionieren dieselben Befehle. Nur Debian-Versionen älter als Bullseye benötigen Backports, laut der WireGuard-Installationsseite.

Kann mein VPS-Host sehen, was ich durch den Tunnel mache?

Der Tunnel endet auf dem VPS, daher verlässt der Traffic ihn als normaler Internet-Traffic; HTTPS hält den Seiteninhalt verschlüsselt. Keine Logs: Wir speichern keine Verbindungslogs, keine Traffic-Logs und keine IP-Adressen von Besuchern oder Kunden, weder auf der Webseite, noch im Dashboard oder auf dem VPS. Die Anleitung dazu, ob Sie einen Offshore-VPS oder ein VPN brauchen, wägt die Vor- und Nachteile ab.

Wie lange dauert es, bis mein VPS bereit ist?

Eine Person erstellt Ihren VPS, sobald Ihre Zahlung bestätigt ist, und er ist wenige Minuten später bereit, nie mehr als eine Stunde nach dieser Bestätigung; Ihr Dashboard zeigt den Status und dann die IP-Adresse, sobald der VPS läuft. Die WireGuard-Einrichtung selbst dauert ein paar Minuten, sobald Sie sich einloggen können.

Holen Sie sich einen VPS für Ihren WireGuard-Server

Debian 12 oder Ubuntu 24.04 auf KVM, ab $3.08 für 30 Tage. Ohne KYC, nur mit Krypto bezahlen.

Quellen (10)
  1. Installation — WireGuard (read 2026-10-29)
  2. Schnellstart — WireGuard (read 2026-10-29)
  3. Handbuch zu wg(8) — wireguard-tools (read 2026-10-29)
  4. Handbuch zu wg-quick(8) — wireguard-tools (read 2026-10-29)
  5. [email protected] — wireguard-tools (read 2026-10-29)
  6. Paket wireguard-tools (bookworm) — Debian (read 2026-10-29)
  7. IP-Sysctl (ip_forward, forwarding, accept_ra) — The Linux Kernel documentation (read 2026-10-29)
  8. iptables-extensions(8): MASQUERADE, SNAT, conntrack — Debian manpages (read 2026-10-29)
  9. sysctl(8) — Debian manpages (read 2026-10-29)
  10. qrencode(1) — Debian manpages (read 2026-10-29)

Ab $3.08/Monat · ohne KYC

VPS bereitstellen