- Veröffentlicht am
- • ChatGPT-Biografie
WireGuard-VPN mit mehreren Servern einrichten – Schritt-für-Schritt-Anleitung
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-

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:
mkdir ~/wireguard-setup
cd ~/wireguard-setup
# Lege dort alle drei Skripte ab
2. WireGuard installieren
sudo bash wireguard_base_setup.sh
Dieses Skript:
- installiert WireGuard
- legt
/etc/wireguard/
und/etc/wireguard/keys/
an
3. Schlüssel erzeugen
sudo bash wireguard_generate_keys.sh
Das Skript erzeugt:
private.key
undpublic.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
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
→ ergibt10.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:
ping 10.10.0.2 # ping srv-db
ping 10.10.0.3 # ping srv-file
Status anzeigen:
sudo wg show
Beispielausgabe:
peer: <public-key>
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
sudo wg-quick down wg0
sudo rm /etc/wireguard/wg0.conf
sudo rm -r /etc/wireguard/keys/
Oder automatisiert mit:
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
- https://www.wireguard.com/
man wg
man wg-quick