VPNSmith
self-host-vpn-headINFO

VPN selbst hosten auf Raspberry Pi 5 (2026): WireGuard Einrichtungsanleitung

Richten Sie 2026 ein WireGuard VPN auf einem Raspberry Pi 5 ein: Hardware, Betriebssystemeinrichtung, Serverkonfiguration, Portweiterleitung, DuckDNS, iOS/Android/Mac/Windows-Clients. Typischer Durchsatz ~80 Mbps, Stromverbrauch ~6W.

Von Eric Gerard · Fondateur · VPNSmith — Spécialiste self-host VPN & VPS GDPR8 Min. LesezeitPhoto : Harrison Broadbent — Unsplash

Ein Raspberry Pi 5 mit 8 GB ist ein hervorragender, immer eingeschalteter WireGuard-Server. Erwarten Sie einen Durchsatz in der Größenordnung Ihres Heim-Uploads (üblich ~80 Mbps), einen Stromverbrauch von etwa 6-8W und Gesamtkosten über 5 Jahre, die weit unter einem einzigen jährlichen NordVPN-Abonnement liegen. Diese Anleitung gibt Ihnen jeden Befehl in der richtigen Reihenfolge, ohne etwas auszulassen.

Um zu entscheiden, ob ein Pi 5 die richtige Wahl im Vergleich zu einem Cloud-VPS oder Tailscale ist, beginnen Sie mit unserem Vergleich der besten selbst gehosteten VPN-Lösungen 2026.

Warum Raspberry Pi 5 für ein Heim-VPN

Ein Raspberry Pi 5 für 100 $ im Vergleich zu einem VPS für 5 $/Monat — der Break-even-Punkt liegt bei 20 Monaten. Danach sind es reine Einsparungen abzüglich 10-12 $/Jahr für Strom.

Aber die Kosten sind nicht der einzige Grund. Konkrete Argumente für einen Pi gegenüber einem VPS:

  • Vollständige Kontrolle über Hardware und Protokolle — Nichts verlässt Ihr Zuhause. Ein VPS, selbst verschlüsselt, erfordert einen Anbieter, der den Hypervisor verwaltet.
  • Nativer LAN-Zugriff — Von Ihrer VPN-Verbindung aus erreichen Sie Ihr NAS, Drucker, IP-Kameras direkt über die lokale IP. Mit einem VPS unmöglich.
  • Pi-hole-Koinstallation — DNS-Werbeblockierung für alle Ihre mobilen Geräte, überall auf der Welt. Eine typische Blockliste eliminiert einen bedeutenden Anteil der DNS-Anfragen (die genaue Zahl können Sie auf dem Pi-hole-Dashboard sehen).
  • Praktisches Netzwerklernen — Der beste Weg, NAT, IP-Weiterleitung, PKI und WireGuard zu verstehen, ist, alles selbst zu konfigurieren.

Ehrliche Grenzen: Sie sind von der Heimkonnektivität und Stromversorgung abhängig. Für ein missionskritisches Reise-VPN siehe den Wartungsabschnitt.

Benötigte Hardware

Hier ist genau das, was ich verwendet habe, mit Preisen in EUR/USD Anfang 2026:

KomponenteModellPreisangabe
Raspberry Pi 58 GB RAM (empfohlen)~100 $ / 100 €
NetzteilOffizielles USB-C 27W (PI-PSU)~12 $ / 12 €
microSDSanDisk Extreme 32 GB UHS-I~12 $ / 12 €
Gehäuse + KühlkörperArgon NEO 5 oder offizielles Gehäuse + Aktiver Kühler~15-20 $ / 15-20 €
Ethernet-KabelCat 5e/6, 2 m~5 $ / 5 €
Gesamt~145-150 $ einmalig

Warum 8 GB RAM? Wenn Sie Pi-hole + möglicherweise Nextcloud oder Home Assistant mitinstallieren, kann es mit 4 GB eng werden. Mit 8 GB haben Sie Spielraum für 3 Jahre Setup-Entwicklung.

Warum das offizielle 27W-Netzteil? Der Pi 5 kann unter VPN + Pi-hole-Last bis zu 12W auf der USB-C-Schiene ziehen. Ein billiges 15W-Netzteil verursacht stilles CPU-Drosseln (Unterspannung). Das offizielle garantiert stabile Spannung.

Ethernet ist obligatorisch: Setzen Sie niemals einen VPN-Server auf WLAN. Die zusätzliche Latenz (2-5 ms) und Mikro-Unterbrechungen im WLAN machen den Tunnel instabil. Direktes Kabel zum Router.

Betriebssystemeinrichtung — Raspberry Pi OS 64-bit

Reihen von Servern in einem Rechenzentrum
Reihen von Servern in einem Rechenzentrum

Karte flashen

  1. Laden Sie den Raspberry Pi Imager herunter (Windows/Mac/Linux)
  2. Wählen Sie Raspberry Pi OS Lite 64-bit (Bookworm — Debian 12) — kein Desktop erforderlich
  3. Klicken Sie auf das Zahnradsymbol (erweiterte Optionen):
    • Hostname: vpn-pi
    • SSH aktivieren: öffentlicher Schlüssel (fügen Sie Ihren ~/.ssh/id_ed25519.pub ein)
    • Benutzername: eric (nicht pi, seit 2022 standardmäßig deaktiviert)
    • Gebietsschema: Ihre Zeitzone, korrektes Tastaturlayout
  4. Flashen Sie auf die microSD. In den Pi einstecken, Ethernet anschließen, einschalten.

Erster SSH-Zugriff und statische IP

# Finden Sie den Pi in Ihrem lokalen Netzwerk von Ihrem Mac/PC aus
ssh eric@vpn-pi.local

# Statische IP in /etc/dhcpcd.conf
sudo nano /etc/dhcpcd.conf

Fügen Sie am Ende der Datei hinzu:

interface eth0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
sudo reboot
# Erneut verbinden mit fester IP:
ssh eric@192.168.1.10

UFW Firewall

sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp          # SSH (ändern, wenn Sie den Port ändern)
sudo ufw allow 51820/udp       # WireGuard
sudo ufw enable
sudo ufw status verbose

WireGuard installieren

Pakete und Schlüsselgenerierung

sudo apt update && sudo apt upgrade -y
sudo apt install -y wireguard qrencode

# Server-Schlüssel generieren
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
sudo chmod 600 /etc/wireguard/server_private.key

# Schlüssel anzeigen
SERVER_PRIVKEY=$(sudo cat /etc/wireguard/server_private.key)
SERVER_PUBKEY=$(sudo cat /etc/wireguard/server_public.key)
echo "Private: $SERVER_PRIVKEY"
echo "Public:  $SERVER_PUBKEY"

Server wg0.conf Konfiguration

sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVKEY>

# NAT — ersetzen Sie eth0 durch Ihr Interface (prüfen mit: ip route | grep default)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

IP-Weiterleitung und Start

# IP-Weiterleitung aktivieren
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# WireGuard starten
sudo systemctl enable --now wg-quick@wg0
sudo wg show  # sollte das aktive wg0-Interface anzeigen

Netzwerkkonfiguration — Router, DuckDNS, MTU

Portweiterleitung auf Ihrem Router

Jeder ISP hat eine andere Admin-Oberfläche, aber die Regel ist die gleiche: UDP, externer Port 51820 → lokale IP 192.168.1.10, interner Port 51820.

Testen Sie von einem anderen Netzwerk (mobiles 4G): nc -zvu YOUR_PUBLIC_IP 51820.

DuckDNS — kostenloses dynamisches DNS

# Erstellen Sie ein Konto bei duckdns.org, notieren Sie sich Ihr Token
# Erstellen Sie das Update-Skript
mkdir -p ~/duckdns
cat > ~/duckdns/duck.sh << 'EOF'
#!/bin/bash
echo url="https://www.duckdns.org/update?domains=myvpn&token=YOUR_TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -
EOF
chmod +x ~/duckdns/duck.sh

# Cron alle 5 Minuten
(crontab -l 2>/dev/null; echo "*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1") | crontab -

MTU-Optimierung

WireGuard hat standardmäßig MTU 1420. Wenn Sie fragmentierte Pakete sehen:

# Fragmentierung testen
ping -M do -s 1392 8.8.8.8

# Wenn es fehlschlägt, fügen Sie in wg0.conf [Interface] hinzu:
# MTU = 1380

Für vollständige WireGuard-Template-Details und MTU-Randfälle, siehe unseren WireGuard-Konfigurationstemplates-Leitfaden.

Client-Einrichtung — Mac, Windows, iOS, Android

Client-Konfiguration generieren

# Auf dem Server, für jeden Client:
CLIENT_PRIVKEY=$(wg genkey)
CLIENT_PUBKEY=$(echo $CLIENT_PRIVKEY | wg pubkey)

cat << EOF
[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.8.0.2/32
DNS = 10.8.0.1

[Peer]
PublicKey = $SERVER_PUBKEY
Endpoint = myvpn.duckdns.org:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF

Fügen Sie den Client dem Server hinzu:

sudo wg set wg0 peer $CLIENT_PUBKEY allowed-ips 10.8.0.2/32
sudo wg-quick save wg0  # speichert die Konfiguration

QR-Code für iOS und Android

# Client-Konfiguration in eine Datei speichern
cat > /tmp/client1.conf << 'EOF'
[Interface]
PrivateKey = CLIENT_PRIVKEY_HERE
Address = 10.8.0.2/32
DNS = 10.8.0.1

[Peer]
PublicKey = SERVER_PUBKEY_HERE
Endpoint = myvpn.duckdns.org:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF

# QR-Code im Terminal anzeigen
qrencode -t ansiutf8 < /tmp/client1.conf

# Nach dem Scannen löschen (keine privaten Schlüssel herumliegen lassen)
rm /tmp/client1.conf

Scannen Sie mit der offiziellen WireGuard-App (iOS App Store / Google Play). Die Verbindung wird in <2 Sekunden hergestellt.

macOS und Windows: Laden Sie die offizielle WireGuard-App herunter und importieren Sie die .conf-Datei direkt.

Um den Vergleich mit der Tailscale-Alternative zu sehen, die all diese manuelle Konfiguration eliminiert, lesen Sie den Tailscale Exit Node Guide. Und um zu verstehen, wie sich Cloudflare WARP mit Ihrem Pi-Setup vergleicht, siehe WARP vs WireGuard selbst hosten.

Für Benutzer, die in zensierte Länder reisen (China, Iran, Russland): WireGuard auf einem Pi 5 wird blockiert — die GFW erkennt WireGuard-Sitzungen. Fortgeschrittene Benutzer bevorzugen möglicherweise V2Ray mit VLESS + REALITY für besseren Zensurwiderstand auf einem Cloud-VPS mit einem Exit-Knoten in Singapur oder Tokio. Das Pi 5-Setup bleibt ideal für Heim-Privatsphäre, lokalen LAN-Zugriff und Länder ohne Deep-Packet-Inspection.

Optimierungen und Wartung

Automatische Sicherheitsupdates

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
# Wählen Sie "Ja", um automatische Sicherheitsupdates zu aktivieren

Überwachung mit journalctl

# WireGuard-Protokolle in Echtzeit
sudo journalctl -u wg-quick@wg0 -f

# Verbundene Peers und Statistiken anzeigen
sudo wg show

# Verkehr pro Peer (empfangene/gesendete Bytes)
sudo wg show all dump

fail2ban gegen SSH-Scans

sudo apt install -y fail2ban

cat | sudo tee /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 3600
findtime = 600
EOF

sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

WireGuard-Konfigurationssicherung

# Automatische wöchentliche Sicherung auf USB-Laufwerk oder lokalem NAS
(crontab -l; echo "0 3 * * 0 sudo cp -r /etc/wireguard ~/backup/wg-$(date +%Y%m%d)") | crontab -

Swap bei Verwendung von 4 GB RAM

Wenn Sie das 4 GB-Modell mit Pi-hole + WireGuard aktiv verwenden:

sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile  # Setzen Sie CONF_SWAPSIZE=1024
sudo dphys-swapfile setup
sudo dphys-swapfile swapon

Temperaturüberwachung

Mit einem passiven Gehäuse wie dem Argon NEO 5 bleibt ein Pi 5 typischerweise in den 40er °C unter VPN + Pi-hole-Last. Ohne Gehäuse läuft er viel heißer — CPU-Drosselung beginnt bei 80°C, daher wird ein Kühlkörper oder Gehäuse empfohlen.

# Echtzeit-Temperatur
watch -n 2 vcgencmd measure_temp

Für einen vollständigen Überblick über die erweiterte Netzwerkkonfiguration, die Sie benötigen, wenn Sie mehrere gleichzeitige Clients betreiben, siehe unseren Contabo WireGuard Multi-Client VPN-Leitfaden — die NAT-Konzepte sind identisch auf dem Pi.


Was zu erwarten ist: Durchsatz in der Größenordnung Ihres Heim-Uploads, niedrige einstellige Millisekunden zusätzliche Latenz auf der LAN-Seite, ein Stromverbrauch von ~6-8W und solide Sicherheit mit fail2ban und schlüsselbasierter SSH. Eine Sache, die Sie planen sollten: Ein Stromausfall zu Hause nimmt den Tunnel herunter — eine kleine USV (z.B. eine APC 500VA) hält ihn bei kurzen Ausfällen am Laufen.

WireGuard ist ausreichend für die meisten selbst gehosteten Anwendungsfälle. Allerdings bevorzugen fortgeschrittene Benutzer möglicherweise V2Ray für besseren Zensurwiderstand — besonders nützlich, wenn Sie sich aus China, Iran oder Russland verbinden müssen, wo Standard-VPN-Protokolle aktiv blockiert werden.

★ Nürnberger DSGVO-Rechenzentrum · ✓ Dedizierte IPv4 inklusive · 200+ Mbps garantiert

Self-host your VPN on your own VPS → ContaboFull root access · public IPv4 · pick your region