[ Skip to main content ]
1 3 3 7 4 2 0 6 6 6 1 3 3 7 4 2 0 6 9 6 6 6 1 3 3 7 4 2 0 6 6 6 4 2 0 1 3 3 7 6 9 6 6 6 4 2 0 1 3 3 7 6 9 6 6 6 4 2 0 6 9 1 3 3 7 6 6 6 4 2 0 6 9 1 3 3 7 6 6 6 4 2 0 6 9 6 6 6 1 3 3 7 4 2 0 6 9 6 6 6 1 3 3 7 4 2 0 6 9 1 3 3 7 6 6 6 4 2 0 6 9 1 3 3 7 6 6 6 4 2 0 6 9 1 3 3 7 6 6 6 6 9 4 2 0 1 3 3 7 6 6 6 6 9 4 2 0 1 3 3 7 6 6 6 4 2 0 1 3 3 7 6 6 6 6 9 4 2 0 1 3 3 7 6 6 6 6 9 4 2 0 6 9 1 3 3 7 4 2 0 6 6 6 6 9 1 3 3 7 4 2 0 6 6 6 6 9 1 3 3 7 6 6 6 6 9 4 2 0 1 3 3 7 6 6 6 6 9 4 2 0 1 3 3 7 6 6 6 4 2 0 6 9 1 3 3 7 6 6 6 4 2 0 6 9 1 3 3 7 6 6 6
TUTORIALS / NETWORKING

SELF-HOSTED VPN MIT WIREGUARD

DIFFICULTY: INTERMEDIATE UPDATED: DECEMBER 2025

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 22.04 LTS.
  • SSH-Zugang.

ANLEITUNG

1. WireGuard installieren

Verbinde dich per SSH mit deinem VPS und installiere das Paket.

sudo apt update && sudo apt install wireguard

2. Schlüssel generieren

Generiere private und öffentliche Schlüssel für Server und Client.

wg genkey | tee privatekey | wg pubkey > publickey

3. Server konfigurieren

Bearbeite /etc/wireguard/wg0.conf:

[Interface]
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

Kommentiere net.ipv4.ip_forward=1 in /etc/sysctl.conf aus und führe sysctl -p 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

Deine Config-Datei ist world-readable. WireGuard verweigert den Start, wenn Private Keys für andere lesbar sind. Fix:

sudo chmod 600 /etc/wireguard/wg0.conf
❌ Handshake klappt, aber kein Internet

IP-Forwarding ist nicht aktiv oder die Firewall blockiert. Prüfe:

sysctl net.ipv4.ip_forward # muss 1 sein
sudo iptables -t nat -L # muss MASQUERADE-Regel zeigen

Falls MASQUERADE fehlt (ersetze eth0 durch dein Interface):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
❌ DNS-Leaks verraten meinen echten ISP

Füge einen DNS-Eintrag zur Client-Config hinzu und deaktiviere Klartext-DNS in /etc/resolv.conf. Serverseitig setze 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 zur Client-Peer-Entry auf dem Server hinzu:

PersistentKeepalive = 25
❌ 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.