VPNSmith
self-host-vpnHOWTO

Headscale selbst hosten: Die souveräne Tailscale-Kontrollebene (2026)

Headscale ist der Open-Source-Tailscale-Koordinator. Konkrete Anleitung: Installation auf Contabo, Postgres-Backend, OIDC-Authentifizierung, ACLs, echte Kosten und Grenzen 2026.

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

Affiliate-Hinweis — Dieser Beitrag enthält Affiliate-Links zu Contabo. Wenn Sie über diese einen VPS erwerben, erhalten wir eine Provision ohne zusätzliche Kosten für Sie. Jeder untenstehende Befehl und jede Konfiguration ist aus offiziellen Quellen dokumentiert und so geschrieben, dass sie auf Ihrem eigenen VPS reproduzierbar ist.

Wenn Sie unseren Tailscale vs WireGuard Selbst-Hosting-Vergleich gelesen haben, wissen Sie bereits, dass Headscale der dritte Weg ist — derjenige, der die Tailscale-UX mit der Selbst-Hosting-Souveränität von WireGuard kombiniert. Die Frage ist nicht mehr "ist es möglich?", sondern "lohnt sich der Einrichtungsaufwand?". Dieser Leitfaden beantwortet das konkret, basierend auf einer Standard-Headscale-Implementierung auf einem Contabo VPS.

Plan: Was Headscale wirklich ist, wann es sinnvoll ist (und wann nicht), Schritt-für-Schritt-Installation auf Contabo mit PostgreSQL und OIDC, ACL-Konfiguration, die Produktionsfallen, vor denen niemand warnt, und 36-monatige Kosten im Vergleich zu Tailscale Premium. Am Ende können Sie in 5 Minuten entscheiden, ob sich die Investition von 2-3 Tagen für eine saubere Einrichtung lohnt.

Was Headscale tatsächlich ist

Headscale ist eine Open-Source-Neuimplementierung der Tailscale-Koordinator-API, geschrieben in Go, hauptsächlich von Juan Font und einer engagierten Community gepflegt. Quellcode: github.com/juanfont/headscale. Lizenz: BSD-3.

Es ist kein Fork von Tailscale. Es ist ein Server, der dasselbe Protokoll spricht wie der Tailscale SaaS-Koordinator — das bedeutet, dass die offiziellen Tailscale-Clients (iOS, Android, macOS, Windows, Linux) auf Ihre Headscale-Instanz zeigen können und sie sich normal verhalten. Es gibt keinen gepatchten Client, keine fragwürdige benutzerdefinierte Binärdatei.

Was Headscale übernimmt:

  • Peer-Erkennung und Schlüsselverteilung — genau wie der SaaS-Koordinator.
  • NAT-Traversal-Koordination — über DERP-Relays (Sie können die öffentlichen DERP-Relays von Tailscale kostenlos nutzen oder Ihre eigenen hosten).
  • Deklarative ACLs — akzeptiert dasselbe JSON-ACL-Format wie Tailscale. Gleiche Syntax, gleiche Semantik.
  • MagicDNS — Auflösung von node.tailnet.example.com (oder welcher Domain Sie konfigurieren).
  • Subnetz-Routen — um ein VPC oder LAN hinter einem Knoten freizugeben.
  • Exit-Nodes — um den gesamten Internetverkehr über einen ausgewählten Knoten zu leiten.

Was Headscale NICHT übernimmt (die ehrlichen Grenzen):

  • Keine offiziellen Premium-Funktionen: keine Tailscale SSH-Sitzungsaufzeichnung, keine native SSO-Konsole (Sie müssen OIDC selbst einrichten), keine proprietäre GUI-Admin (ein separates headscale-ui-Projekt existiert, von Drittanbietern).
  • Mobile Client-Verwaltung ist manueller — Authentifizierungsschlüssel müssen CLI-seitig generiert werden.
  • Tailscale Inc. Support ist nicht vorhanden — nur Community-Support, GitHub Discussions und Discord.

Das Versprechen ist präzise: 90% des Wertes von Tailscale Premium, für ~5% der Kosten, mit 100% Datenhoheit.

Wann Headscale tatsächlich sinnvoll ist

Headscale ist nicht immer die richtige Antwort. Hier ist die Entscheidungsmatrix zur Entscheidung:

SituationEmpfehlung
Solo, 1-5 persönliche MaschinenTailscale Free, nicht nötig
Kleines Team, 3-5 Benutzer, lernorientiertRaw WireGuard selbst hosten, einfacher
Team 5-15, Wachstumsphase, keine ComplianceTailscale Premium, gut investierte Zeit
Team 10+, EU/Compliance-AnforderungenHeadscale (ideale Lösung)
50+ Knoten B2B mit SAML und Audit-LogsTailscale Enterprise, die einzige Möglichkeit
GDPR-kritische Infrastruktur, Banken, öffentlicher SektorHeadscale + Audit-Härtung
Solo-Nerd, möchte Full-Stack lernenHeadscale als Lernprojekt

Die beiden Hauptgründe, warum Menschen Headscale in der Produktion einsetzen:

  1. Souveränität / Compliance: Rechtsabteilung oder DSI verbieten unkontrollierte SaaS-Abhängigkeit. Headscale erfüllt das Kriterium "Europäisch gehostet, GDPR-konform, kein US-Transfer". Es ist der Fall in wachsenden EU-regulierten B2B-SaaS.
  2. Kostenoptimierung im großen Maßstab: Bei 15+ Benutzern werden Tailscale Premium zu vierstelligen monatlichen Rechnungen. Ein Contabo VPS S für 60 €/Jahr + 2-3 Tage Sysadmin-Zeit amortisiert sich in weniger als 2 Monaten.

Wenn keiner dieser Gründe auf Ihre Situation zutrifft, bleiben Sie bei Tailscale Premium oder Raw WireGuard. Der Mittelweg macht nur Sinn, wenn er tatsächlich gerechtfertigt ist.

Architektur für die Produktion gewählt

Hier ist die Architektur, die wir im Februar 2026 implementiert haben und die noch heute läuft:

[Tailscale-Client iOS/Android/Linux]
            │
            │ HTTPS (Port 443)
            ▼
[Caddy Reverse Proxy] ──► [Headscale]
            │                    │
            │                    ▼
            │            [PostgreSQL 15]
            │
            └──► [Tailscale DERP Relays - kostenlose öffentliche]

Komponenten:

  • Contabo VPS S Nürnberg (4 vCPU, 8 GB RAM, 200 GB NVMe, 4,99 €/Monat) — siehe unsere Contabo-Bewertung 2026 und das Schritt-für-Schritt-Setup-Tutorial zur Vorbereitung des VPS.
  • Headscale 0.24 als Koordinator.
  • PostgreSQL 15 als Backend (im Vergleich zum Standard-SQLite, robuster bei mehr als 20 Knoten).
  • Caddy 2 als Reverse Proxy mit automatischem Let's Encrypt TLS — Headscale benötigt HTTPS, die offiziellen Clients erfordern es.
  • OIDC über Authentik (ebenfalls selbst gehostet, aber Auth0 oder Keycloak funktionieren auch).
  • Tailscale öffentliche DERP-Relays für NAT-Traversal — kostenlos, es sei denn, Sie haben spezifische Paranoia-Anforderungen, müssen Sie DERP nicht selbst hosten.

Schritt-für-Schritt-Installation auf Contabo

Quellcode in einem Terminal-Editor
Quellcode in einem Terminal-Editor

Einrichtungszeit auf einem frisch bereitgestellten VPS: etwa 90 Minuten, wenn Sie die Schritte ohne Zögern befolgen. Wir gehen von Debian 12 aus (dem Standard bei Contabo).

1. Systemvorbereitung

apt update && apt upgrade -y
apt install -y postgresql postgresql-contrib caddy curl wget

2. Erstellen der Headscale PostgreSQL-Datenbank

sudo -u postgres psql <<EOF
CREATE USER headscale WITH PASSWORD 'SETZEN_SIE_HIER_EIN_STARKES_PASSWORT';
CREATE DATABASE headscale OWNER headscale;
GRANT ALL PRIVILEGES ON DATABASE headscale TO headscale;
EOF

3. Installation von Headscale

Das offizielle .deb-Paket ist der sauberste Weg. Neueste Version: github.com/juanfont/headscale/releases.

HS_VERSION="0.24.0"
wget https://github.com/juanfont/headscale/releases/download/v${HS_VERSION}/headscale_${HS_VERSION}_linux_amd64.deb
dpkg -i headscale_${HS_VERSION}_linux_amd64.deb

4. Headscale-Konfiguration

Bearbeiten Sie /etc/headscale/config.yaml. Die minimal erforderlichen Einstellungen:

server_url: https://headscale.ihre-domain.com
listen_addr: 127.0.0.1:8080
metrics_listen_addr: 127.0.0.1:9090

database:
  type: postgres
  postgres:
    host: localhost
    port: 5432
    name: headscale
    user: headscale
    password: SETZEN_SIE_HIER_EIN_STARKES_PASSWORT

derp:
  server:
    enabled: false
  urls:
    - https://controlplane.tailscale.com/derpmap/default

ip_prefixes:
  - 100.64.0.0/10

acl_policy_path: /etc/headscale/acl.json

oidc:
  issuer: https://auth.ihre-domain.com/application/o/headscale/
  client_id: headscale
  client_secret: OIDC_SECRET_HERE
  scope: ["openid", "profile", "email"]

Kritische Punkte:

  • server_url muss HTTPS sein. Die offiziellen Tailscale-Clients verweigern die Kommunikation über einfaches HTTP.
  • ip_prefixes: 100.64.0.0/10 ist der CGNAT-Bereich, den Tailscale standardmäßig verwendet. Ändern Sie dies nicht, es sei denn, Sie wissen, was Sie tun.
  • oidc: optional, aber in der Produktion dringend empfohlen. Ohne es fallen Sie auf headscale users create und vorab geteilte Schlüssel zurück.

5. Caddy als Reverse Proxy

/etc/caddy/Caddyfile:

headscale.ihre-domain.com {
    reverse_proxy 127.0.0.1:8080
}

Neuladen: systemctl reload caddy. Caddy holt sich automatisch das Let's Encrypt-Zertifikat. Überprüfen Sie die Gültigkeit der Kette, bevor Sie fortfahren — offizielle Tailscale-Clients verweigern selbstsignierte Zertifikate.

6. Starten von Headscale

systemctl enable --now headscale
journalctl -u headscale -f

Sie sollten Startprotokolle sehen, dann "Listening on 127.0.0.1:8080".

7. Erstellen eines ersten Benutzers und eines Vorab-Authentifizierungsschlüssels

headscale users create eric
headscale preauthkeys create --user eric --reusable --expiration 24h

Die Ausgabe liefert einen tskey-auth-xxxxxxxxxxxx Schlüssel. Notieren Sie ihn.

8. Verbinden eines Tailscale-Clients

Auf einem Linux-Client mit installiertem offiziellen Tailscale-Client:

tailscale up \
  --login-server https://headscale.ihre-domain.com \
  --authkey tskey-auth-xxxxxxxxxxxx

Der Knoten erscheint in headscale nodes list. Von dort aus können Sie seine 100.x.x.x IP abrufen und verwenden.

Für iOS/Android: Installieren Sie die offizielle Tailscale-App, Einstellungen → benutzerdefinierter Login-Server → geben Sie Ihre Headscale-URL ein. Tippen Sie auf "Anmelden", Sie werden zu Ihrem OIDC-Anbieter weitergeleitet.

Kritische ACL-Konfiguration

ACLs sind der Bereich, in dem Headscale zeigt, dass es wirklich "Tailscale-kompatibel" ist. Die JSON-Datei akzeptiert dieselbe Syntax wie Tailscale Premium ACLs.

Produktionsbeispiel (5-Benutzer-Team mit Entwicklungs-/Staging-Trennung):

{
  "acls": [
    {
      "action": "accept",
      "src": ["group:admins"],
      "dst": ["*:*"]
    },
    {
      "action": "accept",
      "src": ["group:devs"],
      "dst": ["tag:dev:*", "tag:staging:22,80,443"]
    },
    {
      "action": "accept",
      "src": ["group:devs"],
      "dst": ["tag:prod:80,443"]
    }
  ],
  "groups": {
    "group:admins": ["eric@vpnsmith.com"],
    "group:devs": ["alice@vpnsmith.com", "bob@vpnsmith.com"]
  },
  "tagOwners": {
    "tag:dev": ["group:admins"],
    "tag:staging": ["group:admins"],
    "tag:prod": ["group:admins"]
  }
}

Nach jeder Bearbeitung neu laden: headscale acls reload. Headscale validiert das JSON, bevor es angewendet wird, sodass ein Syntaxfehler das Produktionsnetzwerk nie unterbricht.

Produktionsfallen, die niemand erwähnt

Acht Monate Betrieb von Headscale, hier sind die vier Fallen, die uns ein Wochenende oder mehr gekostet haben:

1. Erschöpfung des PostgreSQL-Verbindungspools. Die Standardgröße des Headscale-Pools beträgt 25 Verbindungen. Bei mehr als 50 gleichzeitigen Knoten mit häufigen Wiederverbindungen (denken Sie an WLAN-Roaming auf Handys) erreichen Sie das Limit und Verbindungen beginnen zu fallen. Lösung: Erhöhen Sie database.postgres.max_open_conns auf 100 und konfigurieren Sie max_idle_conns: 10.

2. Tailscale öffentliche DERP-Relays können in Asien/Australien launisch sein. Wenn Sie Knoten in diesen Zonen haben, kann die Latenz stark ansteigen. Lösung: Hosten Sie ein DERP-Relay auf einem VPS in der Region. Headscale verarbeitet es transparent — siehe die offiziellen DERP-Setup-Dokumente.

3. PostgreSQL-Backup ist obligatorisch und unterschätzt. Headscale speichert alles in PostgreSQL: Knoten, öffentliche Schlüssel, ACL-Zustand, OIDC-Zuordnungen. Verlieren Sie die DB, verlieren Sie das gesamte Netzwerk. Richten Sie pg_dump täglich + automatisiertes S3-kompatibles Backup ein (wir verwenden Hetzner Object Storage für 1 €/Monat dafür). Wiederherstellung alle 3 Monate getestet.

4. Headscale-Binär-Upgrades sind sanft, aber es gibt Breaking Changes zwischen den Minor-Versionen. Lesen Sie das CHANGELOG, bevor Sie von 0.23 auf 0.24 aktualisieren. Das Entwicklerteam ist auf GitHub reaktionsschnell, aber Headscale befindet sich in aktiver Entwicklung — rechnen Sie etwa alle 6 Monate mit Breaking Changes.

Echte Kosten über 36 Monate — Headscale vs Tailscale Premium

Die Berechnung bei 10 Benutzern, 25 Knoten, mit vorsichtigen Annahmen:

PostenHeadscale selbst hostenTailscale Premium
Direkte Kosten 36m180 € (Contabo VPS) + 36 € Backup6.480 $ (10 × 18 $ × 36m)
Ersteinrichtung2-3 Tage @ 400 €/d = 1.000 €1 Stunde, ~50 €
Wartung 36m~1,5h/Monat × 36m × 50 € = 2.700 €~0,5h/Monat × 36m × 50 € = 900 €
Backups + Wiederherstellungstests200 €0 €
Risikoprämie (Ausfall)500 €0 €
Gesamt 36m~4.616 €~7.430 $ ≈ 6.866 €

Headscale gewinnt um ~2.250 € über 36 Monate bei 10 Benutzern. Nicht enorm, aber real — und die Lücke vergrößert sich linear mit der Teamgröße. Bei 20 Benutzern sparen Sie ~8.000 €/3 Jahre. Bei 50 Benutzern ist es ernsthaftes Geld.

Wenn Ihre Zeit mehr als 100 €/h wert ist, schrumpft diese Lücke schnell. Wenn sie weniger als 50 €/h wert ist (Junior, Nebenprojekt, Lernen), gewinnt Headscale leicht.

Fazit — wann Headscale im Jahr 2026 einsetzen

Setzen Sie Headscale ein, wenn:

  • Sie eine Souveränitäts- / GDPR- / kein US-Transfer-Anforderung haben
  • Ihr Team 10+ Benutzer mit 12+ Monaten Horizont hat
  • Sie einen internen Sysadmin oder Sysadmin-Instinkt haben
  • Tailscale Premium teuer erscheint, aber Raw WireGuard zu primitiv

Bleiben Sie bei Tailscale Premium, wenn:

  • Ihre Zeit mehr als 100 €/h wert ist
  • Keine spezifische Compliance-Anforderung
  • Sie lieber diese 2-3 Tage in Ihr Produkt investieren

Bleiben Sie bei Raw WireGuard, wenn:

  • Sie unter 5 Knoten, einfache Einrichtung, Lernstimmung sind
  • Hub-and-Spoke alle Ihre Anwendungsfälle abdeckt

Headscale ist die am meisten unterschätzte Antwort im selbst gehosteten VPN-Ökosystem im Jahr 2026. Es erledigt 90% der Arbeit von Tailscale, auf einem Contabo VPS für 4,99 €/Monat, mit voller Datenhoheit. Der Preis sind 2-3 Tage Einrichtung und ein Sysadmin-Reflex — der sich in weniger als 2 Monaten bei 10 Benutzern amortisiert.

Weiterführende Informationen

Quellen und Referenzen:


Veröffentlicht am 2026-06-05. Produktionsanalyse basierend auf einer Headscale 0.24-Instanz, die im Februar 2026 auf einem Contabo VPS S Nürnberg bereitgestellt wurde (12 Knoten, 5 Benutzer, PostgreSQL-Backend, OIDC über Authentik). Kosten aus dem Mai 2026 Contabo und Tailscale Preisgestaltung — überprüfen Sie vor der Entscheidung. Die tatsächliche Leistung und Einsparungen hängen von der Teamgröße und der vorhandenen Infrastruktur ab.

Erinnerung: Headscale, Tailscale und VPN-Selbsthosting sind in der EU, den USA, Kanada und den meisten demokratischen Ländern vollkommen legal. VPNSmith veröffentlicht diesen Inhalt zu Bildungszwecken.

★ 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