TP45 — VLAN20/VLAN30 ins TP32-Schema + DNS/FQDN aus Nautobot #71
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Anriss: VLAN20 und VLAN30 in die TP32-Nummern-/Adress-Systematik überführen, danach
DNS/FQDN aus Nautobot. Ausgelöst durch „viele *.emsenhuber.net wirken verschwunden" (2026-09-21).
Root Cause (live bewiesen): nicht Caddy und nicht Cloudflare haben etwas verloren —
(a) AGH wertet DNS-Rewrites im Filter-Pfad aus; für
filtering_enabled: false-Clients(alle Browser-Gruppen) werden sie übersprungen → Fallback auf den conditional forward auf den Core,
der nur 10 Statics hat → NXDOMAIN für 11 Dienstnamen. (b)
ds-bfgeht als einziger Ingress-Eintragdirekt auf
http://10.40.20.10:8080statt über Caddy und fällt damit unterTP5: deny-by-default.Prosa/Detail:
docs/teilprojekte.md→### TP45.Reihenfolge (Christoph-Entscheide 2026-09-21):
.30-.34→.154-.156/.158),danach AGH
.36/.37→.30/.31. 27 Skript-/Config-Dateien hängen an10.40.20.30.ds-bfüber Caddy,coolify.bfneu,.bf-Namen vollständig auf den Core,AGH nur noch Filtering mit Upstream Core, TP34 FQDN-als-Datum.
TUNNEL_TOKEN), Leak-Ursachen.Vorarbeit erledigt: TP32-Oktett-Tabelle korrigiert (.10-.19/.20-.29-Split, Server-Block
.100-.149, Broker/Funk.9x, Platform.8x); CCU-Startgruppe live40 → 50korrigiert(sie gehört zur Anwendungsgruppe wie
haos, nicht zu Funk).Blocker/Voraussetzung: DHCP-Reservierungen werden von Golden Config nirgends gerendert
(26 VLAN30 + 1 VLAN20 liegen als Handarbeit auf dem Gerät) → Renderer muss erst gebaut werden.
Abgrenzung: VMID-Umnummerierung bleibt draußen (TP32: „Bestand bleibt, wo er ist").
Tunnel-Token-Rotation läuft in TP30; hier wird nur Posten #10 gesetzt.
Fund B — Adress-Recycling: die Core-Adressliste
nautoboterlaubt jetzt AGH den MGMT-SSHLive gemessen 2026-09-21 am
crs326-core(list_address_list_entries list=nautobot), 6 Eintraege:10.40.20.3010.40.20.3110.40.20.3210.40.20.15410.40.20.15510.40.20.156Die Kollision: die Alt-Adressen
.30/.31wurden am selben Tag an AGH uebergeben(
b52d6aaraeumt Nautobot auf.154-.158,974ecbc/139d7c0geben.30/.31anagh-bf1/agh-bf2 — live belegt:
net1=.30/.31,http://10.40.20.30liefert dasAGH-Dashboard). Die Alt-Eintraege stehen aber als Uebergang bis zum Rueckbau. Damit
erlaubt
src-address-list=nautobot -> vlan99:22jetzt AGH (LXC 110/111) den MGMT-SSH,nicht mehr Nautobot.
Warum das zaehlt: die Liste wird von Golden Config nirgends gerendert (handgelaufenes
routeros/tp5-etappe2-whitelists.rsc, s. CLAUDE.md „Recovery-Luecke") — schon deshalb einSonderfall. Jetzt kommt hinzu, dass zwei ihrer Eintraege die Bedeutung gewechselt haben,
ohne dass sich die Liste geaendert hat. Eine Least-Privilege-Ausnahme gilt damit fuer ein
Geraet, das sie nie beantragt hat. Die Compliance-Zahl sieht davon nichts, weil nichts
gerendert wird.
Die Pipeline selbst ist nicht gebrochen:
.155(der Deploy-Pfad) steht drin, derNautobot-Worker kommt weiter durch.
Offen / beim Rueckbau zu klaeren:
.32ist frei — nichts hat es uebernommen, nur noch historischer Eintrag..30/.31aus der Liste raus, sonst bleibtAGH dauerhaft im MGMT-Zugang.
darf eine Alt-IP beanspruchen" auf — in Schicht A ist sie passiert. Beim Aufbau der
Sekundaer-IPs fuer nas/pve/macmini (
nas .10 -> .110,pve .100 -> .121,macmini .167 -> .130) die Alt-IPs explizit gegen Neubelegung sperren.Schicht C — FQDN-Wiederherstellung vorgezogen: C1–C3 durch (2026-09-22, Commit
6d1d56e)Die IP-Umstellung (A/B/E) dauert länger; die internen Namen mussten jetzt zurück. C ist damit
vor A/B erledigt — A, B, E bleiben wie geplant offen.
nautobot/mikrotik_routeros.j2→ 27/ip dns static(vorher 10);Deploy über den neuen GC-Job
tp45-c-dns(idempotenter Upsert, liest die Zeilen aus dem Templateselbst). Abnahme am Gerät: 27 Statics,
--refresh-compliance→ 145/145, 0 Drifts.(140 → 145 = die neue 29. Regel „DHCP-Reservierungen" aus 09-21 × 5 Geräte — erklärt, nicht Zufall.)
upstream_dns= nur10.40.20.1, CF-DoH + conditional Forward raus,alle 26 Rewrites weg (Weg:
adguard/agh-sync.py push). Vorher/Nachher geprüft: verhaltensneutral.Abnahme:
.36 == .37·/adminheader-frei 200, mitCF-Connecting-IPweiter 404 · Filter intakt.ds-bfüber Caddy. CF-Ingress-Originhttp://10.40.20.10:8080→https://10.40.20.40:443(+
originServerName). Öffentlich 200 in 0,24 s (vorher 000 nach 20 s). CF-MCP kann nichtschreiben (1001) — Write über
CF_API_TOKENausmcp/cloudflare/.env.dig→.40, Route überutun8,/admin200.Der 404 des Users war Browser-/mDNS-Cache. Hebel (a) nicht nötig.
Zwei Befunde, dokumentiert (nicht geändert):
liefern die CF-IPv6. Heute inert (kein globales IPv6). Latent. Christoph 09-22: dokumentieren, nicht ändern.
eth0.36/.37undeth1.30/.31;Schicht A ist dort halb umgestellt (neue IP live + per DHCP verteilt, Alt-IP lebt). Gehört in die
„siedeln"-Messung.
Offen in C:
coolify.bf(nicht ausgerollt) · C4 (TP34, FQDN als Daten).C4 geschärft + Träger festgelegt (2026-09-22).
A-Statics aufcrs326-core(*.bf.emsenhuber.net, live geprüft 2026-09-22) sind heute Handarbeit und werden von GC nirgends gerendert ⇒ Recovery-von-null erzeugt einen Core ohne interne Namensauflösung — dieselbe Recovery-Lücke wie die DHCP-Reservierungen und dienautobot-Adressliste.TP34.2 — Interne DNS-Namen als Daten(status:todo, Christoph-Entscheid „gemeinsame Arbeit"). Parent #24 (TP34) bleibtstatus:dropped— dort war Caddyfile-Rendering verworfen, hier ist der Gegenstand ein anderer.docs/teilprojekte.md(neuer Abschnitt### TP34.2, Schicht-C-Tabelle, „Offen in C", Abh./Blockiert, Follow-up),docs/teilprojekte-archiv.md(Zeiger auf die Fortsetzung),CLAUDE.mdPflichtlektüre.Offen in Schicht C bleibt damit:
coolify.bf(Port unbekannt — nicht raten) + C4 → #73.