Einrichtung eines WireGuard Site-to-Site VPN: Eine Schritt-für-Schritt-Anleitung

Vor Kurzem habe ich ein WireGuard Site-to-Site VPN eingerichtet und war positiv überrascht, wie unkompliziert der Prozess verlief! Falls du ein ähnliches Vorhaben planst, möchte ich hier meine Schritt-für-Schritt-Anleitung mit dir teilen.

Warum WireGuard?

WireGuard ist ein zeitgemäßes VPN-Protokoll, das sich durch hohe Sicherheit und eine einfache Konfiguration auszeichnet. Es überzeugt durch herausragende Geschwindigkeit und Effizienz, was es zu einer idealen Lösung für die sichere Vernetzung mehrerer Standorte macht.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes bereit hast:

  • Zugang zu zwei oder mehreren Servern
  • Administratorrechte auf diesen Servern
  • Grundlegende Kenntnisse in Linux

Schritt 1: Installation WireGuard

Installieren wir WireGuard auf beiden Endpunkten:

sudo apt update
sudo apt install wireguard

Das obige Beispiel ist für Debian-basierte Systeme. Für andere Distributionen passt du das entsprechend an.

Schritt 2: Erstellen der Schlüsselpaare

Jetzt benötigen wir Private und Public Keys. Diese generierst du mit:

umask 077
wg genkey | tee privatekey | wg pubkey > publickey

Extra auf beiden Servern ausführen und die Schlüssel sicher speichern.

Schritt 3: Konfiguration des VPN

Nun richten wir die Konfigurationsdateien ein. Erstelle /etc/wireguard/wg0.conf auf beiden Maschinen:

Server A Konfiguration

[Interface]
PrivateKey = <Server1_PrivateKey>
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = <Server2_PublicKey>
Endpoint = server-b.ip.address:51820
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25

Server B Konfiguration

[Interface]
PrivateKey = <Server2_PrivateKey>
Address = 10.0.0.2/24
ListenPort = 51820

[Peer]
PublicKey = <Server1_PublicKey>
Endpoint = server-a.ip.address:51820
AllowedIPs = 10.0.0.1/32
PersistentKeepalive = 25

Schritt 4: Starten des WireGuard Interfaces

Nun kannst du das Interface starten und mit dem “enable” Befehl wird das ganze auch Bootfest gemacht.

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

Prüfe den Status des VPN mit:

sudo wg

Schritt 5: Routing und Firewall Konfiguration

Um Datenverkehr weiterzuleiten, aktiviere IP-Forwarding:

sudo sysctl -w net.ipv4.ip_forward=1

Trage dies zusätzlich in /etc/sysctl.conf ein, um es dauerhaft zu aktivieren:

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

Passe gegebenenfalls die Firewall an:

sudo ufw allow 51820/udp

Schritt 6: Verbindung testen

Letzten Endes teste die Verbindung mit ping:

ping 10.0.0.2

Wenn alles klappt, hast du eine funktionierende Site-to-Site VPN mit WireGuard eingerichtet! Viel Erfolg bei deinem Projekt!