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.conf

Fü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=1

Speichern 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 -p

UFW 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

UFW installieren

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

UFW aktivieren

Überprüfen Sie schließlich den UFW-Status mit dem folgenden Befehl.

sudo ufw status

Wenn es läuft, sollten Sie die Ausgabe “ Status: aktiv.“ erhalten. Sie werden auch sehen, dass das OpenSSH-Anwendungsprofil zu UFW hinzugefügt wurde.

UFW überprüfen

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 wireguard

Geben Sie y ein, um mit der Installation fortzufahren.

Wireguard installieren

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.key

Fü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

Server-Schlüssel generieren

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.pub

Sie 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/alice

Fü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.pub

Fü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.pub

Die ä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.conf

Fü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 = true

Im 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/24

Im 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/udp

NAT 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 default

In 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.conf

Fü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 MASQUERADE

Speichern 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.

Wireguard-Dienst starten überprüfen

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

wg0-Schnittstelle überprüfen

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.conf

Damit 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

Wireguard-Tools installieren

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.conf

Fü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 = 25

Speichern 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-alice

Wenn alles gut geht, wird die ähnliche Ausgabe wie die folgende angezeigt.

Wireguard auf dem Client starten

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

Wireguard-Schnittstelle auf dem Client überprüfen

Ü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.com

Wenn Ihre Wireguard-Serverinstallation erfolgreich war, erhalten Sie die Antwort von jedem Zielserver wie folgt:

Ping überprüfen

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 show

Die ähnliche Ausgabe wie die folgende wird angezeigt.

Wireguard-Verbindungen anzeigen

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

Wireguard auf dem Client stoppen

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.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.