SELF-HOSTED VPN MIT WIREGUARD
EINFÜHRUNG
Kommerzielle VPNs loggen deine Daten trotz ihrer "No Logs"-Behauptungen. Der einzige Weg sicher zu sein, ist dein eigenes VPN zu hosten. WireGuard ist ein modernes, hochperformantes VPN-Protokoll, das viel schneller und einfacher einzurichten ist als OpenVPN.
VORAUSSETZUNGEN
- Ein VPS (Virtual Private Server) - DigitalOcean, Linode oder Vultr (~5€/Monat).
- Ubuntu 24.04 LTS oder neuer.
- SSH-Zugang.
ANLEITUNG
1. WireGuard installieren
Verbinde dich per SSH mit deinem VPS und installiere das Paket.
2. Schlüssel generieren
Generiere private und öffentliche Schlüssel für Server und Client.
3. Server konfigurieren
Bearbeite /etc/wireguard/wg0.conf:
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = [SERVER_PRIVATE_KEY]
[Peer]
PublicKey = [CLIENT_PUBLIC_KEY]
AllowedIPs = 10.0.0.2/32
4. IP-Forwarding aktivieren
Schreibe net.ipv4.ip_forward=1 in /etc/sysctl.d/99-wireguard.conf (neuere Releases haben keine /etc/sysctl.conf mehr)
und führe sudo sysctl --system aus.
FAZIT
Starte das Interface mit wg-quick up wg0. Du hast jetzt einen privaten, verschlüsselten Tunnel.
Nutze die Client-Konfiguration auf deinem Handy oder PC, um dich zu verbinden.
FAQ / PROBLEMLÖSUNG
⚠️ Häufige Probleme und Lösungen
❌ wg-quick up wg0 schlägt mit "Permission denied" fehl
Starte es mit sudo – wg-quick braucht Root-Rechte. Eine world-readable Config
erzeugt nur eine Warnung, legt aber deinen Private Key offen – also trotzdem absichern:
❌ Handshake klappt, aber kein Internet
IP-Forwarding ist nicht aktiv oder die Firewall blockiert. Prüfe:
sudo iptables -t nat -L # muss MASQUERADE-Regel zeigen
Falls MASQUERADE fehlt (ersetze eth0 durch dein Interface):
❌ DNS-Leaks verraten meinen echten ISP
Füge einen DNS-Eintrag zur Client-Config hinzu und deaktiviere Klartext-DNS in
/etc/resolv.conf. Setze in der Client-Config DNS = 1.1.1.1, 9.9.9.9 unter
[Interface] und starte den Tunnel neu.
❌ Verbindung bricht nach wenigen Minuten ab
Meist ein Keepalive-Problem mit NAT/Firewalls. Füge im
[Peer]-Abschnitt der Client-Config (die Seite hinter NAT) hinzu:
❌ Wie füge ich einen zweiten Client hinzu?
Generiere ein neues Schlüsselpaar, füge einen [Peer]-Block auf dem
Server mit eindeutiger IP hinzu (z.B. 10.0.0.3/32) und importiere die passende Client-Config.
Niemals IPs zwischen Peers doppeln.
❓ Hängt fest?
→ Prüfe mit wg show die Handshake/Transfer-Statistiken und
mit journalctl -u wg-quick@wg0 die Service-Logs.