WireGuard Installations- und Konfigurationsanleitung

Diese Anleitung beschreibt die Schritte zur Installation und Konfiguration von WireGuard auf Debian-basierten und Red-Hat-basierten Systemen.

Voraussetzungen

  • Root- oder Sudo-Rechte auf dem System.

Abhängigkeiten

Für Debian-basierte Systeme (z. B. Ubuntu)

sudo apt update
sudo apt install -y make gcc libmnl-dev libelf-dev pkg-config linux-headers-$(uname -r)

Für Red-Hat-basierte Systeme (z. B. Rocky Linux, AlmaLinux)

sudo dnf install -y make gcc libmnl-devel elfutils-libelf-devel pkgconf-pkg-config kernel-headers kernel-devel

Installation

Installation aus dem Quellcode

Für beide Distributionen können die WireGuard-Tools aus dem Quellcode kompiliert werden:

git clone https://git.zx2c4.com/wireguard-tools.git
cd wireguard-tools/src
make -j$(nproc)   # Kompiliert die Tools mit allen verfügbaren CPU-Kernen
sudo make install # Installiert die kompilierten Tools

Installation über den Paketmanager

Debian-basierte Systeme

sudo apt update
sudo apt install -y wireguard-tools

Red-Hat-basierte Systeme

sudo dnf install -y wireguard-tools

Installation überprüfen

wg --version

Konfiguration

Serverkonfiguration

Erstellen Sie eine Konfigurationsdatei für den Server:

sudo nano /etc/wireguard/wg0.conf

Beispielkonfiguration

[Interface]
# Die private IP-Adresse des Servers im VPN
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <server_private_key>

[Peer]
PublicKey = <client_public_key>
# Erlauben Sie das gesamte Subnetz oder eine einzelne IP für den Client
AllowedIPs = 10.0.0.2/32

[Peer]
PublicKey = <client2_public_key>
# Erlauben Sie den gesamten Verkehr des Clients über das VPN
AllowedIPs = 0.0.0.0/0

IP-Weiterleitung aktivieren

Aktivieren Sie die IP-Weiterleitung, um den Datenverkehr durch das VPN zu leiten:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo sysctl -w net.ipv4.ip_forward=1

Dauerhaft aktivieren:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

WireGuard starten

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

Client-Konfiguration

Erstellen Sie eine Konfigurationsdatei auf dem Client:

sudo nano /etc/wireguard/wg0.conf

Beispielkonfiguration

[Interface]
# Die private IP-Adresse des Clients im VPN
Address = 10.0.0.2/24
PrivateKey = <client_private_key>

[Peer]
PublicKey = <server_public_key>
Endpoint = <server_public_ip>:51820
AllowedIPs = 10.0.0.0/24

# Für die Weiterleitung des gesamten Datenverkehrs über WireGuard:
AllowedIPs = 0.0.0.0/0

WireGuard auf dem Client starten

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

Verbindung überprüfen

Auf dem Server und dem Client kann der Status von WireGuard überprüft werden:

wg show

Best Practices

  1. Starke Schlüssel verwenden: Generieren Sie immer neue Schlüssel für neue Konfigurationen.
  2. Server absichern: Beschränken Sie den Zugriff auf den Server mit Firewall-Regeln.
  3. Datenverkehr überwachen: Überprüfen Sie regelmäßig mit wg show aktive Verbindungen.
  4. Konfigurationen sichern: Speichern Sie eine Sicherung Ihrer Konfigurationsdateien an einem sicheren Ort.