Tutorials  /  Ubuntu

WireGuard VPN auf Ubuntu 24.04 installieren

Ccentron Redaktion · November 2025 ·6 Min. Lesezeit ·Ubuntu, Tutorial

WireGuard ist ein quelloffenes Virtual Private Network (VPN), das moderne Kryptografieverfahren nutzt, um die Kommunikation zwischen Servern und Clients abzusichern. Es ist leichtgewichtig, effizient und besitzt eine kompakte Codebasis, die sich auf Kernfunktionen konzentriert. Dadurch bietet WireGuard im Vergleich zu anderen VPN-Lösungen wie OpenVPN eine bessere Leistung und höhere Sicherheit.

Diese Anleitung beschreibt Schritt für Schritt, wie du WireGuard VPN auf Ubuntu 24.04 installierst und konfigurierst, um sichere und verschlüsselte Netzwerktunnel einzurichten.

Voraussetzungen

  • Starte einen Ubuntu 24.04 Server, der als WireGuard VPN-Host dienen soll.
  • Greife über SSH als Nicht-Root-Benutzer mit sudo-Rechten auf den Server zu.
  • Aktualisiere alle Pakete auf dem Server, um die neuesten Versionen zu nutzen.
VM

Passende Infrastruktur bei centron

Ubuntu-Server ohne eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

WireGuard installieren

WireGuard ist bereits in den Standard-APT-Repositories von Ubuntu 24.04 enthalten. Befolge die folgenden Schritte, um die aktuelle Version zu installieren und den automatischen Start beim Booten zu aktivieren.

WireGuard installieren

Konsole
$ sudo apt install wireguard -y

Installierte Version prüfen

Konsole
$ sudo wg --version

Die Ausgabe sollte etwa wie folgt aussehen:

wireguard-tools v1.0.20210914 - https://git.zx2c4.com/wireguard-tools/

WireGuard konfigurieren

WireGuard nutzt das sogenannte Cryptokey-Routing, um VPN-Tunnel zu erstellen, indem öffentliche Schlüssel bestimmten IP-Adressen zugeordnet und validiert werden. Eine gültige Konfiguration besteht aus einem privaten und einem öffentlichen Schlüssel, die einer Netzwerkschnittstelle zugewiesen sind. Im Folgenden wird erklärt, wie du eine neue WireGuard-Schnittstelle einrichtest und die benötigten Schlüssel erzeugst.

Privaten Schlüssel erzeugen

Konsole
$ sudo wg genkey | sudo tee /etc/wireguard/server_private.key

Beispielausgabe:

UOO//MO2GCC+5hHOz91YCP60/Zv/cnSskEH2j4eRPXo=

Dateiberechtigungen anpassen

Konsole
$ sudo chmod 600 /etc/wireguard/server_private.key

Öffentlichen Schlüssel erzeugen

Konsole
$ sudo cat /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Beispielausgabe:

W+l7Uapd98bsNhN1g3Hs4iTCfKzcV03KNwhDPFgzqR4=

Netzwerkschnittstellen prüfen

Konsole
$ ip a

Identifiziere die Hauptnetzwerkschnittstelle, z. B. enp1s0 mit der IP-Adresse 192.0.2.161. WireGuard verwendet diese Schnittstelle, um Datenverkehr zum Internet weiterzuleiten.

WireGuard-Konfigurationsdatei erstellen

Konsole
$ sudo nano /etc/wireguard/wg0.conf

Füge den folgenden Inhalt hinzu (ersetze die Schlüssel und Schnittstellennamen entsprechend):

Code
[Interface]
Address = 10.8.0.1/24
SaveConfig = true
PrivateKey = UOO//MO2GCC+5hHOz91YCP60/Zv/cnSskEH2j4eRPXo=
PostUp = ufw route allow in on wg0 out on enp1s0
PostUp = iptables -t nat -I POSTROUTING -o enp1s0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on enp1s0
PreDown = iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE
ListenPort = 51820

Diese Konfiguration weist der Schnittstelle die private IP-Adresse 10.8.0.1 zu, aktiviert NAT-Routing, definiert Firewall- und iptables-Regeln und legt den WireGuard-Port für eingehende Verbindungen fest.

Client-Konfigurationen erstellen

Jeder Client benötigt einen öffentlichen Schlüssel, der in der WireGuard-Konfiguration hinterlegt ist, um eine Verbindung herstellen zu können. Die folgenden Schritte zeigen, wie du eine neue Client-Konfiguration erstellst.

Client-Schlüssel generieren

Konsole
$ sudo wg genkey | sudo tee /etc/wireguard/client1_private.key
Konsole
$ sudo cat /etc/wireguard/client1_private.key | wg pubkey | sudo tee /etc/wireguard/client1_public.key

Client-Konfigurationsdatei erstellen

Konsole
$ sudo nano /etc/wireguard/client1.conf

Füge den folgenden Inhalt ein und ersetze die Platzhalter durch deine eigenen Werte:

Code
[Interface]
PrivateKey = KBUxCUqNEJqN3DBO5xu2kiBQFT8Gv46Kkqu6OIKZu3Q=
Address = 10.8.0.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = W+l7Uapd98bsNhN1g3Hs4iTCfKzcV03KNwhDPFgzqR4=
AllowedIPs = 0.0.0.0/0
Endpoint = 192.0.2.161:51820
PersistentKeepalive = 15

Diese Konfiguration erlaubt es dem Client, über die IP-Adresse 10.8.0.2 eine Verbindung aufzubauen. Sie definiert den öffentlichen Server-Schlüssel, den Endpunkt und das Intervall für die Keepalive-Pakete.

Client zur Serverkonfiguration hinzufügen

Konsole
$ sudo nano /etc/wireguard/wg0.conf

Füge am Ende der Datei den folgenden Abschnitt hinzu:

Code
[Peer]
PublicKey = xZB9I6953ebGqWVLCR7L6yJw7YJi0shJ+Sub9gfUFVU=
AllowedIPs = 10.8.0.2/32

WireGuard-Dienst verwalten

Die Prozesse von WireGuard werden von systemd gesteuert. Das Hilfsprogramm wg-quick bietet Befehle, um Schnittstellen einfach zu starten, zu stoppen und zu verwalten.

Konsole
$ sudo systemctl start wg-quick@wg0.service
Konsole
$ sudo systemctl enable wg-quick@wg0.service
Konsole
$ sudo systemctl status wg-quick@wg0.service

Verwende den folgenden Befehl, um den aktuellen Tunnelstatus anzuzeigen:

Konsole
$ sudo wg show wg0

Firewall-Regeln einrichten

Die UFW (Uncomplicated Firewall) ist auf Ubuntu-Servern in der Regel standardmäßig aktiv. Konfiguriere sie so, dass Verbindungen über den UDP-Port 51820 zugelassen werden, und aktiviere das IP-Forwarding für eine korrekte Weiterleitung des Netzwerkverkehrs.

Konsole
$ sudo ufw allow 22 && sudo ufw enable
$ sudo ufw allow 51820/udp
$ sudo ufw reload

IP-Weiterleitung aktivieren

Aktiviere die IPv4-Weiterleitung, um Netzwerkpakete zwischen Schnittstellen korrekt weiterzuleiten.

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

NAT-Regeln anwenden

Erstelle eine NAT-Regel, damit der Datenverkehr des VPN-Netzwerks über die öffentliche Schnittstelle weitergeleitet wird, und speichere diese dauerhaft.

Konsole
$ sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp1s0 -j MASQUERADE
$ sudo iptables-save | sudo tee /etc/iptables/rules.v4

Clients mit dem WireGuard-VPN verbinden

Verwende deine erstellte Client-Konfiguration, um dich mit dem VPN zu verbinden, und teste anschließend den Tunnelzugriff über ping.

Konsole
$ scp linuxuser@wireguard-server-ip:client1.conf .

Verbindung testen

Konsole
$ ping -c 4 10.8.0.1

Erwartete Ausgabe:

4 packets transmitted, 4 received, 0% packet loss

Fazit

Du hast erfolgreich WireGuard VPN auf einem Ubuntu 24.04 Server installiert und konfiguriert, Clients eingerichtet und sichere VPN-Tunnel aufgebaut. Du kannst zusätzliche Schnittstellen mit eigenen Subnetzen für verschiedene Benutzergruppen anlegen. Weitere Informationen und erweiterte Konfigurationsoptionen findest du in der offiziellen WireGuard-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Ubuntu
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren