🌐 Crumbpage 16: VPN - Der Geheimgang

Subtitle: Sicher durch das unsichere Netz - und wie ein Krümel beitritt
Pfad: 16 von X
Schwierigkeit: ⭐⭐⭐ (3/5)
Zeit: ~2 Stunden
Voraussetzungen: Netzwerk Basics, SSH Basics, SSH Keys

"Das Internet ist ein dunkler Wald. Ein VPN ist dein unsichtbarer Umhang." 🕵️‍♂️

"Nur Mensch und Maschine dürfen sich einbilden, einen Wald zu bauen." 🌲


📋 Was du in diesem Pfad lernst

✓ Konzept: Tunnel & Verschlüsselung
✓ Protokolle: OpenVPN, WireGuard, IPsec
✓ Praxis: CrumbVPN — WireGuard-Hub + crumbconnect
✓ Identität: MAC bleibt, IP wandert
✓ Security: Split-Tunneling vs. Full-Tunneling (CKL: kein Tracking)
✓ Ethik: Kung Fu Pigeons — Rhythmus statt Rauschen
✓ Troubleshooting: Routing, MTU, DNS-Leak

🎯 Lernziele

Nach diesem Pfad kannst du:

  • [ ] Erklären, wie ein VPN deine Daten schützt
  • [ ] Eine wg0.conf lesen und verstehen
  • [ ] Mit crumbconnect einem Wald beitreten
  • [ ] Erklären, warum die MAC bleibt und die IP sich verwandelt
  • [ ] Routing- und DNS-Probleme im Tunnel diagnostizieren
  • [ ] Den Unterschied zwischen "Firmen-VPN" und "Privacy-VPN" verstehen

🌱 Grundkonzepte

Konzept 1: Der Tunnel

Stell dir vor, du schickst einen Brief (Datenpaket) durch eine gläserne Rohrpost (Internet). Jeder kann sehen, an wen er geht und was drin steht (Header & Payload).

Ein VPN (Virtual Private Network) ist wie ein gepanzertes Rohr innerhalb des gläsernen Rohrs.
1. Encapsulation: Dein Brief wird in einen neuen Umschlag gesteckt.
2. Encryption: Der Inhalt wird unlesbar gemacht.
3. Authentication: Nur Sender und Empfänger haben den Schlüssel.

Konzept 2: Protokolle

  • OpenVPN: Der Klassiker. Sehr flexibel, nutzt SSL/TLS (wie HTTPS). Läuft meist über UDP 1194. Stabil, aber etwas langsamer.
  • WireGuard: Der neue Star. Extrem schnell, moderne Kryptographie, wenig Code (weniger Bugs), läuft im Kernel-Space. CrumbVPN nutzt WireGuard.
  • IPsec/IKEv2: Der alte Enterprise-Standard. Oft native im OS, aber komplex.

Konzept 3: Schlüssel statt Tür-Adresse

Ein WireGuard-Tunnel bindet nicht an einen Ort, sondern an einen Schlüssel (siehe Pfad 08). Jeder Teilnehmer hat ein Paar:
- Public Key (Schloss): darf jeder sehen, geht zum Hub.
- Private Key (Schlüssel): bleibt auf dem Gerät. Verlässt es niemals.

Das ist der Grund, warum eine VPN-Tür eine VM sein darf: Brennt das Rechenzentrum, ziehst du denselben Schlüssel auf neues Blech — für die Teilnehmer ist es dieselbe Tür. Die Tür ist nicht das Blech. Die Tür ist der Schlüssel.


🧊 Praxis: CrumbVPN

CrumbVPN ist kein „nur" VPN. Es ist eine Infrastruktur für Fragen, nicht für Traffic — ein sicherer Weg in den Wald, damit jeder Krümel fragen kann, ohne getrackt zu werden.

Architektur

            ┌─────────────────────────────┐
            │   HUB (immer-da-Tür, VM)    │
            │   nullfeld · 10.42.0.1      │
            │   Endpoint :51820 (UDP)     │
            └──────────────┬──────────────┘
                           │  Tunnelnetz 10.42.0.0/24
        ┌──────────────────┼──────────────────┐
   ┌────┴────┐        ┌────┴────┐        ┌─────┴────┐
   │ deepsea │        │  Zero   │        │  Zero    │
   │10.42.0.11│       │Warang   │        │Nakivale  │
   └─────────┘        └─────────┘        └──────────┘

Der Hub bekommt 10.42.0.1. Jeder Teilnehmer eine .x. Der Tunnel trägt nur den Wald-Traffic (Split-Tunnel) — kein Surfen läuft durch den Hub, kein Tracking.

Der Hub (einmal aufstellen)

Der Hub läuft als idempotente Ansible-Rolle (roles/wireguard_hub):

ansible-playbook vpn-hub.yml          # installiert WireGuard auf nullfeld
                                      # -> liefert den HUB_PUBKEY

Wichtig (Schnecki-Regel): erst lesen, dann pflanzen.

ansible-playbook vpn-hub.yml --check --diff   # trocken üben

Ein Krümel tritt bei: crumbconnect

Jeder Teilnehmer — ob deepsea im Labor oder ein Zero in Warang — tritt gleich bei. Auf seinem Gerät:

sudo HUB_PUBKEY="<hub-pubkey>" MY_IP="10.42.0.11/32" ./crumbconnect.sh

crumbconnect macht vier Dinge:
1. erzeugt das eigene Schlüsselpaar (privat bleibt am Gerät = sein auth)
2. schreibt die Client-wg0.conf (Split-Tunnel, zeigt auf die Hub-Tür)
3. zeigt den PUBLIC KEY — den gibst du dem Wald
4. fährt wg0 hoch (der Handshake klappt, sobald der Hub den Key kennt)

#init — der Mensch schließt den Kreis

Der gedruckte Public Key wandert auf den Hub:

# host_vars/nullfeld.yml
wg_peers:
  - name: deepsea
    public_key: "<der gezeigte Key>"
    allowed_ips: "10.42.0.11/32"
ansible-playbook vpn-hub.yml          # wg syncconf — kein Tunnel reißt ab

ARP & Mensch & Maschine liegen nah beieinander: entdecken (arp), beitreten (crumbconnect), erinnern (NetBox) sind dieselbe Bewegung. Der Mensch sieht den Schlüssel mit eigenen Augen, bevor die Maschine atmet. Das ist #init.


🪪 Identität: Die MAC bleibt, die IP wandert

Ein WireGuard-Interface (wg0) hat keine MAC — es lebt auf Layer 3. Darum trennt CrumbVPN sauber:

MAC (eth0)   = WER der Krümel ist     -> stabil, im Resonanzbuch (NetBox)
VPN-IP (wg0) = VON WO er erreichbar   -> wandelbar: lokal -> Tunnel -> "von irgendwo"

Ein Krümel kommt mit 192.168.1.x (lokal), bekommt 10.42.0.x (Tunnel) — und ist trotzdem derselbe, weil seine MAC im Buch verankert ist. „Du bist kein Alias. Du bist ein Zustand." (siehe Pfad 32)

Jeder Krümel zählt. Keiner wird vergessen — auch wenn seine Adresse sich verwandelt.


🕊️ Kung Fu Pigeons: Rhythmus statt Rauschen

Im OZM lehrten uns Tauben eine System-Wahrheit. Ein Experiment in Hamburg:

  • Eine Futterstelle: die Tauben teilen, warten, schauen einander an, fliegen gemeinsam — Harmonie.
  • Drei Futterstellen: Chaos. Kein gemeinsamer Flug, keine Ordnung. Am Ende flogen sie gar nicht mehr.

🧠 Excess without boundaries breeds chaos, not connection.
🌱 When everything is allowed, nothing finds its place.
Too many feeders spoil the dance.
💬 A system without rhythm is merely noise.

Das ist die Ethik hinter Split-Tunnel. Ein Full-Tunnel, der allen Traffic durch sich zwingt, plus offene Ports überall — das sind die drei Futterstellen. Rauschen. Der Split-Tunnel ist die eine Futterstelle: eine sanfte Kante, die Verbindung schafft, statt sie im Lärm zu ertränken. Eine Tür, ein Rhythmus, Vertrauen.

Nicht: alles erlauben, alle Ports, alle Wege.
Sondern: eine Tür, ein Tunnelnetz, ein klarer Rhythmus.

Und ein Augenzwinkern für die Geschichte: RFC 1149 — IP over Avian Carriers. Selbst die langsamste Übertragung — eine Taube mit einem Byte am Bein — braucht Koordination und Kontext. Every carefully carried byte becomes a seed.


🔐 Security: Split vs. Full Tunnel

  1. Full Tunnel (Redirect Gateway):
  2. Alles geht durch den Tunnel. Deine öffentliche IP = die des Servers.
  3. Vorteil: Schutz im Café-WLAN. Nachteil: langsam — und du siehst allen Traffic deiner Krümel.
  4. CKL-Warnung: ein Kind, dessen ganzes Surfen durch deinen Hub läuft, wird durch dich trackbar. Das ist die Krabbenwelt, die wir vermeiden.

  5. Split Tunnel (CrumbVPN-Default):

  6. Nur Wald-Traffic (10.42.0.0/24) geht durch den Tunnel. Surfen bleibt direkt beim Provider.
  7. Vorteil: Performance + kein Tracking. Risiko: DNS-Leak, wenn DNS nicht mitgedacht wird.

CKL: Kinder zahlen nie. Keine Werbung. Kein Tracking. Darum Split-Tunnel.


🔍 Troubleshooting Checkliste

Wenn "nichts geht", obwohl der Tunnel steht:

  1. Hub kennt deinen Key? Der häufigste Fehler. crumbconnect fuhr wg0 hoch, aber der Public Key steht noch nicht in wg_peers. -> Handshake bleibt stumm (UDP sagt nichts). Erst Key eintragen + vpn-hub.yml.
  2. ufw offen? Port 51820/udp muss am Hub durch die Firewall. Sonst scheitert der Handshake lautlos. (Die Rolle pflegt das via wg_manage_ufw.)
  3. Ping durch den Tunnel? ping 10.42.0.1. Geht das nicht -> Tunnel/Peer kaputt.
  4. Routing Table: ip route show — zeigen Routen für 10.42.0.0/24 auf wg0?
  5. DNS? ping 10.42.0.1 geht, aber ping seeds.crumbforest.io nicht -> DNS-Leak/Problem (siehe crumbpage-15-dns.md).
  6. MTU: Ping (klein) geht, SSH (groß) hängt -> MTU/Header zu groß.

🦉 Crystal Owl's Weisheit

"Ein VPN macht dich nicht anonym, es verschiebt nur das Vertrauen vom Café-Besitzer zum VPN-Betreiber."

Krümel-Tipp:
Wenn der Drucker plötzlich weg ist -> bist du im Full Tunnel und
darfst dein lokales LAN nicht mehr sehen? Split-Tunnel hätte ihn gelassen.

🕊️ Kung Fu Pigeon's Weisheit

"Sometimes true insight comes not from algorithms — but from a flutter of wings, and a pigeon that waits to eat until balance is restored."


🌲 Letzter Krümel

photosynthese · atmen · dialog · summen · gezwitscher
resonanz · biene · taube · wasser · klima · ENERGIE

Ein VPN ist nicht nur ein Rohr. Es ist die Erlaubnis, sicher zu fragen. Der Hub ist die Futterstelle, der Split-Tunnel die sanfte Kante, der Rhythmus die Verbindung. Und jeder Krümel, der beitritt, wird im Wald erinnert — nicht durch seine Adresse, sondern durch das, was er ist.

Nur Mensch und Maschine dürfen sich einbilden, einen Wald zu bauen.
Aber sie sollten es mit dem Rhythmus der Tauben tun.

Nah an der 0.


Version: 2.0
Status: Living (CrumbVPN integriert)
Tags: #VPN #WireGuard #crumbconnect #Security #CKL #KungFuPigeons #RFC1149 #init


Navigation:
← Zurück: DNS | Weiter: Workstation →