ChatGPT-Biografie

WireGuard-VPN mit mehreren Servern einrichten – Schritt-für-Schritt-Anleitung

In dieser Schritt-für-Schritt-Anleitung lernst du, wie du mit WireGuard mehrere Linux-Server sicher zu einem internen VPN verbindest. Inklusive Konfigurationsskripten, Beispielen und Tipps zur Fehlerbehebung – ideal für den Aufbau eines privaten Netzwerks mit internen IPs.

1 min Lesezeit
WireGuard-VPN mit mehreren Servern einrichten – Schritt-für-Schritt-Anleitung

Mit WireGuard kannst du ein sicheres, performantes VPN zwischen mehreren Servern einrichten – ideal, um Dienste wie Qdrant, Ollama oder Web-APIs intern zu verbinden.

Ziel

Wir verbinden drei Server über ein internes VPN:

| Servername | Rolle | VPN-IP | Öffentliche IP/Domain | |------------|-----------|------------|--------------------------| | srv-web | Web/Bots | 10.10.0.1 | web.example.com | | srv-db | Qdrant | 10.10.0.2 | db.example.com | | srv-file | Ollama | 10.10.0.3 | file.example.com |

Verwendete Skripte

| Skriptname | Funktion | |------------------------------|---------------------------------------------| | wireguard_base_setup.sh | Installiert WireGuard, legt Verzeichnisse an | | wireguard_generate_keys.sh | Erstellt privates/öffentliches Schlüsselpaar | | wireguard_generate_wg-config.sh | Generiert wg0.conf inklusive aller Peers |

Voraussetzungen

  • Debian- oder Ubuntu-Server mit Root-Zugriff (SSH)
  • Jeder Server hat eine öffentliche IP oder DNS
  • UDP-Port 51820 ist auf allen Servern erreichbar
  • Du planst die VPN-IP-Adressen (z. B. 10.10.0.1, 10.10.0.2, ...)

Vorbereitung: Auf jedem Server ausführen

1. Skripte übertragen

Erstelle auf jedem Server einen Ordner und kopiere alle drei Skripte dorthin:

```bash mkdir ~/wireguard-setup cd ~/wireguard-setup

Lege dort alle drei Skripte ab

```

2. WireGuard installieren

``bash sudo bash wireguard_base_setup.sh ``

Dieses Skript:

  • installiert WireGuard
  • legt /etc/wireguard/ und /etc/wireguard/keys/ an

3. Schlüssel erzeugen

``bash sudo bash wireguard_generate_keys.sh ``

Das Skript erzeugt:

  • private.key und public.key unter /etc/wireguard/keys/
  • zeigt dir den Public Key → unbedingt notieren

Du brauchst diesen Public Key für die Konfiguration der anderen Server.

4. VPN-Konfiguration erstellen

``bash sudo bash wireguard_generate_wg-config.sh ``

Du wirst gefragt nach:

  • Anzahl der Server im VPN (z. B. 3)
  • VPN-IP-Präfix (z. B. 10.10.0.)
  • Hostanteil dieses Servers (z. B. 1 → ergibt 10.10.0.1)
  • Öffentliche IP/DNS und Public Keys der anderen Server

Das Skript:

  • liest automatisch den eigenen Private Key ein
  • generiert eine vollständige wg0.conf mit allen Peers
  • aktiviert das VPN direkt mit wg-quick up wg0

Verbindung testen

Von srv-web:

``bash ping 10.10.0.2 # ping srv-db ping 10.10.0.3 # ping srv-file ``

Status anzeigen:

``bash sudo wg show ``

Beispielausgabe:

`` peer: endpoint: db.example.com:51820 latest handshake: vor 5 Sekunden transfer: 10.2 KiB received, 12.5 KiB sent ``

Fehlerbehebung

| Problem | Mögliche Ursache | | ------------------------- | ----------------------------------------------- | | ping funktioniert nicht | VPN nicht aktiv? Firewall blockiert? IP falsch? | | Kein Handshake | Falsche Public Keys? Port 51820 nicht offen? | | Nur ein Peer verbunden | Auf den anderen Servern fehlt Konfiguration | | Kein Traffic | Kein Dienst aktiv oder keine Datenübertragung |

Optional: Konfiguration löschen

``bash sudo wg-quick down wg0 sudo rm /etc/wireguard/wg0.conf sudo rm -r /etc/wireguard/keys/ ``

Oder automatisiert mit:

``bash sudo bash wireguard_config_delete.sh ``

Ergebnis

Nach erfolgreichem Setup:

  • Alle Server sind über interne VPN-IP (10.10.0.x) verbunden
  • Dienste wie Qdrant, Ollama und Bots kommunizieren sicher intern
  • Dein System ist bereit für ein produktives internes Netzwerk

Weiterführende Links