Einführung

WireGuard ist eine moderne VPN-Lösung, die für ihre Geschwindigkeit, Sicherheit und Einfachheit bekannt ist. Dieses Tutorial zeigt, wie Sie WireGuard auf einem Ubuntu-Server einrichten und einen Client verbinden können.


Voraussetzungen

  • Ein Ubuntu-Server (20.04 oder neuer).
  • Root-Zugriff oder ein Benutzer mit sudo-Berechtigungen.
  • Eine öffentliche IP-Adresse oder ein DNS-Eintrag für den Server.

Schritt 1: WireGuard installieren

1.1 System aktualisieren

Führen Sie ein System-Update durch, um sicherzustellen, dass alle Pakete aktuell sind:

sudo apt update && sudo apt upgrade -y

1.2 WireGuard installieren

Installieren Sie WireGuard und die notwendigen Tools:

sudo apt install wireguard -y

Schritt 2: Schlüsselpaare generieren

WireGuard verwendet öffentliche und private Schlüssel zur Authentifizierung.

2.1 Verzeichnis erstellen

Erstellen Sie ein Verzeichnis für die Schlüssel:

sudo mkdir -p /etc/wireguard
cd /etc/wireguard

2.2 Server-Schlüssel erstellen

Generieren Sie die Schlüsselpaare für den Server:

sudo wg genkey | tee server_private.key | wg pubkey > server_public.key

2.3 Rechte setzen

Stellen Sie sicher, dass die Schlüssel nur vom Administrator gelesen werden können:

sudo chmod 600 server_private.key

Schritt 3: WireGuard konfigurieren

3.1 Konfigurationsdatei erstellen

Erstellen Sie die Konfigurationsdatei:

sudo nano /etc/wireguard/wg0.conf

Fügen Sie folgendes hinzu:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <ServerPrivateKey>
SaveConfig = true

[Peer]
PublicKey = <ClientPublicKey>
AllowedIPs = 10.0.0.2/32
  • Ersetzen Sie <ServerPrivateKey> mit dem Inhalt von server_private.key.
  • Ersetzen Sie <ClientPublicKey> durch den öffentlichen Schlüssel des Clients.

3.2 IP-Forwarding aktivieren

Aktivieren Sie die Weiterleitung von IP-Paketen:

sudo sysctl -w net.ipv4.ip_forward=1

Stellen Sie sicher, dass die Änderung permanent ist:

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

3.3 Firewall-Regeln hinzufügen

Erlauben Sie den Datenverkehr für WireGuard:

sudo ufw allow 51820/udp

Falls nötig, NAT einrichten:

sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

Ersetzen Sie eth0 durch das Interface mit der öffentlichen IP-Adresse.


Schritt 4: WireGuard starten

Starten und aktivieren Sie WireGuard:

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

Prüfen Sie den Status:

sudo wg show

Schritt 5: Client einrichten

5.1 Client-Schlüssel generieren

Generieren Sie die Schlüsselpaare für den Client (auf dem Client-Rechner):

wg genkey | tee client_private.key | wg pubkey > client_public.key

5.2 Client-Konfiguration erstellen

Erstellen Sie die Datei wg0.conf auf dem Client:

[Interface]
PrivateKey = <ClientPrivateKey>
Address = 10.0.0.2/24

[Peer]
PublicKey = <ServerPublicKey>
Endpoint = <ServerIP>:51820
AllowedIPs = 0.0.0.0/0
  • Ersetzen Sie <ClientPrivateKey> mit dem Inhalt von client_private.key.
  • Ersetzen Sie <ServerPublicKey> mit dem Inhalt von server_public.key.
  • Ersetzen Sie <ServerIP> mit der öffentlichen IP-Adresse des Servers.

5.3 Client starten

Starten Sie WireGuard auf dem Client:

sudo wg-quick up wg0

Schritt 6: Verbindung testen

  • Pingen Sie vom Client den Server an:
ping 10.0.0.1
  • Überprüfen Sie den Datenverkehr auf dem Server:
sudo wg show

Fazit

WireGuard bietet eine schnelle und sichere Möglichkeit, VPN-Verbindungen einzurichten. Mit diesem Tutorial haben Sie gelernt, wie Sie einen WireGuard-Server auf Ubuntu konfigurieren und einen Client verbinden.