TP21: routers.yaml auf finale MGMT-IPs aktualisiert; Sub-TP21.1 CRS326-Branch-Recovery dokumentiert; Nautobot-Image procps-Fix
- mcp/mikromcp/config/routers.yaml: ap1→10.40.99.11, ap2→10.40.99.12, crs326-core→10.40.99.1, crs326-branch→10.40.99.2 (tags aktualisiert). - docs/teilprojekte.md: TP21.1 angelegt — Branch nach Reboot/Lockout recovery. - docs/nas-vlan20/nautobot-image/Dockerfile: procps installiert (healthcheck). Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,7 @@
|
|||||||
FROM ghcr.io/nautobot/nautobot:3.1.7
|
FROM ghcr.io/nautobot/nautobot:3.1.7
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends procps && rm -rf /var/lib/apt/lists/*
|
||||||
RUN pip install --no-cache-dir \
|
RUN pip install --no-cache-dir \
|
||||||
nautobot-golden-config \
|
nautobot-golden-config \
|
||||||
nautobot-plugin-nornir \
|
nautobot-plugin-nornir \
|
||||||
|
|||||||
@@ -548,6 +548,14 @@ FT kaschierte das bisher als „Roaming" statt „schwache Abdeckung".
|
|||||||
- **Offen:** ap1/ap2/crs326-Adoption + Compliance-Push (RouterOS-API); RouterOS-Nornir-Dispatcher falls nötig; Branch-Renumber `.13→.12` und AP-Mgmt-IP-Fix in Datenmodell beim Cutover; Secret-Handling für WG-Privkey in Nautobot/Nornir klären (aktuell lokale Injektion).
|
- **Offen:** ap1/ap2/crs326-Adoption + Compliance-Push (RouterOS-API); RouterOS-Nornir-Dispatcher falls nötig; Branch-Renumber `.13→.12` und AP-Mgmt-IP-Fix in Datenmodell beim Cutover; Secret-Handling für WG-Privkey in Nautobot/Nornir klären (aktuell lokale Injektion).
|
||||||
- Abh.: **TP20** (Postgres muss stehen), Gitea ✅, RouterOS-Router (ap1/ap2, dauerhaft).
|
- Abh.: **TP20** (Postgres muss stehen), Gitea ✅, RouterOS-Router (ap1/ap2, dauerhaft).
|
||||||
|
|
||||||
|
### TP21.1 — CRS326-Branch Recovery nach Lockout ▸ 🔴 OFFEN (2026-08-08)
|
||||||
|
- **Auslöser:** während TP21-Passwort-Umstellung ist `crs326-branch` (10.40.99.13 / geplant .99.2) management-unerreichbar geworden. Ping und MAC-Winbox-Connect (MNDP/Winbox Layer2) schlagen fehl. Der Switch leitet aber weiterhin Traffic weiter (NAS VLAN20 erreichbar).
|
||||||
|
- **Hypothese:** nach einem Reboot sind alle Ports wieder `disabled=yes` (bekanntes Muster aus dem Branch-Bring-up 2026-07-23 — Disable-Regex erfasste die gewünschten Ports nicht korrekt) **oder** die Management-IP/VLAN-Konfiguration wurde überschrieben.
|
||||||
|
- **Rettungspfad:** physischer Reset auf Werkseinstellungen (`192.168.88.1/24`) über Reset-Taster, dann Bring-up von Hand wiederholen. Dabei ist der Branch-Bring-up-Stand aus `docs/tp15-crs326-session-handoff-prompt.md`/`nautobot/ingest-crs326-ports.py` maßgeblich.
|
||||||
|
- **Kritikalität:** HOCH — am Branch hängen NAS, Sonos (Media), Drucker, Dock, Mac mini, ap2. Während des Recoveries kein VLAN20/30/40/50/90/99-Zugang über diesen Pfad.
|
||||||
|
- **Abhängigkeit:** User muss physisch am Gerät sein (Console/Winbox-MAC/Reset). TP21-Weiterarbeit an MikroTik-Geräten blockiert bis der Branch wieder management-erreichbar ist.
|
||||||
|
- **Nächster Schritt (Session-Neustart):** Reset → Grundkonfiguration Bridge+VLAN-Filtering+Uplink-Trunk → Mgmt-IP `.99.13` wiederherstellen → Portbelegung 1:1 aus TP15-Bring-up nachziehen → dann erst weiter mit TP21-Passwort-Rotation + AP-Reprovisionierung.
|
||||||
|
|
||||||
### TP-R — Router-Capabilities-Sweep ▸ FERTIG (`docs/research/routeros-capabilities.md`)
|
### TP-R — Router-Capabilities-Sweep ▸ FERTIG (`docs/research/routeros-capabilities.md`)
|
||||||
- **Leitsatz: nativ vor Container, NAS vor Router** (128MB-Flash-Limit).
|
- **Leitsatz: nativ vor Container, NAS vor Router** (128MB-Flash-Limit).
|
||||||
- **Sofort nativ (~0 RAM):** RoMON · Netwatch · Scheduler + Auto-Backup/Mail · SNMP→externes Monitoring · **mDNS-Repeater** · spectral-scan · **CAPsMAN + 802.11r/k/v (Fast-Roaming statt Mesh)** · Back-to-Home/WireGuard.
|
- **Sofort nativ (~0 RAM):** RoMON · Netwatch · Scheduler + Auto-Backup/Mail · SNMP→externes Monitoring · **mDNS-Repeater** · spectral-scan · **CAPsMAN + 802.11r/k/v (Fast-Roaming statt Mesh)** · Back-to-Home/WireGuard.
|
||||||
|
|||||||
@@ -1,40 +1,36 @@
|
|||||||
# MikroMCP Router-Registry — BF hAP ax²
|
# MikroMCP Router-Registry — BF Netzwerk (final IPs, TP21)
|
||||||
# Credentials NICHT hier, sondern via ENV (envPrefix -> ROUTER_<PREFIX>_USER/PASS in .env).
|
# Credentials NICHT hier, sondern via ENV (envPrefix -> ROUTER_<PREFIX>_USER/PASS in .env).
|
||||||
# APs sprechen REST über PLAIN HTTP auf Port 80 (verifiziert: curl ...:80/rest funktioniert).
|
# Alle Geräte sprechen REST über PLAIN HTTP auf Port 80.
|
||||||
# -> tls.enabled: false (rest-client.ts: scheme = tls.enabled ? https : http)
|
# -> tls.enabled: false (rest-client.ts: scheme = tls.enabled ? https : http)
|
||||||
# Sobald www-ssl auf den APs aktiv ist, auf port 443 + tls.enabled:true + fingerprint umstellen.
|
# Änderungen hier werden erst nach MikroMCP-Neustart wirksam.
|
||||||
|
|
||||||
routers:
|
routers:
|
||||||
ap1:
|
ap1:
|
||||||
host: "10.40.41.1"
|
host: "10.40.99.11"
|
||||||
port: 80
|
port: 80
|
||||||
tls:
|
tls:
|
||||||
enabled: false
|
enabled: false
|
||||||
rejectUnauthorized: true # Pflichtfeld lt. Schema; ohne Wirkung bei enabled:false
|
rejectUnauthorized: true
|
||||||
credentials:
|
credentials:
|
||||||
source: "env"
|
source: "env"
|
||||||
envPrefix: "ROUTER_AP1" # -> ROUTER_AP1_USER, ROUTER_AP1_PASS
|
envPrefix: "ROUTER_AP1"
|
||||||
tags: ["bf", "wifi", "capsman-manager", "future-router"]
|
tags: ["bf", "wifi", "access-point"]
|
||||||
rosVersion: "7.23"
|
rosVersion: "7.23"
|
||||||
|
|
||||||
ap2:
|
ap2:
|
||||||
host: "10.40.41.2"
|
host: "10.40.99.12"
|
||||||
port: 80
|
port: 80
|
||||||
tls:
|
tls:
|
||||||
enabled: false
|
enabled: false
|
||||||
rejectUnauthorized: true # Pflichtfeld lt. Schema; ohne Wirkung bei enabled:false
|
rejectUnauthorized: true
|
||||||
credentials:
|
credentials:
|
||||||
source: "env"
|
source: "env"
|
||||||
envPrefix: "ROUTER_AP2" # -> ROUTER_AP2_USER, ROUTER_AP2_PASS
|
envPrefix: "ROUTER_AP2"
|
||||||
tags: ["bf", "wifi", "cap"]
|
tags: ["bf", "wifi", "access-point"]
|
||||||
rosVersion: "7.23"
|
rosVersion: "7.23"
|
||||||
|
|
||||||
# --- TP15 CRS326-Bring-up (2026-07-23) ---
|
|
||||||
# Mgmt auf VLAN99. www=plain HTTP:80 (wie ap1/ap2) -> tls.enabled:false.
|
|
||||||
# ENV via ~/.secrets/exports.zsh: CRS326_CORE_USER/PASS, CRS326_BRANCH_USER/PASS.
|
|
||||||
# Wird erst nach MCP-Neustart (neue Session) live; diese Session Verify via direktem REST-curl.
|
|
||||||
crs326-core:
|
crs326-core:
|
||||||
host: "10.40.41.211" # TEMP cutover mgmt IP until VLAN99 trunk through sw1 is live
|
host: "10.40.99.1"
|
||||||
port: 80
|
port: 80
|
||||||
tls:
|
tls:
|
||||||
enabled: false
|
enabled: false
|
||||||
@@ -42,11 +38,11 @@ routers:
|
|||||||
credentials:
|
credentials:
|
||||||
source: "env"
|
source: "env"
|
||||||
envPrefix: "CRS326_CORE"
|
envPrefix: "CRS326_CORE"
|
||||||
tags: ["bf", "switch", "core", "future-l3-router"]
|
tags: ["bf", "switch", "core", "l3-router"]
|
||||||
rosVersion: "7.19.5"
|
rosVersion: "7.19.5"
|
||||||
|
|
||||||
crs326-branch:
|
crs326-branch:
|
||||||
host: "10.40.99.13"
|
host: "10.40.99.2"
|
||||||
port: 80
|
port: 80
|
||||||
tls:
|
tls:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
Reference in New Issue
Block a user