VPN Installation · 10 min read · Sep 09, 2025
WireGuard VPN auf Debian 12 installieren

Wireguard ist ein Open-Source-VPN-Protokoll, das eine Alternative zu IPSec, IKEv2 und OpenVPN darstellt. Wireguard wurde für Linux- und Unix-Betriebssysteme entwickelt und läuft im Linux-Kernelraum, was Wireguard schneller und zuverlässiger macht. Wireguard wird verwendet, um sichere Tunnelverbindungen zwischen zwei oder mehr Computern zu erstellen.
Wireguard zielt darauf ab, VPN-Protokolle wie IPSec, IKEv2 und OpenVPN zu ersetzen. Wireguard ist leichter, schneller, einfach einzurichten und effizienter. Gleichzeitig hat Wireguard nicht auf den Sicherheitsaspekt des VPN-Protokolls verzichtet. Wireguard unterstützt moderne Kryptografie wie das Noise-Protokoll-Framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF und sichere vertrauenswürdige Konstruktionen.
Dieser Leitfaden zeigt Ihnen, wie Sie Wireguard VPN auf dem Debian 12-Server installieren und den Wireguard-Client auf einem Linux-Rechner konfigurieren.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie diese Anforderungen erfüllen:
- Ein Linux-Server, der Debian 12 ausführt.
- Ein Nicht-Root-Benutzer mit Sudo-Rechten.
- Ein Client-Rechner - in diesem Fall eine Debian-basierte Distribution.
System vorbereiten
Bevor Sie Wireguard installieren, müssen Sie Ihren Debian-Server vorbereiten, indem Sie die folgenden Änderungen vornehmen:
- Portweiterleitung über /etc/sysctl.conf aktivieren
- UFW installieren und konfigurieren
Jetzt lassen Sie uns anfangen.
Portweiterleitung aktivieren
Um die Portweiterleitung zu aktivieren, müssen Sie das Kernel-Modul net.ipv4.ip_forward für IPv4 oder net.ipv6.conf.all.forwarding für IPv6 aktivieren. Diese Kernel-Module können über die Datei /etc/sysctl.conf aktiviert werden.
Öffnen Sie die Datei /etc/sysctl.conf mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/sysctl.confFügen Sie die folgende Konfiguration ein, um die Portweiterleitung für IPv4 und IPv6 (falls erforderlich) zu aktivieren.
# Portweiterleitung für IPv4
net.ipv4.ip_forward=1
# Portweiterleitung für IPv6
net.ipv6.conf.all.forwarding=1Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Wenden Sie nun die Änderungen mit dem folgenden sysctl-Befehl an.
sudo sysctl -pUFW installieren
Die Standardfirewall auf Debian ist iptables, und jetzt werden Sie UFW installieren. Sie werden sowohl UFW als auch iptables für den Wireguard-Server verwenden.
Führen Sie den folgenden apt-Befehl aus, um Ihr Repository zu aktualisieren und UFW auf Ihrem Debian-System zu installieren.
sudo apt update && sudo apt install ufw -y
Führen Sie als Nächstes den folgenden UFW-Befehl aus, um das OpenSSH-Anwendungsprofil hinzuzufügen und UFW zu aktivieren. Geben Sie y ein und drücken Sie ENTER, um zu bestätigen, und Sie sollten die Nachricht “ Firewall ist aktiv und beim Systemstart aktiviert “ erhalten.
sudo ufw allow OpenSSH
sudo ufw enable
Überprüfen Sie schließlich den UFW-Status mit dem folgenden Befehl.
sudo ufw statusWenn es läuft, sollten Sie die Ausgabe “ Status: aktiv.“ erhalten. Sie werden auch sehen, dass das OpenSSH-Anwendungsprofil zu UFW hinzugefügt wurde.

Wireguard-Server installieren
Nachdem Sie den Debian-Server konfiguriert haben, sind Sie bereit, einen Wireguard VPN-Server auf Ihrem Debian-Rechner zu erstellen. Führen Sie die folgenden Aufgaben aus, um dies zu erreichen:
- Wireguard installieren
- Wireguard-Server-Schlüssel generieren
- Wireguard-Client-Schlüssel generieren
- Wireguard-Schnittstelle konfigurieren
- NAT für die Wireguard-Schnittstelle einrichten
Lassen Sie uns das tun.
Wireguard installieren
Zuerst installieren Sie das Wireguard-Paket auf Ihrem Debian-Server, indem Sie den folgenden Befehl ausführen.
sudo apt install wireguardGeben Sie y ein, um mit der Installation fortzufahren.

Wireguard-Server-Schlüssel generieren
Nachdem das Wireguard-Paket installiert ist, besteht die nächste Aufgabe darin, Serverzertifikate zu generieren, was mit dem wg-Befehlszeilenwerkzeug erfolgen kann.
Führen Sie den folgenden Befehl aus, um den privaten Schlüssel des Wireguard-Servers in /etc/wireguard/server.key zu generieren. Ändern Sie dann die Berechtigung des privaten Schlüssels des Servers auf 0400, was bedeutet, dass Sie den Schreibzugriff auf die Datei deaktivieren.
wg genkey | sudo tee /etc/wireguard/server.key
sudo chmod 0400 /etc/wireguard/server.keyFühren Sie als Nächstes den folgenden Befehl aus, um den öffentlichen Schlüssel des Wireguard-Servers in /etc/wireguard/server.pub zu generieren.
sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
Jetzt, da Sie den privaten Schlüssel in /etc/wireguard/server.key und den öffentlichen Schlüssel in /etc/wireguard/server.pub für Ihren Wireguard-Server generiert haben, können Sie den cat-Befehl unten ausführen, um den Inhalt sowohl des privaten als auch des öffentlichen Schlüssels anzuzeigen.
cat /etc/wireguard/server.key
cat /etc/wireguard/server.pubSie haben möglicherweise eine andere Ausgabe, aber die generierten Schlüssel sehen wie folgt aus:
Wireguard-Client-Schlüssel generieren
Nachdem der Wireguard-Server-Schlüssel generiert wurde, besteht die nächste Aufgabe darin, Schlüssel für die Clients zu generieren. Sie können Client-Schlüssel für jeden Benutzer generieren, aber Sie können auch einen einzigen Schlüssel für mehrere Benutzer verwenden.
In diesem Beispiel werden Sie einen Client-Schlüssel für einen bestimmten Benutzer alice generieren.
Um zu beginnen, führen Sie den folgenden Befehl aus, um ein neues Verzeichnis zum Speichern der Client-Schlüssel zu erstellen. In diesem Fall werden die öffentlichen und privaten Schlüssel für den Benutzer alice im Verzeichnis /etc/wireguard/clients/alice generiert.
mkdir -p /etc/wireguard/clients/aliceFühren Sie nun den folgenden Befehl aus, um den privaten Schlüssel /etc/wireguard/clients/alice/alice.key und den öffentlichen Schlüssel /etc/wireguard/clients/alice/alice.pub für den Benutzer alice zu generieren.
wg genkey | tee /etc/wireguard/clients/alice/alice.key
cat /etc/wireguard/clients/alice/alice.key | wg pubkey | tee /etc/wireguard/clients/alice/alice.pubFühren Sie schließlich den folgenden Befehl aus, um den Inhalt der privaten und öffentlichen Schlüssel für den Benutzer alice anzuzeigen.
cat /etc/wireguard/clients/alice/alice.key
cat /etc/wireguard/clients/alice/alice.pubDie ähnliche Ausgabe wie die folgende wird angezeigt:
Wireguard-Schnittstelle konfigurieren
Jetzt, da Sie private und öffentliche Schlüssel sowohl für den Server als auch für den Client generiert haben, besteht die nächste Aufgabe darin, die Wireguard-Schnittstelle und den Peer zu konfigurieren. Sie werden eine Schnittstelle für das Wireguard-Netzwerk-VPN und einen Peer konfigurieren, der zwischen dem Client und dem Server hergestellt wird.
Erstellen Sie eine neue Wireguard-Konfiguration /etc/wireguard/wg0.conf mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/wireguard/wg0.confFügen Sie die folgende Konfiguration in die Datei ein.
[Interface]
# Wireguard-Server privater Schlüssel - server.key
PrivateKey = cNBb6MGaKhmgllFxSq/h9BdYfZOdyKvo8mjzb2STbW8=
# Wireguard-Schnittstelle wird unter 10.10.0.1 ausgeführt
Address = 10.10.0.1/24
# Clients werden sich mit UDP-Port 51820 verbinden
ListenPort = 51820
# Stellen Sie sicher, dass alle Änderungen in der Wireguard-Konfigurationsdatei gespeichert werden
SaveConfig = trueIm Folgenden sind die Parameter aufgeführt, die im Abschnitt [Interface] verwendet werden:
- PrivateKey: Geben Sie den Inhalt des privaten Schlüssels des Wireguard-Servers server.key ein.
- Address: die IP-Adresse, die der Wireguard-Schnittstelle zugewiesen wird. In diesem Fall hat die Wireguard-Schnittstelle die IP-Adresse 10.10.0.1.
- ListenPort: Dies ist der Port, der vom Client verwendet wird, um sich mit dem Wireguard-Server zu verbinden. In diesem Fall wird der Port 51820 verwendet.
- SaveConfig: der Wert true bedeutet, dass alle Änderungen vom aktuellen Zustand der Schnittstelle beim Herunterfahren gespeichert werden.
Fügen Sie nun den folgenden Abschnitt [Peer] für Wireguard-Clients hinzu.
[Peer]
# Wireguard-Client öffentlicher Schlüssel - alice.pub
PublicKey = 3ZoaoVgHOioZnKzCrF/XALAv70V4vyJXpl/UO7AKYzA=
# VPN-IP-Adressen der Clients, die Sie zulassen, sich zu verbinden
# möglich, Subnetz anzugeben ⇒ [10.10.0.0/24]
AllowedIPs = 10.10.0.2/24Im Folgenden sind die Parameter aufgeführt, die im Abschnitt [Peer] verwendet werden:
PublicKey: Geben Sie den öffentlichen Schlüssel des Wireguard-Clients in dieses Parameter ein. In diesem Fall den Inhalt des öffentlichen Schlüssels alice.pub.
AllowedIPs: Definieren Sie die IP-Adresse für den Client und leiten Sie den Datenverkehr zur Wireguard-Schnittstelle.
Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
Führen Sie schließlich den folgenden Befehl aus, um den Port 51820/udp für Client-Verbindungen zu öffnen.
sudo ufw allow 51820/udpNAT für die Wireguard-Schnittstelle einrichten
Führen Sie zuerst den folgenden Befehl aus, um die Standard-Gateway-Schnittstelle anzuzeigen, die verwendet wird, um eine Verbindung zum Internet herzustellen.
sudo ip route list defaultIn diesem Fall ist das Standardnetzwerk-Internet-Gateway die Schnittstelle eth0.
Öffnen Sie nun die Wireguard-Konfiguration /etc/wireguard/wg0.conf mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/wireguard/wg0.confFügen Sie die folgende Konfiguration unter dem Abschnitt [Interface] hinzu und stellen Sie sicher, dass Sie die Schnittstelle eth0 mit der Standard-Internet-Gateway-Schnittstelle ändern.
[Interface]
...
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADESpeichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
An diesem Punkt haben Sie Ihren Wireguard-Server konfiguriert.
Wireguard-Dienst verwalten
Jetzt, da die Installation und Konfiguration des Wireguard-Servers abgeschlossen sind, sind Sie bereit, den Wireguard-Dienst auf Ihrem Debian-System zu starten. Dies kann über den systemctl-Befehl oder mit dem wg-quick-Dienstprogramm erfolgen.
Um den Wireguard-Server zu starten und zu aktivieren, führen Sie den folgenden systemctl-Befehl aus. Mit dem Dienstnamen wg-quick@wg0 starten Sie Wireguard innerhalb der wg0-Schnittstelle, die auf der Konfiguration /etc/wireguard/wg0.conf basiert.
sudo systemctl start [email protected]
sudo systemctl enable [email protected]Überprüfen Sie nun den wirguard@wg0-Dienst mit dem folgenden Befehl.
sudo systemctl status [email protected]Wenn der Dienst läuft, wird die folgende Ausgabe angezeigt.

Führen Sie als Nächstes den ip-Befehl unten aus, um die Details der Wireguard-Schnittstelle wg0 anzuzeigen. Und Sie sollten sehen, dass die Wireguard-Schnittstelle wg0 die IP-Adresse 10.10.0.1 hat.
sudo ip a show wg0
Sie können Wireguard auch manuell über den wg-quick-Befehl unten starten oder stoppen.
sudo wg-quick up /etc/wireguard/wg0.conf
sudo wg-quick down /etc/wireguard/wg0.confDamit haben Sie den Wireguard-Server konfiguriert und im Hintergrund über den systemctl-Befehl gestartet. Ihr Client ist jetzt bereit, eine Verbindung zum Wireguard-Server herzustellen.
Wireguard-Client auf Debian-basierter Distribution einrichten
Im folgenden Abschnitt konfigurieren Sie den Wireguard-Client für die Debian-basierte Distribution. Sie werden Wireguard-Tools installieren, eine Wireguard-Client-Konfiguration erstellen, eine Verbindung zum Wireguard-Server herstellen, die Verbindung über das wg-Dienstprogramm überprüfen und auf das Internet zugreifen.
Installieren Sie das Wireguard-tools-Paket auf dem Client-Rechner über APT. Der Client-Rechner ist eine Debian-basierte Distribution, daher wird der APT-Paketmanager verwendet.
sudo apt install wireguard-tools resolvconf
Nachdem Sie die Wireguard-Tools installiert haben, erstellen Sie eine neue Wireguard-Client-Konfiguration /etc/wireguard/wg-alice.conf mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/wireguard/wg-alice.confFügen Sie die folgende Konfiguration in die Datei ein.
[Interface]
# Definieren Sie die IP-Adresse für den Client - muss mit wg0 auf dem Wireguard-Server übereinstimmen
Address = 10.10.0.2/24
# spezifischer DNS-Server
DNS = 1.1.1.1
# Privater Schlüssel für den Client - alice.key
PrivateKey = cPDg6SQHz/3l2R83lMWPzmR6/mMKnKp9PNImbtB6nGI=
[Peer]
# Öffentlicher Schlüssel des Wireguard-Servers - server.pub
PublicKey = APyBQvTkYVm0oakzcQUQViarwx1aIYz5wb/g2v2xdUE=
# Erlauben Sie, dass der gesamte Datenverkehr über das Wireguard-VPN geleitet wird
AllowedIPs = 0.0.0.0/0
# Öffentliche IP-Adresse des Wireguard-Servers
Endpoint = 192.168.128.15:51820
# Senden Sie Keepalive alle 25 Sekunden
PersistentKeepalive = 25Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
Im Folgenden sind einige der Parameter im Abschnitt [Interface] für Wireguard-Clients aufgeführt:
- Address: Geben Sie die interne IP-Adresse der Wireguard-Schnittstelle auf dem Client-Rechner an.
- DNS: Richten Sie den Standard-DNS-Server für den Client ein.
- PrivateKey: der private Schlüssel des Wireguard-Clients, in diesem Fall alice.key.
Und im Abschnitt [Peer] der Wireguard-Client-Konfiguration:
- PublicKey: dies ist der öffentliche Schlüssel des Wireguard-Servers, der server.pub ist.
- AllowedIPs: Erlauben Sie den Zugriff, der über die Wireguard-Schnittstelle geleitet wird.
- Endpoint: die IP-Adresse und der Port des Wireguard-Servers.
- PersistentKeepalive: Senden Sie Keepalive alle x Sekunden, um die Verbindung aufrechtzuerhalten.
Führen Sie als Nächstes den wg-quick-Befehl unten aus, um Wireguard auf der Schnittstelle wg-alice zu starten.
sudo wg-quick up wg-aliceWenn alles gut geht, wird die ähnliche Ausgabe wie die folgende angezeigt.

Führen Sie danach den ip-Befehl unten aus, um die Details der Schnittstelle wg-alice zu überprüfen. Und Sie sollten die wg-alice-Schnittstelle mit der lokalen IP-Adresse 10.10.0.2 sehen.
sudo ip a show wg-alice
Überprüfen Sie als Nächstes die Internetverbindung des Client-Rechners, indem Sie den folgenden Befehl ausführen.
ping -c3 10.10.0.1
ping -c3 1.1.1.1
ping -c3 duckduckgo.comWenn Ihre Wireguard-Serverinstallation erfolgreich war, erhalten Sie die Antwort von jedem Zielserver wie folgt:

Darüber hinaus können Sie auch die Verbindungen zwischen dem Wireguard-Server und dem Client überprüfen, indem Sie den folgenden Befehl auf dem Wireguard-Server oder dem Client-Rechner ausführen.
wg showDie ähnliche Ausgabe wie die folgende wird angezeigt.

Um schließlich die Wireguard-Verbindung auf dem Client-Rechner zu stoppen, führen Sie den wg-quick-Befehl unten aus.
sudo wg-quick down wg-alice
Fazit
Zusammenfassend haben Sie nun die Installation von Wireguard VPN auf dem Debian 12-Server Schritt für Schritt abgeschlossen. Sie haben auch einen Debian-basierten Client-Rechner mit Wireguard konfiguriert und eine Verbindung zum Wireguard-Server hergestellt. Mit diesem Wissen können Sie jetzt weitere Clients hinzufügen, indem Sie weitere Wireguard-Schlüssel und Peer-Konfigurationen hinzufügen.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.