VPNSmith
self-host-vpnINFO

Contabo VPS VPN Einrichtung Schritt für Schritt (Ubuntu 22.04) — Leitfaden 2026

Vollständiges Tutorial: Contabo VPS S bestellen, SSH + UFW absichern, WireGuard installieren, Peers generieren, auf Lecks testen. 20 Minuten, Skripte inklusive.

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

Sie möchten ein VPN, das Ihnen gehört. Kein jährliches "No-Logs"-Audit, keine IP, die mit 4.000 Fremden geteilt wird, keine Preisverdopplung, wenn die Promo endet. Diese Anleitung bringt WireGuard in 20 Minuten auf einem Contabo VPS zum Laufen, vom Anmelden bis zum ersten curl ifconfig.me, das Ihre deutsche VPS-IP zurückgibt.

Dies ist die genaue Konfiguration, die wir für einen produktionsreifen selbstgehosteten Tunnel empfehlen. Contabo wirbt mit einer 200 Mbit/s Verbindung, und die zentrale Lage Nürnbergs in Europa hält die Latenz für FR/EU-Kunden niedrig.

Warum Contabo statt Hetzner, OVH oder DigitalOcean

Die Wahl des VPS-Anbieters für ein selbstgehostetes VPN ist nicht trivial und beeinflusst das Preis-Leistungs-Jurisdiktions-Verhältnis, das Sie in den nächsten 3 bis 5 Jahren erhalten. Beim Vergleich der veröffentlichten Spezifikationen von Contabo, Hetzner Cloud und OVH kommt das Urteil auf drei Achsen an: Preis, Leistung, Jurisdiktion.

Beim Preis ist der Contabo VPS S Cloud mit 4,99 €/Monat für 4 vCPU / 8 GB RAM / 200 Mbps in Europa unschlagbar. Hetzner CX22 hat ein Äquivalent für 4,15 €/Monat, aber nur 2 vCPU und 4 GB RAM, die Hälfte des Spielraums, wenn Sie neben dem VPN auch Nextcloud, Pi-hole oder Vaultwarden hosten möchten. OVH VPS Value bietet für 4,50 €/Monat 2 vCPU / 4 GB / 1 vCPU, gedrosselt auf 20% CPU-Steal in bestimmten Zeiträumen — das schlechteste Angebot der drei in der Praxis.

Bei der Leistung werben beide Hosts mit reichlich Bandbreite für ein persönliches VPN (Contabo mit einer 200 Mbit/s Verbindung, Hetzner mit einem geteilten Gigabit-Port). Für ein selbstgehostetes VPN ist selbst eine 200 Mbit/s Verbindung mehr als genug, um die meisten Heimverbindungen auszulasten, sodass der rohe Spitzendurchsatz selten der entscheidende Faktor ist — Jurisdiktion und Preis sind meist wichtiger. Führen Sie iperf3 selbst von Ihrer eigenen Verbindung aus, wenn Sie genaue Zahlen benötigen.

Bei der Jurisdiktion hat Contabo sein Hauptrechenzentrum in Nürnberg (Deutschland), Hetzner in Falkenstein (ebenfalls Deutschland), OVH in Roubaix oder Straßburg (Frankreich). Deutschland und Frankreich haben vergleichbare DSGVO-Rahmenwerke und beide liegen außerhalb des US CLOUD Act. Praktischer Unterschied: Contabos Muttergesellschaft ist rein deutsch (GmbH München), Hetzner ebenfalls (GmbH Gunzenhausen), OVHcloud ist seit 2021 an der Pariser Börse notiert, was eine zusätzliche Aktionärsdruckschicht hinzufügt, die die anderen beiden nicht haben. Für ein datenschutzorientiertes VPN bevorzugen wir leicht die nicht börsennotierten deutschen GmbHs.

Der letzte Unterschied ist der E-Mail-Support. Contabo antwortet in der Regel zwischen 4 und 24 Stunden auf Tickets, Hetzner zwischen 2 und 12 Stunden, OVH zwischen 24 Stunden und 5 Tagen. Für ein persönliches VPN, bei dem Sie die meisten Probleme selbst über SSH lösen können, spielt der Support kaum eine Rolle — außer an dem Tag, an dem Ihr VPS nach einem Kernel-Update nicht mehr startet und Sie Zugriff auf die Rettungskonsole benötigen. An diesem Tag gewinnt Hetzner leicht.

Schritt 1 — Bestellen Sie den Contabo VPS

Gehen Sie zu contabo.com über unseren Link /go/contabo-vps-2y und wählen Sie:

  • Plan: VPS S Cloud (4 vCPU AMD EPYC, 8 GB RAM, 50 GB NVMe, 200 Mbps garantiert, 32 TB/Monat Traffic)
  • Verpflichtung: 24 Monate (fixiert den Preis bei 4,99 €/Monat, monatlich sind es 8,49 €)
  • OS: Ubuntu 22.04 LTS (24.04 funktioniert auch, aber 22.04 bleibt stabiler für WireGuard-Pakete)
  • Rechenzentrum: Nürnberg (DE) — beste Latenz für Frankreich/Europa + deutsche DSGVO-Jurisdiktion
  • Root-Passwort: ein starkes generieren, vorübergehend in Ihrem Passwort-Manager speichern (nach Erstellen eines Nicht-Root-Benutzers löschen)
  • Add-ons: alles abwählen (Contabo-Backups nicht nötig, wir sichern selbst)

Gesamtkosten im Voraus ~119 € über 24 Monate. Bei Aktivierung erhalten Sie eine E-Mail mit der öffentlichen IP und dem Root-Passwort. Planen Sie 5 Minuten bis 4 Stunden je nach Zeit. Stoßzeiten (18-22 Uhr MEZ, Dienstag/Mittwoch) sind am langsamsten.

Offenlegung: /go/contabo-vps-2y ist ein gesponserter Link. Wenn Sie den VPS erwerben, verdienen wir eine Provision ohne zusätzliche Kosten für Sie. Unsere Preisgestaltung wird nicht beeinflusst. Wir würden diesen Leitfaden nicht schreiben, wenn wir Contabo nicht selbst nutzen würden.

Schritt 2 — Erste SSH-Verbindung und Absicherung

In Ihrem lokalen Terminal:

ssh root@IHRE.ÖFFENTLICHE.IP
# Fingerabdruck akzeptieren, Root-Passwort einfügen

Sobald Sie verbunden sind, zuerst aktualisieren:

apt update && apt upgrade -y
apt install -y curl wget unzip fail2ban

Erstellen Sie einen Nicht-Root-Benutzer (SSH-Root wird deaktiviert):

adduser eric
# Eingabeaufforderungen folgen (starkes Passwort, optional vollständiger Name)
usermod -aG sudo eric

Kopieren Sie Ihren SSH-Öffentlichen Schlüssel von Ihrem lokalen MacBook (in einem anderen Terminal):

ssh-copy-id eric@IHRE.ÖFFENTLICHE.IP
# Falls ssh-copy-id fehlt: cat ~/.ssh/id_ed25519.pub | ssh root@IP "mkdir -p /home/eric/.ssh && cat >> /home/eric/.ssh/authorized_keys && chown -R eric:eric /home/eric/.ssh && chmod 700 /home/eric/.ssh && chmod 600 /home/eric/.ssh/authorized_keys"

Testen Sie die Nicht-Root-Anmeldung in einem neuen Terminal, ohne das erste zu schließen:

ssh eric@IHRE.ÖFFENTLICHE.IP
# Sollte nur mit SSH-Schlüssel-Passphrase anmelden

Wenn das funktioniert, deaktivieren Sie Root-SSH und Passwortauthentifizierung in /etc/ssh/sshd_config (aus der Root-Shell):

sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd

Jetzt bleibt Port 22 offen, aber nur SSH-Schlüssel und nur für eric. Kein Risiko mehr für Root-Brute-Force.

Schritt 3 — UFW-Firewall

# Immer noch als Root
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp comment 'SSH'
ufw allow 51820/udp comment 'WireGuard'
ufw enable
# Antwort y
ufw status verbose

UFW ist jetzt aktiv. Melden Sie sich von der Root-Sitzung ab und fahren Sie als eric mit sudo fort.

Schritt 4 — WireGuard installieren

# Als eric mit sudo
sudo apt install -y wireguard qrencode iptables-persistent

Server-Schlüssel generieren:

sudo bash -c 'umask 077 && wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub'
sudo cat /etc/wireguard/server.pub
# Notieren Sie den öffentlichen Schlüssel, Sie benötigen ihn für Clients

Öffentliches Interface identifizieren (könnte eth0, ens3, ens18 usw. sein):

ip route | awk '/default/ {print $5}'
# Bei Contabo normalerweise eth0 oder ens18

Schritt 5 — Konfigurieren von /etc/wireguard/wg0.conf

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

Bearbeiten (passen Sie eth0 an, wenn oben anders):

sudo nano /etc/wireguard/wg0.conf

Fügen Sie dies ein (ersetzen Sie SERVER_PRIVATE_KEY durch den Inhalt von /etc/wireguard/server.key):

[Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 10.66.66.1/24
ListenPort = 51820
MTU = 1420

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Aktivieren Sie ip_forward:

sudo bash -c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf'
sudo sysctl -p
# Überprüfen: sysctl net.ipv4.ip_forward (sollte 1 anzeigen)

WireGuard starten:

sudo systemctl enable --now wg-quick@wg0
sudo wg show
# Sollte Schnittstelle wg0, öffentlichen Schlüssel, Hörport anzeigen

Schritt 6 — Erstellen Sie den ersten Peer (Client)

Auf dem Server, generieren Sie einen Client-Schlüssel:

sudo mkdir -p /etc/wireguard/clients
sudo bash -c 'umask 077 && wg genkey | tee /etc/wireguard/clients/mac.key | wg pubkey > /etc/wireguard/clients/mac.pub'
sudo cat /etc/wireguard/clients/mac.pub
# Notieren Sie diesen öffentlichen Schlüssel

Fügen Sie den Peer zur Server wg0.conf hinzu:

sudo bash -c 'cat >> /etc/wireguard/wg0.conf <<EOF

[Peer]
# MacBook
PublicKey = CLIENT_MAC_PUBKEY
AllowedIPs = 10.66.66.2/32
EOF'

Konfiguration ohne Herunterfahren neu laden:

sudo wg syncconf wg0 <(wg-quick strip wg0)

Generieren Sie die Client-Datei (sicher auf MacBook/iPhone übertragen):

sudo bash -c 'cat > /etc/wireguard/clients/mac.conf <<EOF
[Interface]
PrivateKey = $(cat /etc/wireguard/clients/mac.key)
Address = 10.66.66.2/24
DNS = 9.9.9.9, 149.112.112.112
MTU = 1420

[Peer]
PublicKey = $(cat /etc/wireguard/server.pub)
Endpoint = IHRE.ÖFFENTLICHE.IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
EOF'

Für iPhone / Android, als QR kodieren:

sudo qrencode -t ansiutf8 &lt; /etc/wireguard/clients/mac.conf

Scannen Sie diesen QR aus der WireGuard-App (App Store, Play Store) und der Tunnel ist konfiguriert.

Für macOS / Linux-Desktop, holen Sie die .conf lokal:

# Auf Ihrem Mac
scp eric@IHRE.ÖFFENTLICHE.IP:/etc/wireguard/clients/mac.conf ~/Downloads/
# Aus der offiziellen WireGuard-App importieren

Schritt 7 — Lecktests

Aktivieren Sie den Tunnel auf Ihrem Client, dann im Browser:

  1. ipleak.net: Ihre öffentliche IP muss die Contabo Nürnberg VPS sein. Geo = Deutschland. Wenn Sie immer noch Ihre französische ISP-IP sehen → Tunnel leitet nicht, überprüfen Sie AllowedIPs des Clients.
  2. dnsleaktest.com → "Erweiterter Test"-Button: Zurückgegebene DNS muss Quad9 (9.9.9.9) oder Ihr VPS sein. Wenn Sie Orange/SFR/Free DNS sehen → DNS-Leck, überprüfen Sie DNS = 9.9.9.9 in der Client .conf.
  3. browserleaks.com/webrtc: Keine lokale IP darf über WebRTC lecken. Wenn Lecks auftreten → WebRTC im Browser deaktivieren (uBlock Origin → "Verhindern, dass WebRTC leckt").
  4. curl ifconfig.me vom Client-Terminal: muss die VPS-IP zurückgeben.

Alles grün: Ihr selbstgehostetes VPN funktioniert. Willkommen.

Schritt 8 — Backups und Wartung

Der Tunnel läuft. Gute Gewohnheiten:

Gesamtkosten über 5 Jahre

Um ehrlich mit einem kommerziellen VPN-Dienst zu vergleichen:

Option24-Monats-Kosten5-Jahres-Kosten (extrapoliert)Bandbreite
Contabo VPS S Cloud (selbstgehostet)119 €~298 €200 Mbps, 32 TB/Monat
NordVPN 2 Jahre + jährliche Erneuerung72 €~600 €"Unbegrenzt" geteilt
ExpressVPN 1 Jahr + Erneuerung100 €~750 €"Unbegrenzt" geteilt

Und auf dem Contabo VPS können Sie auch hosten: einen Pi-hole DNS, Nextcloud, Vaultwarden, einen Discord-Bot, eine persönliche Mastodon-Instanz. Das VPN selbst nutzt ~1% der CPU und des RAM im normalen persönlichen Gebrauch.

Fazit

WireGuard auf Contabo VPS S für 4,99 €/Monat bleibt unsere #1 Wahl für selbstgehostete VPNs. ~20-minütige Einrichtung, eine beworbene 200 Mbit/s Verbindung, niedrige Latenz aus Westeuropa, deutsche DSGVO-Jurisdiktion. Der wirkliche Nachteil: Nur E-Mail-Support, nicht ideal bei einem dringenden Ausfall.

Um loszulegen: Contabo VPS S Cloud über unseren Link /go/contabo-vps-2y. Sie können innerhalb der ersten 30 Tage kündigen, wenn die Einrichtung nicht passt, gemäß den Bedingungen von Contabo.

Unsere vollständige Contabo VPS Bewertung beschreibt Stärken und Schwächen in 5 Kategorien (Leistung, Preis, RAM/CPU, Support, Dashboard) mit der Punkteaufteilung.

★ 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