WireGuard VPN-Server einrichten: Schritt-für-Schritt-Anleitung
WireGuard VPN-Server einrichten: Schlüsselgenerierung, Server- und Client-Konfiguration, IP-Weiterleitung, Firewall-Regeln und Windows/Linux/Android-Client-Setup.
Inhaltsverzeichnis
WireGuard VPN-Server einrichten: Schritt-für-Schritt-Anleitung
WireGuard ist ein modernes, schnelles und sicheres VPN-Protokoll. Im Vergleich zu OpenVPN und IPSec hat es eine viel einfachere Struktur und bietet hohe Leistung. Diese Anleitung führt Sie durch die Einrichtung eines WireGuard VPN-Servers auf Ihrem REXE-Server.
Warum WireGuard wählen?
- Einfache Konfiguration: Nur wenige Konfigurationszeilen
- Hohe Leistung: Läuft auf Kernel-Ebene, niedrige Latenz
- Moderne Kryptographie: ChaCha20, Poly1305, Curve25519
- Kleine Codebasis: ~4000 Zeilen (OpenVPN ~100.000 Zeilen)
- Plattformübergreifend: Linux, Windows, macOS, iOS, Android
Installation
# Ubuntu 20.04+
sudo apt update
sudo apt install wireguard -y
# CentOS/AlmaLinux 8+
sudo dnf install epel-release -y
sudo dnf install wireguard-tools -y
Schlüsselgenerierung
# Server-Schlüssel generieren
cd /etc/wireguard
# Privaten Schlüssel generieren
wg genkey | sudo tee /etc/wireguard/server_private.key
# Öffentlichen Schlüssel ableiten
sudo cat /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
# Dateiberechtigungen setzen
sudo chmod 600 /etc/wireguard/server_private.key
Server-Konfiguration
# Netzwerkschnittstelle finden
ip route | grep default
# WireGuard-Konfigurationsdatei erstellen
sudo nano /etc/wireguard/wg0.conf
# /etc/wireguard/wg0.conf — Server-Konfiguration
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATER_SCHLÜSSEL
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = CLIENT1_ÖFFENTLICHER_SCHLÜSSEL
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = CLIENT2_ÖFFENTLICHER_SCHLÜSSEL
AllowedIPs = 10.0.0.3/32
Ersetzen Sie eth0 durch den Namen Ihrer tatsächlichen Netzwerkschnittstelle. Finden Sie ihn mit ip route | grep default.
IP-Weiterleitung aktivieren
# Vorübergehend aktivieren
sudo sysctl -w net.ipv4.ip_forward=1
# Dauerhaft aktivieren
sudo nano /etc/sysctl.conf
# Fügen Sie hinzu oder kommentieren Sie aus:
# net.ipv4.ip_forward=1
# Änderungen anwenden
sudo sysctl -p
Firewall-Regeln
# Mit UFW
sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable
# Mit iptables
sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Regeln dauerhaft speichern
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
WireGuard-Dienst starten
# WireGuard-Schnittstelle starten
sudo wg-quick up wg0
# Beim Systemstart automatisch starten
sudo systemctl enable wg-quick@wg0
# Status prüfen
sudo wg show
Client-Konfiguration
Linux-Client-Konfiguration
# /etc/wireguard/wg0.conf — Client-Konfiguration
[Interface]
Address = 10.0.0.2/24
PrivateKey = CLIENT_PRIVATER_SCHLÜSSEL
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_ÖFFENTLICHER_SCHLÜSSEL
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Windows-Client-Setup
- WireGuard für Windows herunterladen und installieren
- App öffnen → "Tunnel hinzufügen" → "Leeren Tunnel hinzufügen"
- Konfiguration einfügen und "Aktivieren" klicken
Android/iOS-Client-Setup
# QR-Code auf dem Server generieren
sudo apt install qrencode -y
qrencode -t ansiutf8 < /path/to/client.conf
Neue Clients hinzufügen
# Client-Schlüssel generieren
wg genkey | tee /etc/wireguard/client3_private.key | wg pubkey > /etc/wireguard/client3_public.key
# Zum Server hinzufügen (ohne Neustart)
sudo wg set wg0 peer $(cat /etc/wireguard/client3_public.key) allowed-ips 10.0.0.4/32
# Dauerhaft speichern
sudo wg-quick save wg0
Fehlerbehebung
# WireGuard-Logs anzeigen
sudo journalctl -u wg-quick@wg0 -f
# Verbindungsstatistiken
sudo wg show wg0
# IP-Weiterleitung prüfen
cat /proc/sys/net/ipv4/ip_forward
# Firewall-Regeln prüfen
sudo iptables -L -n -v
sudo iptables -t nat -L -n -v
Nach dem Aufbau einer WireGuard-Verbindung sollte das Feld latest handshake in der Ausgabe von sudo wg show aktuell sein. Wenn kein Handshake vorhanden ist, überprüfen Sie Server-IP/Port, Schlüssel und Firewall-Regeln.
Fazit
WireGuard bietet eine moderne und sichere VPN-Lösung. Mit seiner einfachen Konfiguration und hohen Leistung ist es ideal für den persönlichen Gebrauch und Unternehmensnetzwerke.
Verwandte Artikel
Malware & Rootkit-Scan: rkhunter und ClamAV Anleitung
Schützen Sie Ihren Linux-Server vor Malware und Rootkits. rkhunter und ClamAV Installation, Scan-Konfiguration, Ergebnisinterpretation, geplante Scans und Incident-Response-Anleitung.
Fail2Ban Konfiguration: SSH Brute-Force-Schutz Anleitung
Schützen Sie Ihren Server vor SSH-Brute-Force-Angriffen mit Fail2Ban. Installation, jail.local-Konfiguration, Nginx/Apache-Jails, IP-Whitelist, Ban-Überwachung und E-Mail-Benachrichtigungen.
Zero Trust Netzwerksicherheit: Grundlegende Konfigurationsanleitung
Zero Trust Netzwerksicherheitsprinzipien und praktische Umsetzung: niemals vertrauen immer verifizieren, Mikro-Segmentierung, identitätsbasierter Zugriff und Implementierung mit vorhandenen Linux-Tools.