Anleitungen · 4 Min. Lesezeit

WireGuard unter Debian 13 einrichten

Einleitung

WireGuard ist ein schnelles, modernes und kryptografisch sicheres VPN-Protokoll, das direkt im Linux-Kernel steckt. Anders als schwergewichtigere Alternativen wie OpenVPN oder IPSec ist WireGuard schlank, einfach zu konfigurieren und außerordentlich leistungsfähig – und damit die ideale Wahl, um den Datenverkehr über Ihren VPS bei AVS ISP abzusichern.

Debian 13 „Trixie“ (erschienen am 9. August 2025) bringt WireGuard bereits in den Standard-Repositorys mit; Backports oder Fremdquellen sind also nicht nötig.


Voraussetzungen

Bevor Sie anfangen, sollten Sie Folgendes haben:

  • Einen Debian 13 (Trixie) VPS von AVS ISP
  • Root- oder sudo-Zugriff auf den Server
  • Einen lokalen Rechner als WireGuard-Client (Linux, Windows, macOS, Android, iOS)
  • Den UDP-Port 51820, in der Firewall bzw. Sicherheitsgruppe Ihres AVS-ISP-VPS geöffnet

Schritt 1 – Das System aktualisieren

Melden Sie sich per SSH auf Ihrem VPS an und bringen Sie alle Pakete auf den neuesten Stand:

apt update && apt upgrade -y

Schritt 2 – WireGuard installieren

WireGuard liegt in den Standard-Repositorys von Debian 13:

apt install -y wireguard wireguard-tools iptables

Prüfen Sie die Installation:

wg --version

Schritt 3 – Server-Schlüssel erzeugen

Setzen Sie eine strenge umask, um die privaten Schlüsseldateien zu schützen, und erzeugen Sie dann das Schlüsselpaar des Servers:

umask 077
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub

Schlüssel ansehen und sichern:

cat /etc/wireguard/server.key   # Privater Schlüssel des Servers (geheim halten!)
cat /etc/wireguard/server.pub   # Öffentlicher Schlüssel des Servers (an Clients weitergeben)

Schritt 4 – Client-Schlüssel erzeugen

Erzeugen Sie direkt auf dem Server ein Schlüsselpaar für den ersten Client:

wg genkey | tee /etc/wireguard/client.key | wg pubkey > /etc/wireguard/client.pub
cat /etc/wireguard/client.key   # Privater Schlüssel des Clients
cat /etc/wireguard/client.pub   # Öffentlicher Schlüssel des Clients

Schritt 5 – Die Netzwerkschnittstelle ermitteln

Finden Sie den Namen der Hauptnetzwerkschnittstelle Ihres VPS heraus (häufig eth0 oder enp1s0):

ip address show

Merken Sie sich den Namen der Schnittstelle – Sie brauchen ihn im nächsten Schritt.


Schritt 6 – Den WireGuard-Server konfigurieren

Legen Sie die Konfigurationsdatei des Servers an:

nano /etc/wireguard/wg0.conf

Fügen Sie Folgendes ein und ersetzen Sie die Platzhalter:

[Interface]
# VPN-IP-Adresse des Servers
Address = 10.8.0.1/24

# UDP-Port, auf dem WireGuard lauscht
ListenPort = 51820

# Hier den PRIVATEN Schlüssel des Servers einfügen
PrivateKey = <SERVER_PRIVATE_KEY>

# IP-Forwarding und NAT aktivieren, sobald der Tunnel startet
# eth0 durch Ihre tatsächliche Schnittstelle ersetzen (z. B. enp1s0)
PostUp   = echo 1 > /proc/sys/net/ipv4/ip_forward; \
           iptables -A FORWARD -i wg0 -j ACCEPT; \
           iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = echo 0 > /proc/sys/net/ipv4/ip_forward; \
           iptables -D FORWARD -i wg0 -j ACCEPT; \
           iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# ── Peer (Client) ──────────────────────────────────────────
[Peer]
# Hier den ÖFFENTLICHEN Schlüssel des Clients einfügen
PublicKey = <CLIENT_PUBLIC_KEY>

# VPN-IP, die diesem Client zugewiesen wird
AllowedIPs = 10.8.0.2/32

Speichern und schließen (Strg+O, Enter, Strg+X).


Schritt 7 – IP-Forwarding dauerhaft aktivieren

Bearbeiten Sie /etc/sysctl.conf, damit das IP-Forwarding Neustarts übersteht:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

Schritt 8 – WireGuard starten und aktivieren

Starten Sie den WireGuard-Dienst und richten Sie ihn für den Systemstart ein:

systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0

Prüfen Sie, ob die Schnittstelle läuft:

wg show
ip address show wg0

Sie sollten die Schnittstelle wg0 mit der Adresse 10.8.0.1 sehen.


Schritt 9 – Den Client konfigurieren

Legen Sie auf Ihrem Client-Rechner eine WireGuard-Konfigurationsdatei an (z. B. wg0.conf) oder importieren Sie sie in die WireGuard-App:

[Interface]
# VPN-IP des Clients
Address = 10.8.0.2/32

# PRIVATER Schlüssel des Clients (aus Schritt 4)
PrivateKey = <CLIENT_PRIVATE_KEY>

# Optional: den VPS als DNS-Resolver verwenden
# DNS = 10.8.0.1

[Peer]
# ÖFFENTLICHER Schlüssel des Servers (aus Schritt 3)
PublicKey = <SERVER_PUBLIC_KEY>

# Öffentliche IP Ihres AVS-ISP-VPS und der WireGuard-Port
Endpoint = <YOUR_VPS_PUBLIC_IP>:51820

# SÄMTLICHEN Datenverkehr durch das VPN leiten
# Für Split-Tunnel (nur das VPN-Subnetz): 10.8.0.0/24
AllowedIPs = 0.0.0.0/0, ::/0

# Die Verbindung durch NAT-Firewalls hindurch offen halten
PersistentKeepalive = 25

Bringen Sie den Tunnel auf dem Client hoch:

# Linux-Client
wg-quick up wg0

Unter Windows / macOS / Android / iOS importieren Sie die Konfigurationsdatei oder den QR-Code in die offizielle WireGuard-App.


Schritt 10 – Den Firewallport öffnen

Falls auf Ihrem AVS-ISP-VPS eine lokale ufw- oder iptables-Firewall läuft, geben Sie den UDP-Port 51820 frei:

# Mit ufw
ufw allow 51820/udp
ufw reload

# Direkt mit iptables
iptables -A INPUT -p udp --dport 51820 -j ACCEPT

Prüfen Sie außerdem im Kundenpanel von AVS ISP unter den Firewall- bzw. Sicherheitsgruppeneinstellungen Ihres VPS, ob der Port offen ist.


Schritt 11 – Die Verbindung prüfen

Bringen Sie den Tunnel auf dem Client hoch und testen Sie die Verbindung:

wg-quick up wg0
ping 10.8.0.1         # Das VPN-Gateway anpingen
curl https://ifconfig.me  # Sollte die öffentliche IP Ihres AVS-ISP-VPS zurückgeben

Bestätigen Sie auf dem Server die aktiven Peer-Sitzungen:

wg show

Der Peer sollte mit einem aktuellen Zeitstempel unter latest handshake aufgeführt sein.


Weitere Clients hinzufügen

Wiederholen Sie für jeden weiteren Client die Schritte 4 und 9 und ergänzen Sie dann auf dem Server einen neuen [Peer]-Block in /etc/wireguard/wg0.conf:

[Peer]
PublicKey  = <NEW_CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.3/32

WireGuard neu laden, ohne bestehende Verbindungen zu trennen:

wg addconf wg0 <(wg-quick strip wg0)
# oder den Dienst neu starten
systemctl restart wg-quick@wg0

Nützliche Befehle

Aktion Befehl
Tunnelstatus anzeigen wg show
Tunnel starten systemctl start wg-quick@wg0
Tunnel stoppen systemctl stop wg-quick@wg0
Tunnel neu starten systemctl restart wg-quick@wg0
WireGuard-Logs ansehen journalctl -u wg-quick@wg0 -f
Kernelmodul prüfen lsmod | grep wireguard

Sicherheitshinweise

  • Geben Sie Ihre privaten Schlüssel niemals weiter. Zwischen Peers werden ausschließlich öffentliche Schlüssel ausgetauscht.
  • Beschränken Sie den SSH-Zugang auf eine bestimmte IP oder erlauben Sie ausschließlich schlüsselbasierte Authentifizierung.
  • Erwägen Sie, den Standardport von WireGuard (51820) auf einen ungewöhnlichen UDP-Port zu ändern, um den Lärm von Portscannern zu verringern.
  • Wechseln Sie die Schlüsselpaare bei langlebigen Installationen regelmäßig.
  • Nutzen Sie auf Clients hinter NAT PersistentKeepalive = 25, damit die Sitzung nicht abreißt.

Diese Anleitung wurde für AVS-ISP-VPS-Kunden mit Debian 13 „Trixie“ geschrieben. WireGuard® ist eine eingetragene Marke von Jason A. Donenfeld.

Zurück zu Anleitungen