WireGuard auf einem Linux Host einrichten
Hinweis: Die Seite beinhaltet derzeit ausschließlich von Google Gemini generierter Inhalt und soll in naher Zukunft angepasst werden.
Die Einrichtung eines WireGuard-Interfaces (Tunnel) und eines Peers auf einem Arch Linux Host erfolgt hauptsächlich über die Installation der notwendigen Pakete, die Generierung von Schlüsselpaaren und die Erstellung einer Konfigurationsdatei.
Hier ist eine Schritt-für-Schritt-Anleitung für eine Client-Konfiguration. (Die Server-Konfiguration ist komplexer und beinhaltet zusätzliche Schritte wie IP-Forwarding und Firewall-Regeln.)
1. Installation der WireGuard-Tools 🛠️
Installieren Sie die wireguard-tools über den Paketmanager pacman. Diese enthalten das Tool wg für die Schlüsselgenerierung und das Skript wg-quick zur einfachen Konfiguration des Tunnels.
sudo pacman -S wireguard-tools
Hinweis: Wenn Sie einen älteren Kernel (< 5.6) verwenden, müssen Sie möglicherweise auch das Kernelmodul installieren, z.B.
wireguard-dkmszusammen mit denlinux-headers. Der Standard-Arch-Kernel hat das Modul jedoch integriert.
2. Schlüsselgenerierung 🔑
WireGuard verwendet öffentliche/private Schlüsselpaare zur Authentifizierung. Sie benötigen ein Schlüsselpaar für Ihren lokalen Host und den öffentlichen Schlüssel Ihres Peer-Servers.
-
Erstellen Sie ein sicheres Verzeichnis für Ihre Konfigurationsdateien:
Bashsudo mkdir -p /etc/wireguard sudo chmod 700 /etc/wireguard -
Generieren Sie das Schlüsselpaar für Ihr lokales Interface (
privkeyundpubkey):Bashwg genkey | sudo tee /etc/wireguard/client-privatekey sudo cat /etc/wireguard/client-privatekey | wg pubkey | sudo tee /etc/wireguard/client-publickey -
Zeigen Sie den öffentlichen Schlüssel Ihres Clients an. Diesen müssen Sie Ihrem WireGuard-Server-Administrator mitteilen, damit dieser Sie als Peer hinzufügen kann:
Bashsudo cat /etc/wireguard/client-publickey
3. Konfigurationsdatei erstellen 📝
Erstellen Sie die Konfigurationsdatei für Ihr WireGuard-Interface. Der Dateiname sollte dem gewünschten Interface-Namen entsprechen, z.B. wg0.conf.
sudo nano /etc/wireguard/wg0.conf
Fügen Sie die Konfiguration ein (ersetzen Sie die Platzhalter <...> durch Ihre tatsächlichen Werte):
[Interface]
# Die private Schlüsseldatei, die Sie in Schritt 2 generiert haben
PrivateKey = <Der Inhalt von /etc/wireguard/client-privatekey>
# Interne IP-Adresse Ihres Clients im VPN-Netzwerk (wird vom Server vorgegeben)
Address = 10.8.0.2/24
# Optional: DNS-Server, der bei aktivem Tunnel verwendet werden soll
DNS = 8.8.8.8
[Peer]
# Der öffentliche Schlüssel des WireGuard-Servers (wird vom Server-Admin bereitgestellt)
PublicKey = <Öffentlicher Schlüssel des Servers>
# Die öffentliche IP-Adresse und der Port des WireGuard-Servers
Endpoint = <Server-IP>:<Server-Port>
# Welche IP-Adressen über diesen Tunnel geroutet werden sollen.
# 0.0.0.0/0 leitet den gesamten Traffic um. (Für vollen VPN-Betrieb)
AllowedIPs = 0.0.0.0/0
# Optional: Sendet alle 25 Sekunden ein Keepalive-Paket, um NAT-Timeouts zu verhindern.
PersistentKeepalive = 25
4. WireGuard Interface starten und aktivieren 🚀
Sie können das WireGuard Interface nun mit dem wg-quick Skript und dem Systemd-Dienst starten.
-
Interface starten:
Bashsudo systemctl start wg-quick@wg0(Das
@wg0bezieht sich auf den Dateinamen/etc/wireguard/wg0.conf.) -
Verbindung prüfen:
Bashsudo wg show wg0Wenn die Ausgabe eine Verbindung zeigt und keine Fehlermeldungen erscheinen, ist der Tunnel aktiv.
-
Aktivieren für den Systemstart (optional): Um sicherzustellen, dass das Interface automatisch beim Booten gestartet wird:
Bashsudo systemctl enable wg-quick@wg0
5. Interface stoppen 🛑
Wenn Sie die VPN-Verbindung trennen möchten:
sudo systemctl stop wg-quick@wg0
Wenn Sie die automatische Aktivierung beim Start deaktivieren möchten:
sudo systemctl disable wg-quick@wg0
No comments to display
No comments to display