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 vonserver_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 vonclient_private.key
. - Ersetzen Sie
<ServerPublicKey>
mit dem Inhalt vonserver_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.