WireGuard ist ein modernes VPN-Protokoll, das schnell, klein und einfach zu konfigurieren ist. Wenn Sie Ihr eigenes auf einem VPS betreiben, erhalten Sie einen verschlüsselten Tunnel zu einem Server im Land Ihrer Wahl, ohne dass ein VPN-Unternehmen eines Dritten dazwischensteht. Diese Anleitung verwendet Ubuntu 24.04 oder Debian 12/13 und setzt voraus, dass Sie den Server bereits abgesichert haben.
1. WireGuard installieren
sudo apt update
sudo apt install -y wireguard
2. Die Server-Schlüssel erzeugen
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
Durch umask 077 sind die Schlüsseldateien nur für root lesbar. Halten Sie server.key geheim.
3. Die Client-Schlüssel erstellen
Erzeugen Sie auf dem Server ein Schlüsselpaar für Ihren Laptop oder Ihr Telefon und kopieren Sie die Client-Konfiguration anschließend hinüber:
wg genkey | tee client1.key | wg pubkey > client1.pub
4. Die Server-Konfiguration schreiben
Ermitteln Sie zuerst den Namen Ihrer öffentlichen Netzwerkschnittstelle:
ip route get 1.1.1.1 | awk '{print $5; exit}'
Oft heißt sie eth0 oder ens3. Erstellen Sie /etc/wireguard/wg0.conf und ersetzen Sie die großgeschriebenen Werte durch Ihre eigenen:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE
[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
Fügen Sie den Inhalt von server.key und client1.pub an den gekennzeichneten Stellen ein und ersetzen Sie ETH_IF durch den Namen Ihrer Schnittstelle.
5. IP-Weiterleitung aktivieren
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
6. Die Firewall öffnen
sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload
7. Den Tunnel starten
sudo systemctl enable --now wg-quick@wg0
sudo wg show
Sie sollten die Schnittstelle sehen und, sobald sich ein Client verbindet, dessen letzten Handshake.
8. Den Client konfigurieren
Erstellen Sie auf Ihrem Gerät eine Konfiguration wie diese (die offiziellen WireGuard-Apps für Windows, macOS, Linux, iOS und Android können sie aus einer Datei oder einem QR-Code importieren):
[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT1_PRIVATE_KEY
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Mit AllowedIPs = 0.0.0.0/0, ::/0 wird der gesamte Datenverkehr durch den Tunnel geleitet. Um nur Ihr privates Netzwerk zu erreichen, verwenden Sie stattdessen 10.8.0.0/24.
9. Testen
- Aktivieren Sie den Tunnel auf dem Client.
- Führen Sie
sudo wg showauf dem Server aus und prüfen Sie, dass ein aktueller Handshake vorliegt. - Rufen Sie vom Client aus eine „Wie lautet meine IP“-Seite auf. Sie sollte die Adresse Ihres Servers zeigen.
- Prüfen Sie auf DNS-Leaks, wenn Privatsphäre das Ziel ist, und ergänzen Sie IPv6-Regeln, wenn Ihr Server IPv6 hat.
Weitere Geräte hinzufügen
Erzeugen Sie für jedes neue Gerät ein Schlüsselpaar, fügen Sie einen weiteren [Peer]-Block mit einer neuen Adresse wie 10.8.0.3/32 hinzu und führen Sie sudo wg syncconf wg0 <(wg-quick strip wg0) aus, um sie zu übernehmen, ohne bestehende Verbindungen zu trennen.
Einen Standort wählen
WireGuard-Server funktionieren an jedem unserer Standorte. Wählen Sie einen in Ihrer Nähe für mehr Geschwindigkeit oder im Land, aus dem Ihr Datenverkehr stammen soll. Siehe So wählen Sie einen VPS-Standort. Ein kleiner VPS reicht für einen persönlichen Tunnel mehr als aus.