Skip to main content

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.

Bash
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-dkms zusammen mit den linux-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.

  1. Erstellen Sie ein sicheres Verzeichnis für Ihre Konfigurationsdateien:

    Bash
    sudo mkdir -p /etc/wireguard
    sudo chmod 700 /etc/wireguard
    
  2. Generieren Sie das Schlüsselpaar für Ihr lokales Interface (privkey und pubkey):

    Bash
    wg genkey | sudo tee /etc/wireguard/client-privatekey
    sudo cat /etc/wireguard/client-privatekey | wg pubkey | sudo tee /etc/wireguard/client-publickey
    
  3. 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:

    Bash
    sudo 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.

Bash
sudo nano /etc/wireguard/wg0.conf

Fügen Sie die Konfiguration ein (ersetzen Sie die Platzhalter <...> durch Ihre tatsächlichen Werte):

Ini, TOML
[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.

  1. Interface starten:

    Bash
    sudo systemctl start wg-quick@wg0
    

    (Das @wg0 bezieht sich auf den Dateinamen /etc/wireguard/wg0.conf.)

  2. Verbindung prüfen:

    Bash
    sudo wg show wg0
    

    Wenn die Ausgabe eine Verbindung zeigt und keine Fehlermeldungen erscheinen, ist der Tunnel aktiv.

  3. Aktivieren für den Systemstart (optional): Um sicherzustellen, dass das Interface automatisch beim Booten gestartet wird:

    Bash
    sudo systemctl enable wg-quick@wg0
    

 

5. Interface stoppen 🛑

 

Wenn Sie die VPN-Verbindung trennen möchten:

Bash
sudo systemctl stop wg-quick@wg0

Wenn Sie die automatische Aktivierung beim Start deaktivieren möchten:

Bash
sudo systemctl disable wg-quick@wg0