Lesson 0011 · groupdir-infra

WireGuard-Peer hinzufügen

Freie Tunnel-IP wählen, Peer-Datei anlegen, MR öffnen. Analog zu Lab-Hosts, ohne Secrets in Git.

Einleitung

Nach 0010 kennst du Layout und Rollen. Heute der Alltagsweg aus wireguard.md: neuen Peer im Git inventarisieren. Live-Onboarding über die UI bleibt bis zum Cutover möglich. Selbststudium: Schritte nachvollziehen, nichts gegen den Hub applyen.

Standardweg (Git-Inventar)

  1. Belegung und nächste freie Adressen:
    just wireguard-ipam
    Merke dir Next free IPv4 und die passenden IPv6-Zeilen.
  2. Datei net/wireguard/peers/<name>.nix anlegen (wird per readDir gefunden, kein Zentralregister):
    {
      name = "mein-laptop";
      role = "client";
      publicKey = "BASE64…=";
      ipv4 = "172.30.0.4";
      ipv6 = [
        "2a01:4f8:c013:9f12:ac1e::4"
      ];
      persistentKeepalive = 15;
      extraAllowedIPs = [ ];
    }
  3. Site statt Client: role = "site" und z. B. extraAllowedIPs = [ "192.168.200.0/24" ] (siehe lab-gateway.nix).
  4. MR öffnen. Nach Cutover: VPS mit vpnHub deployen. Bis dahin bleibt die UI autoritativ für die live Schnittstelle.

Was nicht in Git gehört

  • Private Keys (Hub unter /var/lib/wireguard/wg0.key, Client-Key auf dem Gerät).
  • Peer-PSKs auf dem Hub: das Inventar speichert bewusst keine. Die UI hielt PSKs mutable; nach Cutover reichen Pubkey + AllowedIPs.

Öffentliche Keys sind ok in Git. Private Keys und UI-Passwörter nicht.

Checkliste vor dem MR

Lesen am Repo

  1. just wireguard-ipam einmal laufen lassen
  2. Zwei Peers vergleichen: Client vs. net/wireguard/peers/lab-gateway.nix
  3. Cutover-Schritte skimmen in wireguard.md (Abschnitt Cutover)

Üben

Retrieval

Erster Schritt vor einer neuen Peer-Datei?

Welches Feld gehört nicht in net/wireguard/peers/*.nix?

Nach dem Anlegen der Peer-Datei bis zum Cutover: was gilt live?

Primärquelle

docs/wireguard.md („Add a peer“). Parallel Lab-Analogie: 0009 Service hinzufügen.

Kompakt: Referenz: WireGuard-IPAM.