aufräumen: Inventar-Pipeline stillgelegt, Root-handoff ins docs/, README präzisiert

- inventory/*: build.py/XLSX-Pipeline seit 2025-06 stale, Inventar erneuert sich
  nicht seit Core-Cutover; MikroMCP/CF/Portainer liefern Live-Daten.
- handoff.md → docs/handoff-20260827-hubert-und-altlasten.md (Konventionsbruch
  aus der aktuellen Session korrigiert)
- README.md: komplettes Rewrite mit Master-Struktur-Tabelle (bf-infra aktiv,
  bf-network-r6 Archiv, bf-golden-config Bot), Übergangspfad, Status-Block
This commit is contained in:
2026-08-27 21:34:58 +02:00
parent 1d307721ad
commit 8d2b4a71e4
8 changed files with 212 additions and 728 deletions

View File

@@ -1,21 +1,52 @@
# bf-network-r6
# bf-infra
BF-Netzwerk-Migration (Variante R6+C2). 2× MikroTik hAP ax² + Core ALL-SG8316M.
BF-Netzwerk-Infrastruktur (Caddy, AGH, MikroTik-Konfig, Dokumentation, MCPs).
Aktiver Fork von `bf-network-r6` (Claude-Code-Architektur, 2025-2026), ab August 2026
unter OpenCode und anderem LLM weitergepflegt.
**SSOT & Übergabe:** [`HANDOVER.md`](HANDOVER.md) — kompletter Status, Architektur + Begründungen, Phasen, Gotchas, Zugänge.
## Master-Struktur
**Plan-Origin:** ~/.claude/plans/welche-kosteng-nstigen-alternativen-zu-memoized-sparkle.md
| Repo | Rolle | Stand |
|---|---|---|
| `~/dev/bf-infra/` (lokal) | Aktiver Master, Working-Copy | kein Gitea-Remote (Sicherheitslücke, offen) |
| `admin/bf-network-r6` (Gitea) | Archiv, historischer Master | read-only-Header, letzte aktive Commits 2026-08-25 |
| `admin/bf-golden-config` (Gitea) | Bot-Master (Nautobot 2×/Tag) | intended/ + backups/, nicht manuell |
| `admin/blaueblueten-n8n` (Gitea) | Master für terpene-Repo | aktiv, lokal synchron |
**Struktur:**
- `docs/vlan-plan.md` — VLAN-/Adressplan (final)
- `docs/core-switch-prep.md` — Core-Switch Status & Phasen
- `docs/firmware-flash-runbook.md` — FW-Flash Historie
- `switch/cli/CLI-REFERENCE.md` — bestätigte CLI-Syntax
- `switch/cli/*.cli` / `*.exp` — reproduzierbare Konfig-Scripts
- `inventory/bf.csv` / `bf.md` — IP-Doku (aus IPs.xlsx gespiegelt)
- `inventory/bf-core-ports.csv` / `.md` — Switch-Port-Map
## Was hier lebt
**Aktueller Stand (2026-06-09):**
- Phase A (VLAN-Vorbereitung) ✅ abgeschlossen
- Phase B (hAP-Cutover) ⏳ wartet auf MikroTik-Lieferung
- Phase C (Firewall) + Phase D (Adress-Migration) ausstehend
- `docs/teilprojekte.md` — kanonische Steuerung (Ist-Stand, offene TPs, kritischer Pffad)
- `docs/teilprojekte-archiv.md` — abgeschlossene TPs (Volltext)
- `docs/handoff-*.md` — Session-Übergaben
- `caddy/Caddyfile` — Reverse-Proxy BF (siehe TP34 für Migration zu Nautobot/GC)
- `nautobot/` — Skripte + Jinja-Template für Golden Config
- `mcp/` — MCP-Server-Inventar (SSoT gegen „1000 MCP-Leichen")
- `inventory/` — **entfernt 2026-08-27** (Pipeline seit 2025-06 stale; Live-Daten via MikroMCP/CF/Portainer)
## Status (2026-08-27)
- L3 + WAN-Edge = `crs326-core`, alle 4 MikroTik auf RouterOS 7.24 (TP27)
- Firewall deny-by-default seit 2026-08-18 (TP5)
- WLAN via CAPsMAN auf dem Core seit 2026-08-17 (TP28)
- Compliance 104/104 grün, 0 Drifts (Golden Config, TP22)
- AdGuard-Paar `agh-bf1`/`agh-bf2` aufgebaut, DHCP noch nicht umgestellt (TP23 Stufe 2 / TP31 Schritt 4)
- Caddyfile Reverse-Proxy seit 2026-08-25 (TP31), 16 Sites BF-intern
- terpene.teilzeitladen.xyz: Worker läuft auf Mac mini (10.40.20.167:8890), **kein Caddy-Block, kein CF-Tunnel** — Backfill via DB-Migration blockiert (Handoff 2026-08-27)
## Übergangspfad von bf-network-r6 → bf-infra
1. README + Strukturen aktualisiert (dieses File)
2. bf-network-r6 im Gitea auf read-only, Header mit Verweis (deine Aktion)
3. Inventar-Pipeline gelöscht (XLSX stale, MikroMCP/CF/Portainer liefern Live)
4. Caddyfile-Master wandert zu Nautobot/GC (TP34, siehe Handoff 2026-08-27)
5. bf-infra bekommt Gitea-Remote (offen, „später")
## Werkzeuge (Stand 2026-08-27)
- **MikroMCP** (RouterOS, 4 Geräte) — `~/.claude.json` + `opencode.jsonc`
- **pve-mcp** (Proxmox, 10.40.20.173) — `opencode.jsonc`
- **home-assistant** (HA, 10.40.20.105) — `opencode.jsonc`
- **cloudflare** (CF-API, OAuth) — `opencode.jsonc`
- **gitea-mcp** (FQDN) — `opencode.jsonc`
- **komodo-mcp** (geplant, Migration von Portainer) — `~/dev/bf-infra/mcp/komodo/`
- **shelly-mcp** (Client-lokal Interim, 127.0.0.1:3030) — vor Migration auf zentralen Container

View File

@@ -0,0 +1,165 @@
# Handoff — 2026-08-27 — TP11b Backfill & neue Infra-Topologie
> **Vorgänger:** TP11b-Plan (`~/dev/blaueblueten-n8n/docs/teilprojekte.md`, Block "Daten & Automatisierung"),
> TP31 (`docs/teilprojekte.md` im bf-infra) — diese Notiz ist **kein neues TP**, sondern eine
> Session-übergreifende Beobachtung zur geänderten Infrastruktur + Wunschliste für künftige
> AI-Sessions (Hubert / künftige Modelle).
## TL;DR
- **`db/006_backfill_kind.sql` ist geschrieben** (TP11b, idempotent) — wurde **nicht** ausgeführt.
Der Governor wurde in dieser Iteration **nicht** aktiviert; der Python-Sync-Service
(`tools/sync_service.py` im Container `terpene-sync` auf LXC 400) bleibt der produktive Crawler.
Der Governor-Blueprints-Fix (`n8n/{detail,price,governor}.json`) ist als Vorbereitung da.
- **Infra-Topologie hat sich heute stark geändert**: `10.40.41.x` → `10.40.20.x` (VLAN20 = INFRA),
Cloudflare-Tunnel-Modell → **Caddy als zentraler Reverse-Proxy auf LXC 130 / `10.40.20.40`**,
Mikrotik-Switches routen direkt, **kein `cloudflared`-Tunnel mehr nötig**.
- **`n8n.emsenhuber.net` ist jetzt öffentlich via Caddy** (CF-Anycast → Caddy → n8n-Backend).
n8n-API mit `~/.secrets/credentials.env → N8N_API_KEY` funktioniert von meinem Mac aus.
- **`terpene.teilzeitladen.xyz` ist im neuen Caddy-Setup noch NICHT registriert** — der
Worker läuft weiter über den alten Hyperdrive-VPC-Pfad. DB-Backfill via Worker ist nicht möglich.
## Beobachtungen — was heute (2026-08-27) geändert wurde
### 1. Netz-Topologie: VLAN-Schema umgestellt
- **`10.40.41.x` ist tot.** Das alte `41.x`-Subnetz (ehem. „Server"-VLAN) gibt es nicht mehr.
Aktuell gültig: `10.40.20.0/24` = INFRA (LXC-Hosts, Docker, HA, NAS), `10.40.99.0/24` = MGMT
(MikroTik-Switches/APs), `10.40.10.0/24` = MAIN (Trusted Clients).
- **`10.40.20.40` ist jetzt `caddy-bf1`** (LXC 130 auf pve) — der zentrale Reverse-Proxy.
Bestätigt via `curl -I -H "Host: n8n.emsenhuber.net" http://10.40.20.40/` → 308 → HTTPS,
und via Cloudflare-Anycast-IP `188.114.96.10` → HTTP 200 (`via: 1.1 Caddy`).
### 2. Public-Apps laufen jetzt über Caddy statt Cloudflare-Tunnel
- **Was im Caddyfile steht** (`bf-infra/caddy/Caddyfile`):
`vw.emsenhuber.net`, `hass.emsenhuber.net`, `n8n.emsenhuber.net`, `gitea.emsenhuber.net`.
- **Was fehlt:** `terpene.teilzeitladen.xyz` (TP31 Schritt 5–6 ist noch offen).
- **Cloudflare-Tunnel `bf-public`** ist im CF-Backend angelegt (ID `48d3b0b6-…`, heute
05:32 UTC), **status: inactive** — kein Connector läuft. Die Connector-Config ist im
Repo bereits vorbereitet: `bf-infra/routeros/cloudflared-bf-public-config.yml` +
`bf-infra/routeros/cloudflared/{ap-bootstrap.rsc,credentials.json}`. Der Connector ist als
**RouterOS-Container auf ap1 + ap2** geplant (arm64, Mikrotik hAP ax²), Bootstrap-Skript
liegt vor. **Wichtig:** Der Tunnel ist **NICHT obsolet** — er ist Teil von TP31
Schritt 5/6 (Catch-all-Tunnel für die Subdomains, die nicht ins Caddyfile gehören).
Token in `~/.secrets/credentials.env` (`BF_PUBLIC_TUNNEL_TOKEN`).
### 3. DNS-Auflösung aus dem LAN
- **`terpene.teilzeitladen.xyz`** ist weder über Public-DNS (`@1.1.1.1`) noch über den
lokalen Resolver (`@10.40.20.36` = AGH `agh-bf1`) auflösbar — beide geben NXDOMAIN.
Der Worker bleibt nur via Hyperdrive-VPC erreichbar (nicht aus dem LAN).
- **`n8n.emsenhuber.net`** löst sauber via Public-DNS auf `188.114.96.10/.97.10` (CF-Anycast) auf
und antwortet mit dem Caddy-Backend. Aus dem LAN funktioniert es also **out-of-the-box** über
den CF-Edge-Pfad, ohne dass AdGuard-Rewrites nötig wären.
## DB-Backfill — was schief lief und warum
Der Backfill-SQL ist trivial, aber **aus meinem Mac (LAN-IP `10.40.10.82`) nicht ausführbar**, weil:
- **`pg_hba.conf` auf `10.40.20.20` (platform-pg) erlaubt nur `10.95.10.0/24`** (WireGuard-VPN).
Nicht `10.40.10.0/24`. Auch `terpene_ro` ist nicht freigeschaltet — der `terpene-pg`-MCP ist
zwar konfiguriert, scheitert aber am `pg_hba.conf`-Eintrag.
- **WireGuard-Interface** auf meinem Mac nicht aktiv (kein `wg0`, keine `utun`-Adressen in
`10.95.10.x`). Die RouterOS-Configs für WG-Hub sind da (`bf-network-r6/routeros/.secrets/wg-*.conf`),
aber kein Client-Config für den Mac.
- **Worker-Endpoint `admin/migrate`** wäre der richtige Pfad, aber `terpene.teilzeitladen.xyz`
ist im neuen Caddy nicht registriert → kein HTTP-Zugriff aus dem LAN.
- **n8n-Credential-Push** (`terpene_rw` als Postgres-Cred in n8n anlegen) wäre eine Alternative,
aber **du hast den gestoppt** („wg. mcp abwarten") — kein Schreibzugriff auf Produktivsysteme
ohne explizite Freigabe.
**Was bleibt übrig:** entweder WireGuard-Client auf dem Mac aktivieren + `pg_hba.conf`
um `10.40.10.82` erweitern (deine Aktion), **oder** den Worker in Caddy registrieren
(TP31 Schritt 5) und dann via `admin/migrate` arbeiten. **Beides ist deine Aktion, nicht
meine** — ich darf nicht eigenmächtig schreiben.
## Wunschliste — was künftige Sessions (Hubert / Nachfolger) brauchen
Das ist **meine** Perspektive auf das, was ich für produktives Arbeiten brauche. Die
**Umsetzung ist deine** (Infra-Antwort), nicht meine.
### A. Direkter DB-Zugriff aus dem LAN (für Ad-hoc-SQL)
- **Was ich brauche:** ein LAN-fähiges Postgres-Frontend — entweder
- `pg_hba.conf` um `10.40.10.0/24` (oder wenigstens `10.40.10.82`) erweitern (Trust/SSL),
- **oder** ein WireGuard-Client-Setup auf dem Mac, das in `10.95.10.0/24` routet.
- **Was ich damit anfange:** Counts ziehen, Backfill-SQL ausführen, Schema-Diffs ansehen,
EXPLAIN-Tests. Alles read-only oder mit expliziter User-Freigabe.
- **Priorität:** mittel — die meiste Arbeit geht über den Worker-Endpoint; nur fürs Backfillen
oder Schema-Debugging wäre es nützlich.
### B. Caddy-API oder Caddy-MCP (für Hot-Reload / Site-Registrierung)
- **Was ich brauche:** eine API, mit der ich **ohne SSH auf den LXC 130** einen
`Host`-Block ins Caddyfile patchen kann, sodass `terpene.teilzeitladen.xyz` aus dem LAN
erreichbar wird.
- **Heute:** `caddy-bf1` hat eine **Admin-API auf `:2019`** (`http://10.40.20.40:2019/config/`)
und die Files liegen in `/etc/caddy/Caddyfile`. **Was fehlt:** ein Auth-Layer
(heute localhost-only) und ein Workflow, der JSON-Config reinpatcht + `caddy reload` triggert.
- **Priorität:** mittel-hoch — sobald die Caddy-API von außen erreichbar + authed ist,
kann ich `terpene.teilzeitladen.xyz` (oder andere Sites) registrieren, ohne dich zu fragen.
### C. `terpene.teilzeitladen.xyz` in Caddy registrieren (TP31 Schritt 5/6)
- **Was das löst:** Worker-Backend ist aus dem LAN erreichbar; `admin/migrate` wird callbar;
Backfill-SQL kann ich via Service-Token `terpene-verify-v2` ausführen.
- **Was du dafür brauchst:** ein zusätzlicher `Host terpene.teilzeitladen.xyz`-Block in
`bf-infra/caddy/Caddyfile`, der nach `terpene-worker` (`10.40.20.X`) reverse-proxyt.
Worker-Backend-IP = ? (steht in `worker/wrangler.toml` und war mal `10.40.20.167` =
Mac mini — der ist seit der Mac-mini-Abschaltung möglicherweise weg). **Klären, was heute
das Backend ist.**
### D. Hermes SOUL.md als Inspiration (nicht zum Kopieren)
- Die `~/.hermes/SOUL.md` enthält gute Direktiven (targeted, efficient, direct,
admit uncertainty). Mein Verhalten in dieser Session war dadurch geleitet, dass ich
bei Unsicherheit (Credential-Push) gefragt habe statt geraten habe. Das ist gut.
- **Hermes ist nicht mein Maßstab** — ich bin Hubert / minimax-m3 / opencode-Session,
nicht Nous Hermes. Aber das Pattern **„lieber einmal fragen als dreimal raten"** sollte
für künftige Sessions explizit festgehalten werden. Vorschlag: ein **CLAUDE.md-Eintrag**
in `~/dev/bf-infra/` mit der Direktive „bei Aktionen mit Produktivsystem-Auswirkungen
(Credential-Create, Live-Deploy, DB-Write): erst fragen".
## Lessons Learned — was ich (Hubert) beim nächsten Mal anders machen würde
1. **Früher DNS testen.** Ich hätte in Iterationsminute 1 prüfen sollen, ob
`terpene.teilzeitladen.xyz` aus dem LAN auflösbar ist. Statt dessen habe ich den
`pg_hba`-Fehler über mehrere Schritte debuggt. Direkter Caddy-Bypass-Test wäre schneller
gewesen.
2. **Caddy als Erstes prüfen.** Da `caddy-bf1` der neue zentrale Reverse-Proxy ist und
`10.40.20.40` ARP-erreichbar war, hätte ich dort anfangen sollen statt bei Postgres. Ein
`curl http://10.40.20.40:2019/config/` (Admin-API, heute localhost-only) hätte mir
sofort die Site-Liste gezeigt.
3. **Mikrotik-MCP ist Gold wert für LAN-Topologie.** ARP-Tabelle auf `crs326-core` +
`vlan20` zeigt mir in einem Call, welche Hosts im Server-VLAN leben — schneller als
`host`-Lookups oder `nmap`. Sollte erste Anlaufstelle sein, wenn „wer ist wo im LAN"
gefragt ist.
4. **`BF_PUBLIC_TUNNEL_TOKEN` ist Teil von TP31 Schritt 5/6**, nicht obsolet. Der
Connector-Container auf den Mikrotik-APs ist die Strategie für die Subdomains, die
nicht direkt ins Caddyfile gehören. `bf-public` ist also „im Setup", nicht „tot".
Was aber stimmt: für die 4 Subdomains `vw/hass/n8n/gitea.emsenhuber.net` ist der
Tunnel obsolet — die laufen bereits über Caddy. Wenn der Connector deployed wird,
bekommt er nur die „Catch-all"-Route.
## Offene Punkte für deine nächste Session (nicht für mich)
- **WireGuard-Client auf Mac** aktivieren? Wenn ja: Config aus `bf-network-r6/routeros/.secrets/`
oder neu generieren?
- **`terpene.teilzeitladen.xyz` in Caddy registrieren?** Falls ja: welcher Backend-Host/IP?
(Worker ist seit Mac-mini-Wegfall vermutlich auf pve/LXC migriert.)
- **`bf-public` Cloudflare-Tunnel** — Connector-Container auf ap1+ap2 deployen?
`routeros/cloudflared/ap-bootstrap.rsc` ist die Vorlage. Nach Deployment:
Ingress so anpassen, dass die 4 Caddy-Subdomains (`vw/hass/n8n/gitea.emsenhuber.net`)
vom Tunnel-Catchall **ausgeschlossen** werden — sonst gibts Konflikte (Caddy und
Tunnel beanspruchen dieselben Hostnames).
- **`pg_hba.conf`** um LAN-IP erweitern? Vertrauensstufe (md5/scert/trust)?
## Cross-References
- `~/dev/blaueblueten-n8n/docs/teilprojekte.md` → TP11b (Backfill-SQL, Doku)
- `~/dev/blaueblueten-n8n/db/006_backfill_kind.sql` (neu, idempotent)
- `~/dev/bf-infra/docs/teilprojekte.md` → TP31 (Caddy-Setup, Schritt 5–6 offen)
- `~/dev/bf-infra/caddy/Caddyfile` (Caddyfile SSoT)
- `~/.secrets/credentials.env` (alle Credentials, inkl. `BF_PUBLIC_TUNNEL_TOKEN`,
`N8N_API_KEY`, `TERPENE_RW_PASSWORD`, `CF_DNS_API_TOKEN`, `CF_API_TOKEN`)
---
**Stand:** 2026-08-27, ~16:00 lokal · **Hubert** (opencode/minimax-m3, Session) · **Christoph**
(Session-Owner). Kein Commit im terpene-Repo (TP11b-Standby). Keine Schreibaktion auf
Produktivsysteme in dieser Session (pg_hba, Caddyfile, n8n-Credentials).

Binary file not shown.

View File

@@ -1,7 +0,0 @@
port,ist,downstream,behalten,soll,notiz
1,ap1 (hAP ax² #1) Trunk-Uplink,10.40.41.1,ja,Trunk zu ap1,"TRUNK gesetzt 2026-06-09: native vlan1 + tagged 10,20,30,40,90,99,100. Provisorisch. Vorher: Sonos Sub (verdrängt -> SonosNet/WLAN)"
2,ap2 (hAP ax² #2) Trunk-Uplink,10.40.41.2,ja,Trunk zu ap2,"TRUNK gesetzt 2026-06-09: native vlan1 + tagged 10,20,30,40,90,99,100. Provisorisch. Vorher: ap1"
4,Uplink Wohnzimmer-Switch (smart managed),,bis neue Switches produktiv,neues Gerät,interim — wird ersetzt
8,Uplink Arbeitszimmer-Switch (smart managed),10.40.41.10; 10.40.41.167; 10.40.41.247,bis neue Switches produktiv,neues Gerät,interim — wird ersetzt
15,pve,,ja,beibehalten,
16,Fritzbox (WAN/Gateway),10.40.41.246 (FB LAN4),ja,beibehalten,FB bleibt Modem+Telefon
1 port ist downstream behalten soll notiz
2 1 ap1 (hAP ax² #1) Trunk-Uplink 10.40.41.1 ja Trunk zu ap1 TRUNK gesetzt 2026-06-09: native vlan1 + tagged 10,20,30,40,90,99,100. Provisorisch. Vorher: Sonos Sub (verdrängt -> SonosNet/WLAN)
3 2 ap2 (hAP ax² #2) Trunk-Uplink 10.40.41.2 ja Trunk zu ap2 TRUNK gesetzt 2026-06-09: native vlan1 + tagged 10,20,30,40,90,99,100. Provisorisch. Vorher: ap1
4 4 Uplink Wohnzimmer-Switch (smart managed) bis neue Switches produktiv neues Gerät interim — wird ersetzt
5 8 Uplink Arbeitszimmer-Switch (smart managed) 10.40.41.10; 10.40.41.167; 10.40.41.247 bis neue Switches produktiv neues Gerät interim — wird ersetzt
6 15 pve ja beibehalten
7 16 Fritzbox (WAN/Gateway) 10.40.41.246 (FB LAN4) ja beibehalten FB bleibt Modem+Telefon

View File

@@ -1,14 +0,0 @@
# Core-Switch ALL-SG8316M (sw1, 10.40.41.239) — Port-Map
> Ist-Belegung. Ports 4/8/15/16 **behalten** (4+8 interim bis neue Switches produktiv).
> **gi1/gi2 = Trunks zu ap1/ap2** (gesetzt 2026-06-09, provisorische Belegung).
> Übrige Ports (3, 5–7, 9–14): noch nicht erfasst — gemeinsam ergänzen.
| port | ist | downstream | behalten | soll | notiz |
|---|---|---|---|---|---|
| 1 | **ap1 (hAP ax² #1) Trunk-Uplink** | 10.40.41.1 | ja | Trunk zu ap1 | **TRUNK 2026-06-09**: native vlan1 + tagged 10,20,30,40,90,99,100. Provisorisch. Vorher: Sonos Sub (verdrängt → SonosNet/WLAN) |
| 2 | **ap2 (hAP ax² #2) Trunk-Uplink** | 10.40.41.2 | ja | Trunk zu ap2 | **TRUNK 2026-06-09**: native vlan1 + tagged 10,20,30,40,90,99,100. Provisorisch. Vorher: ap1 |
| 4 | Uplink Wohnzimmer-Switch (smart managed) | | bis neue Switches produktiv | neues Gerät | interim — wird ersetzt |
| 8 | Uplink Arbeitszimmer-Switch (smart managed) | 10.40.41.10; 10.40.41.167; 10.40.41.247 | bis neue Switches produktiv | neues Gerät | interim — wird ersetzt |
| 15 | pve | | ja | beibehalten | |
| 16 | Fritzbox (WAN/Gateway) | 10.40.41.246 (FB LAN4) | ja | beibehalten | FB bleibt Modem+Telefon |

View File

@@ -1,254 +0,0 @@
section,ip,hostname,mac,pve_ct,server_ip,server_mac,note
VPN,10.40.41.1,VPNchristoph,,,,,Fallback bis CF One überall läuft; IP umziehbar/unwichtig
VPN,10.40.41.3,,,,,,
"srv, infra",10.40.41.4,MFC,30:5:5c:78:86:20,,,,
"srv, infra",10.40.41.5,P750W,4C:EB:BD:E3:25:F2,,,,Brother PT-P750W Printer
"srv, infra",10.40.41.6,iHost,D0:27:03:C8:CB:36,,,,
"srv, infra",10.40.41.7,odroid-m1,00:1E:06:51:31:C9,,,,
"srv, infra",10.40.41.8,DTUBI-414392337823,54:F2:9F:12:51:F0,,,,
"srv, infra",10.40.41.9,,,,,,
"srv, infra",10.40.41.10,nas-bf,90:9:d0:58:20:f9,,,,
"srv, infra",10.40.41.11,tv,70:AF:24:B8:C9:86,,,,
"srv, infra",10.40.41.12,virtualdsm,,,,,
"srv, infra",10.40.41.13,sysrecue,,,,,
"srv, infra",10.40.41.14,AppleTV,,,,,
"srv, infra",10.40.41.15,,,,,,docker:synology
docker,10.40.41.16,pve:docker:adguard_bf1,BC:24:11:10:3A:98,130,,,dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923)
docker,10.40.41.17,pve:docker:adguard_fm1,,,,,dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923)
docker,10.40.41.18,pve:docker:adguard_dw1,,,,,dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923)
docker,10.40.41.19,docker:iob_exposed,BC:24:11:E4:DC:AB,150,172.16.0.150,BC:24:11:3A:62:43,
docker,10.40.41.20,docker-fm:nginx-proxy-manager,,,,,
docker,10.40.41.21,docker:ldapsyno,,,,,
docker,10.40.41.22,docker:ccu,,,,,
docker,10.40.41.23,docker:pihole_dw1,02:42:0A:28:29:17,,,,
docker,10.40.41.24,docker:,,,,,
docker,10.40.41.25,docker:,,,,,
docker,10.40.41.26,docker:,,,,,
docker,10.40.41.27,docker:,,,,,
docker,10.40.41.28,docker:,,,,,
docker,10.40.41.29,docker:,,,,,
docker,10.40.41.30,docker:cloudflared,,,,,
docker,10.40.41.31,docker:,,,,,
docker,10.40.41.32,res docker2bf,,,,,
docker,10.40.41.33,docker_ds923+:iob_slave,,,,,
docker,10.40.41.34,res docker2bf,,,,,
docker,10.40.41.35,res docker2bf,,,,,
docker,10.40.41.36,res docker2bf,,,,,
docker,10.40.41.37,res docker2bf,,,,,
docker,10.40.41.38,res docker2bf,,,,,
docker,10.40.41.39,res docker2bf,,,,,
docker,10.40.41.40,res docker2bf,,,,,
docker,10.40.41.41,res docker2bf,,,,,
docker,10.40.41.42,res docker2bf,,,,,
docker,10.40.41.43,res docker2bf,,,,,
docker,10.40.41.44,res docker2bf,,,,,
docker,10.40.41.45,res docker2bf,,,,,
docker,10.40.41.46,res docker2bf,,,,,
docker,10.40.41.47,res docker2bf,,,,,
DHCP (reservations),10.40.41.48,ds415+,00:11:32:4F:E2:12,,,,
DHCP (reservations),10.40.41.49,ds415play,00:11:32:4C:72:7E,,,,
DHCP (reservations),10.40.41.50,win11enterprise,02:11:32:2f:1f:cc,,,,
DHCP (reservations),10.40.41.51,ds207,00:11:32:04:57:66,,,,
DHCP (reservations),10.40.41.52,,,,,,
DHCP (reservations),10.40.41.53,,,,,,
DHCP (reservations),10.40.41.54,vuplus,,,,,
DHCP (reservations),10.40.41.55,AppleTV,,,,,
DHCP (reservations),10.40.41.56,,,,,,
DHCP (reservations),10.40.41.57,,,,,,
DHCP (reservations),10.40.41.58,,,,,,
DHCP (reservations),10.40.41.59,MobilMarven,,,,,
DHCP (reservations),10.40.41.60,MobilGeli,8c:b8:4a:56:d0:0b,,,,Note10+
DHCP (reservations),10.40.41.61,MobilChristoph,08:C7:B5:91:BA:61,,,,"S22 / dhcp-host=08:C7:B5:91:BA:61,10.40.41.33,MobilChristoph"
DHCP (reservations),10.40.41.62,MobilChristophAlt,7C:D6:61:B7:93:99,,,,"dhcp-host=7C:D6:61:B7:93:99,10.40.41.31,MobilChristophAlt"
DHCP (reservations),10.40.41.63,MobilSara,4A:11:58:B5:15:E1,,,,"A34 / dhcp-host=4A:11:58:B5:15:E1,10.40.41.26,MobilSara"
DHCP (reservations),10.40.41.64,MobilTanja,44:16:FA:CE:27:D3,,,,"dhcp-host=44:16:FA:CE:27:D3,10.40.41.30,MobilTanja"
DHCP (reservations),10.40.41.65,MobilChristophA35,B0:54:76:46:BC:1C,,,,A35
DHCP (reservations),10.40.41.66,MobilOma,DE:44:85:63:51:4A,,,,"dhcp-host=DE:44:85:63:51:4A,10.40.41.29,MobilOma"
DHCP (reservations),10.40.41.67,MobilOpa,02:8C:4F:B8:FC:8E,,,,"dhcp-host=02:8C:4F:B8:FC:8E,10.40.41.28,MobilOpa"
DHCP (reservations),10.40.41.68,,,,,,
DHCP (reservations),10.40.41.69,iPadChristoph,34:2B:6E:6F:1F:EF,,,,
DHCP (reservations),10.40.41.70,,,,,,
DHCP (reservations),10.40.41.71,wwan,3C:B2:33:ED:FC:03,,,,
DHCP (reservations),10.40.41.72,,,,,,
DHCP (reservations),10.40.41.73,Forerunner965,38:F9:F5:8F:CC:69,,,,
DHCP (reservations),10.40.41.74,iHostWIFI,,,,,
DHCP (reservations),10.40.41.75,KindleVoyage,00:BB:3A:2C:0E:E6,,,,"dhcp-host=00:BB:3A:2C:0E:E6,10.40.41.39,KindleVoyage"
DHCP (reservations),10.40.41.76,SmartwatchChristoph935,14:8F:21:E7:45:2C,,,,"dhcp-host=14:8F:21:E7:45:2C,10.40.41.40,SmartwatchChristoph935"
DHCP (reservations),10.40.41.77,SmartwatchChristoph945,B4:C2:6A:57:0B:BB,,,,"dhcp-host=B4:C2:6A:57:0B:BB,10.40.41.41,SmartwatchChristoph945"
DHCP (reservations),10.40.41.78,Garmin Edge 820,14:8F:21:CB:BC:EA,,,,"dhcp-host=14:8F:21:CB:BC:EA,10.40.41.217,GarminEdge820"
DHCP (reservations),10.40.41.79,ubuntu-desktop,02:11:32:2c:3c:b1,,,,
DHCP (reservations),10.40.41.80,,,,,,
DHCP (reservations),10.40.41.81,MacBook LAN,B8:B4:09:1A:EC:AB,,,,"dhcp-host=B8:B4:09:1A:EC:AB,10.40.41.23,MacBookLAN"
DHCP (reservations),10.40.41.82,MacBook WLAN,3c:a6:f6:02:3e:83,,,,"dhcp-host=3c:a6:f6:02:3e:83,10.40.41.24,MacBookWLAN"
DHCP (reservations),10.40.41.83,KindleTanja,a0:02:dc:5d:5d:d2,,,,
DHCP (reservations),10.40.41.84,,,,,,
DHCP (reservations),10.40.41.85,iPadTanja,EC:73:79:C0:66:E7,,,,"dhcp-host=EC:73:79:C0:66:E7,10.40.41.35,iPadTanja"
DHCP (reservations),10.40.41.86,TvSara (zauberkatze),CC:4B:73:75:7C:4A,,,,"dhcp-host=CC:4B:73:75:7C:4A,10.40.41.43,TvSara(zauberkatze)"
DHCP (reservations),10.40.41.87,NotebookSara_alt (galadriel),00:E1:8C:9B:27:BA,,,,
DHCP (reservations),10.40.41.88,NotebookSara (celeborn),,,,,
DHCP (reservations),10.40.41.89,NotebookOpa (pluto),08:71:90:EA:0A:56,,,,"dhcp-host=08:71:90:EA:0A:56,10.40.41.44,NotebookOpa(pluto)"
DHCP (reservations),10.40.41.90,,,,,,
DHCP (reservations),10.40.41.91,,,,,,
DHCP (reservations),10.40.41.92,NintendoSwitchLAN,00:23:55:0C:86:59,,,,
DHCP (reservations),10.40.41.93,NintendoSwitchWLAN,94:58:CB:B1:63:BC,,,,
DHCP (reservations),10.40.41.94,EOS6Rm2,A0:CD:F3:93:FF:E4,,,,
DHCP (reservations),10.40.41.95,,,,,,
DHCP (reservations),10.40.41.96,,,,,,
DHCP (reservations),10.40.41.97,,,,,,
DHCP (reservations),10.40.41.98,,,,,,
DHCP (reservations),10.40.41.99,,,,,,
DHCP (reservations),10.40.41.100,pve,00:D0:B4:04:19:24,,,,
DHCP (reservations),10.40.41.101,ubuntu-server,02:11:32:24:3D:EC,,,,
DHCP (reservations),10.40.41.102,ubuntu-desktop,02:11:32:2b:b6:08,,,,
DHCP (reservations),10.40.41.103,airfryer,E4:BC:96:1F:B2:81,,,,
DHCP (reservations),10.40.41.104,,,,,,
DHCP (reservations),10.40.41.105,pve:homeassistant,BC:24:11:11:A9:B3,100,172.16.0.18,BC:24:11:1E:12:19,
DHCP (reservations),10.40.41.106,z2m25,BC:24:11:A2:B5:0F,112,172.16.0.12,BC:24:11:F3:42:01,
DHCP (reservations),10.40.41.107,iob_master,BC:24:11:4D:26:96,101,172.16.0.19,BC:24:11:B4:3E:41,172.24.0.19 / BC:24:11:6F:9A:86
DHCP (reservations),10.40.41.108,mqtt5,BC:24:11:B0:46:53,102,172.16.0.10,BC:24:11:53:DA:7D,
DHCP (reservations),10.40.41.109,grafana,BC:24:11:8A:4D:F1,104,172.16.0.9,BC:24:11:D9:A4:AC,
DHCP (reservations),10.40.41.110,SONOFF-NSPanelPro,7C:88:99:06:07:EC,,,,
DHCP (reservations),10.40.41.111,redis,BC:24:11:41:CA:A1,107,172.16.0.7,BC:24:11:5F:6B:EE,172.24.0.7 / BC:24:11:C0:35:39
DHCP (reservations),10.40.41.112,,,,,,
DHCP (reservations),10.40.41.113,pve:influxdb2,BC:24:11:9A:F2:5E,106,172.16.0.8,,
DHCP (reservations),10.40.41.114,minarca,BC:24:11:3C:E2:3E,103,,,
DHCP (reservations),10.40.41.115,,,,,,
DHCP (reservations),10.40.41.116,adguard-bf1,BC:24:11:B3:FC:52,120,,,
DHCP (reservations),10.40.41.117,adguard-bf2,BC:24:11:69:61:69,121,,,
DHCP (reservations),10.40.41.118,caddy,BC:24:11:3D:5A:5A,129,172.16.0.118,BC:24:11:A7:C9:6F,
DHCP (reservations),10.40.41.119,node-red,BC:24:11:0D:0C:FE,109,,,
DHCP (reservations),10.40.41.120,openproject,BC:24:11:94:83:5C,201,,,
DHCP (reservations),10.40.41.121,vaultwarden,BC:24:11:5A:DC:A0,301,172.18.0.127,BC:24:11:17:CA:26,
DHCP (reservations),10.40.41.122,mariadb,BC:24:11:52:78:0D,302,172.16.0.23,BC:24:11:B4:09:E4,
DHCP (reservations),10.40.41.123,nginx,BC:24:11:CC:13:0B,128,,BC:24:11:7D:DD:F1,
DHCP (reservations),10.40.41.124,pve:docker:hms-mqtt,,,,,
DHCP (reservations),10.40.41.125,docker_ds923+:openspeedtest,,,,,
DHCP (reservations),10.40.41.126,pve:docker,BC:24:11:C2:72:A2,400,172.16.0.126,BC:24:11:62:69:D7,
DHCP (reservations),10.40.41.127,docker:vaultwarden,,,172.16.0.127,,
DHCP (reservations),10.40.41.128,pve:docker:portainer,,,172.18.0.2,,
DHCP (reservations),10.40.41.129,pve:ollama,BC:24:11:2C:B8:0F,170,172.16.0.129,BC:24:11:E7:42:55,
DHCP (reservations),10.40.41.130,docker_ds923+:openclaw,,,172.18.0.130,,
DHCP (reservations),10.40.41.131,pihole2,BC:24:11:5B:FF:8A,131,172.16.0.131,BC:24:11:4F:9F:81,
DHCP (reservations),10.40.41.132,docker_ds923+:openclaw_cloudflared,,,,,
DHCP (reservations),10.40.41.133,ds923+:coolify,,,,,
DHCP (reservations),10.40.41.134,,,,,,
DHCP (reservations),10.40.41.135,synodocker:pbs,02:11:32:2e:15:25,,172.16.0.135,02:11:32:21:b6:4a,
DHCP (reservations),10.40.41.136,,,,,,
DHCP (reservations),10.40.41.137,Dongle-M-10E8,94:54:C5:28:10:EB,,,,
DHCP (reservations),10.40.41.138,Dongle-M-10E8_wifi,94:54:C5:28:10:E8,,,,
DHCP (reservations),10.40.41.139,drawio,,,,,
DHCP (reservations),10.40.41.140,,,,,,
DHCP (reservations),10.40.41.141,wmbusmeters,BC:24:11:25:1E:DE,,,,
DHCP (reservations),10.40.41.142,,,,,,
DHCP (reservations),10.40.41.143,openclawnginx2_dummy,,,,,
DHCP (reservations),10.40.41.144,openclaw2,,,,,
DHCP (reservations),10.40.41.145,pve:docker:cloudflared,,,,,
DHCP (reservations),10.40.41.146,ollama,,,,,
DHCP (reservations),10.40.41.147,n8n,,,,,johnny claw
DHCP (reservations),10.40.41.148,docker_ds923+:nginx,,,,,johnny claw
DHCP (reservations),10.40.41.149,gitea,,,,,
DHCP (reservations),10.40.41.150,Ender3V3KE-3226,FC:EE:11:03:32:26,,,,
DHCP (reservations),10.40.41.151,prometheus,,,,,
DHCP (reservations),10.40.41.152,mcp,,,,,
DHCP (reservations),10.40.41.153,alertmanager,,,,,
DHCP (reservations),10.40.41.154,node-exporter,,,,,
DHCP (reservations),10.40.41.155,,,,,,
DHCP (reservations),10.40.41.156,,,,,,
DHCP (reservations),10.40.41.157,,,,,,
DHCP (reservations),10.40.41.158,,,,,,
DHCP (reservations),10.40.41.159,openclaw-oc-qdrant-central,,,,,
DHCP (reservations),10.40.41.160,openclaw,,,,,
DHCP (reservations),10.40.41.161,openclaw-johnny2,,,,,
DHCP (reservations),10.40.41.162,openclaw-tzcharlie,,,,,
DHCP (reservations),10.40.41.163,,,,,,
DHCP (reservations),10.40.41.164,oc-jonny2-redis,,,172.18.0.164,,
DHCP (reservations),10.40.41.165,oc-charlie-redis,,,172.18.0.165,,
DHCP (reservations),10.40.41.166,,,,,,
DHCP (reservations),10.40.41.167,macmini-LAN,d0:11:e5:b9:a7:48,,,,
DHCP (reservations),10.40.41.168,macmini-WLAN,d0:11:e5:c9:08:0a,,,,
DHCP (reservations),10.40.41.169,macmini-cloudflared,,,,,
DHCP (reservations),10.40.41.170,ms365-mcp,,,,,
DHCP (reservations),10.40.41.171,hostinger-mcp,,,,,
DHCP (reservations),10.40.41.172,woocommerce-mcp,,,,,
DHCP (reservations),10.40.41.173,billbee-mcp,,,,,
DHCP (reservations),10.40.41.174,sevdesk-mcp,,,,,
DHCP (reservations),10.40.41.175,wordpress-mcp,,,,,
DHCP (reservations),10.40.41.176,,,,,,
DHCP (reservations),10.40.41.177,,,,,,
DHCP (reservations),10.40.41.178,,,,,,
DHCP (reservations),10.40.41.179,,,,,,
DHCP (reservations),10.40.41.180,,,,,,
DHCP (reservations),10.40.41.181,,,,,,
DHCP (reservations),10.40.41.182,,,,,,
DHCP (reservations),10.40.41.183,,,,,,
DHCP (reservations),10.40.41.184,,,,,,
DHCP (reservations),10.40.41.185,,,,,,
DHCP (reservations),10.40.41.186,,,,,,
DHCP (reservations),10.40.41.187,,,,,,
DHCP (reservations),10.40.41.188,,,,,,
DHCP (reservations),10.40.41.189,,,,,,
DHCP (reservations),10.40.41.190,,,,,,
Sonos,10.40.41.191,SonosArbeitszimmer1,34:7e:5c:32:37:96,,,,"dhcp-host=34:7e:5c:32:37:96,10.40.41.191,SonosArbeitszimmer1"
Sonos,10.40.41.192,SonosArbeitszimmer2,34:7e:5c:32:33:b8,,,,"dhcp-host=34:7e:5c:32:33:b8,10.40.41.192,SonosArbeitszimmer2"
Sonos,10.40.41.193,SonosSchlafzimmer1,78:28:ca:80:2a:f6,,,,"dhcp-host=78:28:ca:80:2a:f6,10.40.41.193,SonosSchlafzimmer1"
Sonos,10.40.41.194,SonosSchlafzimmer2,48:a6:b8:14:fe:d0,,,,"dhcp-host=48:a6:b8:14:fe:d0,10.40.41.194,SonosSchlafzimmer2"
Sonos,10.40.41.195,SonosBad,48:A6:B8:14:FE:D0,,,,"dhcp-host=48:A6:B8:14:FE:D0,10.40.41.195,SonosBad"
Sonos,10.40.41.196,SonosKinderzimmer,48:A6:B8:16:38:AE,,,,"dhcp-host=48:A6:B8:16:38:AE,10.40.41.196,SonosKinderzimmer"
Sonos,10.40.41.197,SonosKueche,48:A6:B8:14:FE:F2,,,,"dhcp-host=48:A6:B8:14:FE:F2,10.40.41.197,SonosKueche"
Sonos,10.40.41.198,SonosTerrasse,48:a6:b8:16:38:ae,,,,"dhcp-host=48:a6:b8:16:38:ae,10.40.41.198,SonosTerrasse"
Sonos,10.40.41.199,SonosWohnzimmer1,48:A6:B8:0B:63:10,,,,"48:A6:B8:01:13:EE / dhcp-host=48:A6:B8:0B:63:10,10.40.41.199,SonosWohnzimmer1"
Sonos,10.40.41.200,SonosWohnzimmer2,48:a6:b8:14:fe:f2,,,,"dhcp-host=48:a6:b8:14:fe:f2,10.40.41.200,SonosWohnzimmer2"
Sonos,10.40.41.201,SonosWohnzimmer3,78:28:ca:d2:0d:ac,,,,"dhcp-host=78:28:ca:d2:0d:ac,10.40.41.201,SonosWohnzimmer3"
IOT,10.40.30.202,shelly: s22,a0:85:e3:c8:65:34,,,,kueche_steckdose3-2
IOT,10.40.30.203,shelly: s23,ac:15:18:7b:62:20,,,,dieleug-wohnzimmer_licht
IOT,10.40.30.204,shelly: s24,14:33:5c:d8:2d:7c,,,,bad_spiegelschrank (Shelly Plus RGBW PM
IOT,10.40.30.205,shelly: s25,98:a3:16:79:38:50,,,,bad_lichtschalter
IOT,10.40.30.206,shelly: s20,98:a3:16:7c:5f:ec,,,,kueche_steckdosen2
IOT,10.40.30.207,shelly: s21,20:6e:f1:01:f9:f8,,,,kueche_steckdosen4
IOT,10.40.41.208,shelly: s1,E4:B0:63:D7:C7:A4,,,,weihnachten_kueche
IOT,10.40.41.209,shelly: s2,28:37:2F:36:F4:7C,,,,weihnachten_terrasse
IOT,10.40.41.210,shelly: s3,E4:B0:63:E4:EF:7C,,,,weihnachten_kinderzimmer
IOT,10.40.30.211,shelly: s4,E4:B0:63:E4:0F:30,,,,kueche_mikrowelle
IOT,10.40.30.212,shelly: s5,D8:85:AC:0C:5C:C8,,,,kueche_backofen
IOT,10.40.30.213,shelly: s6,d0:cf:13:d8:18:fc,,,,kueche_kuehlschrank
IOT,10.40.30.214,shelly: s7,D0:CF:13:D9:94:E8,,,,kueche_tiefkuehlschrank
IOT,10.40.30.215,shelly: s8,E4:B0:63:FA:FD:E0,,,,kueche_geschirrspueler
IOT,10.40.30.216,shelly: s9,E8:F6:0A:61:88:08,,,,wohnzimmer_sideboard
IOT,10.40.30.217,shelly: s10,E4:B0:63:FC:57:E4,,,,bad_sonos
IOT,10.40.30.218,shelly: s11,E4:B0:63:FA:6C:00,,,,kinderzimmer_sonos
IOT,10.40.41.219,shelly: s12,48:f6:ee:c8:e6:ac,,,,dieleug_steckdosen
IOT,10.40.30.220,shelly: s13,48:F6:EE:DD:6A:F4,,,,arbeitszimmer_technik
IOT,10.40.30.221,shelly: s14,E4:B0:63:FC:59:48,,,,schlafzimmer_bett
IOT,10.40.30.222,shelly: s15,E4:B0:63:FA:D5:34,,,,technik_pve
IOT,10.40.30.223,shelly: s16,10:20:ba:fa:f5:40,,,,wohnzimmer_steckdosen
IOT,10.40.30.224,shelly: s17,10:20:ba:fb:6d:64,,,,bad_steckdosen
IOT,10.40.30.225,shelly: s18,48:f6:ee:cc:16:e4,,,,kueche_steckdosen1
IOT,10.40.30.226,shelly: s19,10:20:ba:fb:70:fc,,,,kueche_steckdosen3
IOT,10.40.41.227,switchbot-floorlamp,B8:F8:62:09:F2:04,,,,
IOT,10.40.41.228,Twinkly Weihnachtsgirlande,98:F4:AB:2C:A7:88,,,,"dhcp-host=98:F4:AB:2C:A7:88,10.40.41.223,TwinklyWeihnachtsgirlande"
IOT,10.40.41.229,tuya smartlife TK,,,,,
IOT,10.40.41.230,Withings_waage,00:24:e4:40:2a:72,,,,
IOT,10.40.41.231,Withings_blutdruck,A4:7E:FA:18:2C:64,,,,
IOT,10.40.41.232,pve:homematic-raspi (ccu),BC:24:11:8E:0A:57,330,172.16.0.232,BC:24:11:D3:B3:F4,
IOT,10.40.30.233,shelly: s26,98:a3:16:7a:a3:54,,,,bad_luefter
IOT,10.40.41.234,,,,,,
IOT,10.40.41.235,,,,,,
IOT,10.40.41.236,lichterkette,A4:F0:0F:5F:D0:EC,,,,
IOT,10.40.41.237,lichterkette-mini,24:DC:C3:9B:89:64,,,,
IOT,10.40.41.238,,,,,,
IOT,10.40.41.239,sw1,00:08:54:71:98:2D,,,,"allnet core switch / dhcp-host=00:08:54:71:98:2D,10.40.41.239,sw1"
IOT,10.40.41.240,,,,,,
IOT,10.40.41.241,NukiSmartlock,28:DB:A7:09:7B:54,,,,
IOT,10.40.41.242,,,,,,
IOT,10.40.41.243,,,,,,
IOT,10.40.41.244,NukiBridge,24:62:ab:b1:63:f4,,,,"dhcp-host=24:62:ab:b1:63:f4,10.40.41.244,NukiBridge"
IOT,10.40.41.245,,,,,,
Netzwerk,10.40.41.246,fritzrepeater1,12:72:74:9c:66:49,,,,"Arbeitszimmer / dhcp-host=12:72:74:9c:66:49,10.40.41.246,fritzrepeater1"
Netzwerk,10.40.41.247,,,,,,
Netzwerk,10.40.41.248,,,,,,
Netzwerk,10.40.41.249,,,,,,
Netzwerk,10.40.41.250,,,,,,
Netzwerk,10.40.41.251,,,,,,
Netzwerk,10.40.41.252,,,,,,
Netzwerk,10.40.41.253,openwrt,,700,,,
Netzwerk,10.40.41.254,gateway-bf,0c:72:74:36:90:9c,,,,
1 section ip hostname mac pve_ct server_ip server_mac note
2 VPN 10.40.41.1 VPNchristoph Fallback bis CF One überall läuft; IP umziehbar/unwichtig
3 VPN 10.40.41.3
4 srv, infra 10.40.41.4 MFC 30:5:5c:78:86:20
5 srv, infra 10.40.41.5 P750W 4C:EB:BD:E3:25:F2 Brother PT-P750W Printer
6 srv, infra 10.40.41.6 iHost D0:27:03:C8:CB:36
7 srv, infra 10.40.41.7 odroid-m1 00:1E:06:51:31:C9
8 srv, infra 10.40.41.8 DTUBI-414392337823 54:F2:9F:12:51:F0
9 srv, infra 10.40.41.9
10 srv, infra 10.40.41.10 nas-bf 90:9:d0:58:20:f9
11 srv, infra 10.40.41.11 tv 70:AF:24:B8:C9:86
12 srv, infra 10.40.41.12 virtualdsm
13 srv, infra 10.40.41.13 sysrecue
14 srv, infra 10.40.41.14 AppleTV
15 srv, infra 10.40.41.15 docker:synology
16 docker 10.40.41.16 pve:docker:adguard_bf1 BC:24:11:10:3A:98 130 dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923)
17 docker 10.40.41.17 pve:docker:adguard_fm1 dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923)
18 docker 10.40.41.18 pve:docker:adguard_dw1 dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923)
19 docker 10.40.41.19 docker:iob_exposed BC:24:11:E4:DC:AB 150 172.16.0.150 BC:24:11:3A:62:43
20 docker 10.40.41.20 docker-fm:nginx-proxy-manager
21 docker 10.40.41.21 docker:ldapsyno
22 docker 10.40.41.22 docker:ccu
23 docker 10.40.41.23 docker:pihole_dw1 02:42:0A:28:29:17
24 docker 10.40.41.24 docker:
25 docker 10.40.41.25 docker:
26 docker 10.40.41.26 docker:
27 docker 10.40.41.27 docker:
28 docker 10.40.41.28 docker:
29 docker 10.40.41.29 docker:
30 docker 10.40.41.30 docker:cloudflared
31 docker 10.40.41.31 docker:
32 docker 10.40.41.32 res docker2bf
33 docker 10.40.41.33 docker_ds923+:iob_slave
34 docker 10.40.41.34 res docker2bf
35 docker 10.40.41.35 res docker2bf
36 docker 10.40.41.36 res docker2bf
37 docker 10.40.41.37 res docker2bf
38 docker 10.40.41.38 res docker2bf
39 docker 10.40.41.39 res docker2bf
40 docker 10.40.41.40 res docker2bf
41 docker 10.40.41.41 res docker2bf
42 docker 10.40.41.42 res docker2bf
43 docker 10.40.41.43 res docker2bf
44 docker 10.40.41.44 res docker2bf
45 docker 10.40.41.45 res docker2bf
46 docker 10.40.41.46 res docker2bf
47 docker 10.40.41.47 res docker2bf
48 DHCP (reservations) 10.40.41.48 ds415+ 00:11:32:4F:E2:12
49 DHCP (reservations) 10.40.41.49 ds415play 00:11:32:4C:72:7E
50 DHCP (reservations) 10.40.41.50 win11enterprise 02:11:32:2f:1f:cc
51 DHCP (reservations) 10.40.41.51 ds207 00:11:32:04:57:66
52 DHCP (reservations) 10.40.41.52
53 DHCP (reservations) 10.40.41.53
54 DHCP (reservations) 10.40.41.54 vuplus
55 DHCP (reservations) 10.40.41.55 AppleTV
56 DHCP (reservations) 10.40.41.56
57 DHCP (reservations) 10.40.41.57
58 DHCP (reservations) 10.40.41.58
59 DHCP (reservations) 10.40.41.59 MobilMarven
60 DHCP (reservations) 10.40.41.60 MobilGeli 8c:b8:4a:56:d0:0b Note10+
61 DHCP (reservations) 10.40.41.61 MobilChristoph 08:C7:B5:91:BA:61 S22 / dhcp-host=08:C7:B5:91:BA:61,10.40.41.33,MobilChristoph
62 DHCP (reservations) 10.40.41.62 MobilChristophAlt 7C:D6:61:B7:93:99 dhcp-host=7C:D6:61:B7:93:99,10.40.41.31,MobilChristophAlt
63 DHCP (reservations) 10.40.41.63 MobilSara 4A:11:58:B5:15:E1 A34 / dhcp-host=4A:11:58:B5:15:E1,10.40.41.26,MobilSara
64 DHCP (reservations) 10.40.41.64 MobilTanja 44:16:FA:CE:27:D3 dhcp-host=44:16:FA:CE:27:D3,10.40.41.30,MobilTanja
65 DHCP (reservations) 10.40.41.65 MobilChristophA35 B0:54:76:46:BC:1C A35
66 DHCP (reservations) 10.40.41.66 MobilOma DE:44:85:63:51:4A dhcp-host=DE:44:85:63:51:4A,10.40.41.29,MobilOma
67 DHCP (reservations) 10.40.41.67 MobilOpa 02:8C:4F:B8:FC:8E dhcp-host=02:8C:4F:B8:FC:8E,10.40.41.28,MobilOpa
68 DHCP (reservations) 10.40.41.68
69 DHCP (reservations) 10.40.41.69 iPadChristoph 34:2B:6E:6F:1F:EF
70 DHCP (reservations) 10.40.41.70
71 DHCP (reservations) 10.40.41.71 wwan 3C:B2:33:ED:FC:03
72 DHCP (reservations) 10.40.41.72
73 DHCP (reservations) 10.40.41.73 Forerunner965 38:F9:F5:8F:CC:69
74 DHCP (reservations) 10.40.41.74 iHostWIFI
75 DHCP (reservations) 10.40.41.75 KindleVoyage 00:BB:3A:2C:0E:E6 dhcp-host=00:BB:3A:2C:0E:E6,10.40.41.39,KindleVoyage
76 DHCP (reservations) 10.40.41.76 SmartwatchChristoph935 14:8F:21:E7:45:2C dhcp-host=14:8F:21:E7:45:2C,10.40.41.40,SmartwatchChristoph935
77 DHCP (reservations) 10.40.41.77 SmartwatchChristoph945 B4:C2:6A:57:0B:BB dhcp-host=B4:C2:6A:57:0B:BB,10.40.41.41,SmartwatchChristoph945
78 DHCP (reservations) 10.40.41.78 Garmin Edge 820 14:8F:21:CB:BC:EA dhcp-host=14:8F:21:CB:BC:EA,10.40.41.217,GarminEdge820
79 DHCP (reservations) 10.40.41.79 ubuntu-desktop 02:11:32:2c:3c:b1
80 DHCP (reservations) 10.40.41.80
81 DHCP (reservations) 10.40.41.81 MacBook LAN B8:B4:09:1A:EC:AB dhcp-host=B8:B4:09:1A:EC:AB,10.40.41.23,MacBookLAN
82 DHCP (reservations) 10.40.41.82 MacBook WLAN 3c:a6:f6:02:3e:83 dhcp-host=3c:a6:f6:02:3e:83,10.40.41.24,MacBookWLAN
83 DHCP (reservations) 10.40.41.83 KindleTanja a0:02:dc:5d:5d:d2
84 DHCP (reservations) 10.40.41.84
85 DHCP (reservations) 10.40.41.85 iPadTanja EC:73:79:C0:66:E7 dhcp-host=EC:73:79:C0:66:E7,10.40.41.35,iPadTanja
86 DHCP (reservations) 10.40.41.86 TvSara (zauberkatze) CC:4B:73:75:7C:4A dhcp-host=CC:4B:73:75:7C:4A,10.40.41.43,TvSara(zauberkatze)
87 DHCP (reservations) 10.40.41.87 NotebookSara_alt (galadriel) 00:E1:8C:9B:27:BA
88 DHCP (reservations) 10.40.41.88 NotebookSara (celeborn)
89 DHCP (reservations) 10.40.41.89 NotebookOpa (pluto) 08:71:90:EA:0A:56 dhcp-host=08:71:90:EA:0A:56,10.40.41.44,NotebookOpa(pluto)
90 DHCP (reservations) 10.40.41.90
91 DHCP (reservations) 10.40.41.91
92 DHCP (reservations) 10.40.41.92 NintendoSwitchLAN 00:23:55:0C:86:59
93 DHCP (reservations) 10.40.41.93 NintendoSwitchWLAN 94:58:CB:B1:63:BC
94 DHCP (reservations) 10.40.41.94 EOS6Rm2 A0:CD:F3:93:FF:E4
95 DHCP (reservations) 10.40.41.95
96 DHCP (reservations) 10.40.41.96
97 DHCP (reservations) 10.40.41.97
98 DHCP (reservations) 10.40.41.98
99 DHCP (reservations) 10.40.41.99
100 DHCP (reservations) 10.40.41.100 pve 00:D0:B4:04:19:24
101 DHCP (reservations) 10.40.41.101 ubuntu-server 02:11:32:24:3D:EC
102 DHCP (reservations) 10.40.41.102 ubuntu-desktop 02:11:32:2b:b6:08
103 DHCP (reservations) 10.40.41.103 airfryer E4:BC:96:1F:B2:81
104 DHCP (reservations) 10.40.41.104
105 DHCP (reservations) 10.40.41.105 pve:homeassistant BC:24:11:11:A9:B3 100 172.16.0.18 BC:24:11:1E:12:19
106 DHCP (reservations) 10.40.41.106 z2m25 BC:24:11:A2:B5:0F 112 172.16.0.12 BC:24:11:F3:42:01
107 DHCP (reservations) 10.40.41.107 iob_master BC:24:11:4D:26:96 101 172.16.0.19 BC:24:11:B4:3E:41 172.24.0.19 / BC:24:11:6F:9A:86
108 DHCP (reservations) 10.40.41.108 mqtt5 BC:24:11:B0:46:53 102 172.16.0.10 BC:24:11:53:DA:7D
109 DHCP (reservations) 10.40.41.109 grafana BC:24:11:8A:4D:F1 104 172.16.0.9 BC:24:11:D9:A4:AC
110 DHCP (reservations) 10.40.41.110 SONOFF-NSPanelPro 7C:88:99:06:07:EC
111 DHCP (reservations) 10.40.41.111 redis BC:24:11:41:CA:A1 107 172.16.0.7 BC:24:11:5F:6B:EE 172.24.0.7 / BC:24:11:C0:35:39
112 DHCP (reservations) 10.40.41.112
113 DHCP (reservations) 10.40.41.113 pve:influxdb2 BC:24:11:9A:F2:5E 106 172.16.0.8
114 DHCP (reservations) 10.40.41.114 minarca BC:24:11:3C:E2:3E 103
115 DHCP (reservations) 10.40.41.115
116 DHCP (reservations) 10.40.41.116 adguard-bf1 BC:24:11:B3:FC:52 120
117 DHCP (reservations) 10.40.41.117 adguard-bf2 BC:24:11:69:61:69 121
118 DHCP (reservations) 10.40.41.118 caddy BC:24:11:3D:5A:5A 129 172.16.0.118 BC:24:11:A7:C9:6F
119 DHCP (reservations) 10.40.41.119 node-red BC:24:11:0D:0C:FE 109
120 DHCP (reservations) 10.40.41.120 openproject BC:24:11:94:83:5C 201
121 DHCP (reservations) 10.40.41.121 vaultwarden BC:24:11:5A:DC:A0 301 172.18.0.127 BC:24:11:17:CA:26
122 DHCP (reservations) 10.40.41.122 mariadb BC:24:11:52:78:0D 302 172.16.0.23 BC:24:11:B4:09:E4
123 DHCP (reservations) 10.40.41.123 nginx BC:24:11:CC:13:0B 128 BC:24:11:7D:DD:F1
124 DHCP (reservations) 10.40.41.124 pve:docker:hms-mqtt
125 DHCP (reservations) 10.40.41.125 docker_ds923+:openspeedtest
126 DHCP (reservations) 10.40.41.126 pve:docker BC:24:11:C2:72:A2 400 172.16.0.126 BC:24:11:62:69:D7
127 DHCP (reservations) 10.40.41.127 docker:vaultwarden 172.16.0.127
128 DHCP (reservations) 10.40.41.128 pve:docker:portainer 172.18.0.2
129 DHCP (reservations) 10.40.41.129 pve:ollama BC:24:11:2C:B8:0F 170 172.16.0.129 BC:24:11:E7:42:55
130 DHCP (reservations) 10.40.41.130 docker_ds923+:openclaw 172.18.0.130
131 DHCP (reservations) 10.40.41.131 pihole2 BC:24:11:5B:FF:8A 131 172.16.0.131 BC:24:11:4F:9F:81
132 DHCP (reservations) 10.40.41.132 docker_ds923+:openclaw_cloudflared
133 DHCP (reservations) 10.40.41.133 ds923+:coolify
134 DHCP (reservations) 10.40.41.134
135 DHCP (reservations) 10.40.41.135 synodocker:pbs 02:11:32:2e:15:25 172.16.0.135 02:11:32:21:b6:4a
136 DHCP (reservations) 10.40.41.136
137 DHCP (reservations) 10.40.41.137 Dongle-M-10E8 94:54:C5:28:10:EB
138 DHCP (reservations) 10.40.41.138 Dongle-M-10E8_wifi 94:54:C5:28:10:E8
139 DHCP (reservations) 10.40.41.139 drawio
140 DHCP (reservations) 10.40.41.140
141 DHCP (reservations) 10.40.41.141 wmbusmeters BC:24:11:25:1E:DE
142 DHCP (reservations) 10.40.41.142
143 DHCP (reservations) 10.40.41.143 openclawnginx2_dummy
144 DHCP (reservations) 10.40.41.144 openclaw2
145 DHCP (reservations) 10.40.41.145 pve:docker:cloudflared
146 DHCP (reservations) 10.40.41.146 ollama
147 DHCP (reservations) 10.40.41.147 n8n johnny claw
148 DHCP (reservations) 10.40.41.148 docker_ds923+:nginx johnny claw
149 DHCP (reservations) 10.40.41.149 gitea
150 DHCP (reservations) 10.40.41.150 Ender3V3KE-3226 FC:EE:11:03:32:26
151 DHCP (reservations) 10.40.41.151 prometheus
152 DHCP (reservations) 10.40.41.152 mcp
153 DHCP (reservations) 10.40.41.153 alertmanager
154 DHCP (reservations) 10.40.41.154 node-exporter
155 DHCP (reservations) 10.40.41.155
156 DHCP (reservations) 10.40.41.156
157 DHCP (reservations) 10.40.41.157
158 DHCP (reservations) 10.40.41.158
159 DHCP (reservations) 10.40.41.159 openclaw-oc-qdrant-central
160 DHCP (reservations) 10.40.41.160 openclaw
161 DHCP (reservations) 10.40.41.161 openclaw-johnny2
162 DHCP (reservations) 10.40.41.162 openclaw-tzcharlie
163 DHCP (reservations) 10.40.41.163
164 DHCP (reservations) 10.40.41.164 oc-jonny2-redis 172.18.0.164
165 DHCP (reservations) 10.40.41.165 oc-charlie-redis 172.18.0.165
166 DHCP (reservations) 10.40.41.166
167 DHCP (reservations) 10.40.41.167 macmini-LAN d0:11:e5:b9:a7:48
168 DHCP (reservations) 10.40.41.168 macmini-WLAN d0:11:e5:c9:08:0a
169 DHCP (reservations) 10.40.41.169 macmini-cloudflared
170 DHCP (reservations) 10.40.41.170 ms365-mcp
171 DHCP (reservations) 10.40.41.171 hostinger-mcp
172 DHCP (reservations) 10.40.41.172 woocommerce-mcp
173 DHCP (reservations) 10.40.41.173 billbee-mcp
174 DHCP (reservations) 10.40.41.174 sevdesk-mcp
175 DHCP (reservations) 10.40.41.175 wordpress-mcp
176 DHCP (reservations) 10.40.41.176
177 DHCP (reservations) 10.40.41.177
178 DHCP (reservations) 10.40.41.178
179 DHCP (reservations) 10.40.41.179
180 DHCP (reservations) 10.40.41.180
181 DHCP (reservations) 10.40.41.181
182 DHCP (reservations) 10.40.41.182
183 DHCP (reservations) 10.40.41.183
184 DHCP (reservations) 10.40.41.184
185 DHCP (reservations) 10.40.41.185
186 DHCP (reservations) 10.40.41.186
187 DHCP (reservations) 10.40.41.187
188 DHCP (reservations) 10.40.41.188
189 DHCP (reservations) 10.40.41.189
190 DHCP (reservations) 10.40.41.190
191 Sonos 10.40.41.191 SonosArbeitszimmer1 34:7e:5c:32:37:96 dhcp-host=34:7e:5c:32:37:96,10.40.41.191,SonosArbeitszimmer1
192 Sonos 10.40.41.192 SonosArbeitszimmer2 34:7e:5c:32:33:b8 dhcp-host=34:7e:5c:32:33:b8,10.40.41.192,SonosArbeitszimmer2
193 Sonos 10.40.41.193 SonosSchlafzimmer1 78:28:ca:80:2a:f6 dhcp-host=78:28:ca:80:2a:f6,10.40.41.193,SonosSchlafzimmer1
194 Sonos 10.40.41.194 SonosSchlafzimmer2 48:a6:b8:14:fe:d0 dhcp-host=48:a6:b8:14:fe:d0,10.40.41.194,SonosSchlafzimmer2
195 Sonos 10.40.41.195 SonosBad 48:A6:B8:14:FE:D0 dhcp-host=48:A6:B8:14:FE:D0,10.40.41.195,SonosBad
196 Sonos 10.40.41.196 SonosKinderzimmer 48:A6:B8:16:38:AE dhcp-host=48:A6:B8:16:38:AE,10.40.41.196,SonosKinderzimmer
197 Sonos 10.40.41.197 SonosKueche 48:A6:B8:14:FE:F2 dhcp-host=48:A6:B8:14:FE:F2,10.40.41.197,SonosKueche
198 Sonos 10.40.41.198 SonosTerrasse 48:a6:b8:16:38:ae dhcp-host=48:a6:b8:16:38:ae,10.40.41.198,SonosTerrasse
199 Sonos 10.40.41.199 SonosWohnzimmer1 48:A6:B8:0B:63:10 48:A6:B8:01:13:EE / dhcp-host=48:A6:B8:0B:63:10,10.40.41.199,SonosWohnzimmer1
200 Sonos 10.40.41.200 SonosWohnzimmer2 48:a6:b8:14:fe:f2 dhcp-host=48:a6:b8:14:fe:f2,10.40.41.200,SonosWohnzimmer2
201 Sonos 10.40.41.201 SonosWohnzimmer3 78:28:ca:d2:0d:ac dhcp-host=78:28:ca:d2:0d:ac,10.40.41.201,SonosWohnzimmer3
202 IOT 10.40.30.202 shelly: s22 a0:85:e3:c8:65:34 kueche_steckdose3-2
203 IOT 10.40.30.203 shelly: s23 ac:15:18:7b:62:20 dieleug-wohnzimmer_licht
204 IOT 10.40.30.204 shelly: s24 14:33:5c:d8:2d:7c bad_spiegelschrank (Shelly Plus RGBW PM
205 IOT 10.40.30.205 shelly: s25 98:a3:16:79:38:50 bad_lichtschalter
206 IOT 10.40.30.206 shelly: s20 98:a3:16:7c:5f:ec kueche_steckdosen2
207 IOT 10.40.30.207 shelly: s21 20:6e:f1:01:f9:f8 kueche_steckdosen4
208 IOT 10.40.41.208 shelly: s1 E4:B0:63:D7:C7:A4 weihnachten_kueche
209 IOT 10.40.41.209 shelly: s2 28:37:2F:36:F4:7C weihnachten_terrasse
210 IOT 10.40.41.210 shelly: s3 E4:B0:63:E4:EF:7C weihnachten_kinderzimmer
211 IOT 10.40.30.211 shelly: s4 E4:B0:63:E4:0F:30 kueche_mikrowelle
212 IOT 10.40.30.212 shelly: s5 D8:85:AC:0C:5C:C8 kueche_backofen
213 IOT 10.40.30.213 shelly: s6 d0:cf:13:d8:18:fc kueche_kuehlschrank
214 IOT 10.40.30.214 shelly: s7 D0:CF:13:D9:94:E8 kueche_tiefkuehlschrank
215 IOT 10.40.30.215 shelly: s8 E4:B0:63:FA:FD:E0 kueche_geschirrspueler
216 IOT 10.40.30.216 shelly: s9 E8:F6:0A:61:88:08 wohnzimmer_sideboard
217 IOT 10.40.30.217 shelly: s10 E4:B0:63:FC:57:E4 bad_sonos
218 IOT 10.40.30.218 shelly: s11 E4:B0:63:FA:6C:00 kinderzimmer_sonos
219 IOT 10.40.41.219 shelly: s12 48:f6:ee:c8:e6:ac dieleug_steckdosen
220 IOT 10.40.30.220 shelly: s13 48:F6:EE:DD:6A:F4 arbeitszimmer_technik
221 IOT 10.40.30.221 shelly: s14 E4:B0:63:FC:59:48 schlafzimmer_bett
222 IOT 10.40.30.222 shelly: s15 E4:B0:63:FA:D5:34 technik_pve
223 IOT 10.40.30.223 shelly: s16 10:20:ba:fa:f5:40 wohnzimmer_steckdosen
224 IOT 10.40.30.224 shelly: s17 10:20:ba:fb:6d:64 bad_steckdosen
225 IOT 10.40.30.225 shelly: s18 48:f6:ee:cc:16:e4 kueche_steckdosen1
226 IOT 10.40.30.226 shelly: s19 10:20:ba:fb:70:fc kueche_steckdosen3
227 IOT 10.40.41.227 switchbot-floorlamp B8:F8:62:09:F2:04
228 IOT 10.40.41.228 Twinkly Weihnachtsgirlande 98:F4:AB:2C:A7:88 dhcp-host=98:F4:AB:2C:A7:88,10.40.41.223,TwinklyWeihnachtsgirlande
229 IOT 10.40.41.229 tuya smartlife TK
230 IOT 10.40.41.230 Withings_waage 00:24:e4:40:2a:72
231 IOT 10.40.41.231 Withings_blutdruck A4:7E:FA:18:2C:64
232 IOT 10.40.41.232 pve:homematic-raspi (ccu) BC:24:11:8E:0A:57 330 172.16.0.232 BC:24:11:D3:B3:F4
233 IOT 10.40.30.233 shelly: s26 98:a3:16:7a:a3:54 bad_luefter
234 IOT 10.40.41.234
235 IOT 10.40.41.235
236 IOT 10.40.41.236 lichterkette A4:F0:0F:5F:D0:EC
237 IOT 10.40.41.237 lichterkette-mini 24:DC:C3:9B:89:64
238 IOT 10.40.41.238
239 IOT 10.40.41.239 sw1 00:08:54:71:98:2D allnet core switch / dhcp-host=00:08:54:71:98:2D,10.40.41.239,sw1
240 IOT 10.40.41.240
241 IOT 10.40.41.241 NukiSmartlock 28:DB:A7:09:7B:54
242 IOT 10.40.41.242
243 IOT 10.40.41.243
244 IOT 10.40.41.244 NukiBridge 24:62:ab:b1:63:f4 dhcp-host=24:62:ab:b1:63:f4,10.40.41.244,NukiBridge
245 IOT 10.40.41.245
246 Netzwerk 10.40.41.246 fritzrepeater1 12:72:74:9c:66:49 Arbeitszimmer / dhcp-host=12:72:74:9c:66:49,10.40.41.246,fritzrepeater1
247 Netzwerk 10.40.41.247
248 Netzwerk 10.40.41.248
249 Netzwerk 10.40.41.249
250 Netzwerk 10.40.41.250
251 Netzwerk 10.40.41.251
252 Netzwerk 10.40.41.252
253 Netzwerk 10.40.41.253 openwrt 700
254 Netzwerk 10.40.41.254 gateway-bf 0c:72:74:36:90:9c

View File

@@ -1,293 +0,0 @@
# Inventar — Standort BF (kanonisch)
> Generiert aus `bf.csv` via `build.py`. **Quelle der Wahrheit = bf.csv.** Seed: `IPs.xlsx`.
> ⚠️ Manche `pve_ct`/Einträge können Doku-Leichen sein (z.B. re-dockerisierte Container).
## VPN
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.1 | VPNchristoph | | | | | Fallback bis CF One überall läuft; IP umziehbar/unwichtig |
| 10.40.41.3 | | | | | | |
## srv, infra
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.4 | MFC | 30:5:5c:78:86:20 | | | | |
| 10.40.41.5 | P750W | 4C:EB:BD:E3:25:F2 | | | | Brother PT-P750W Label-Drucker, **mobil/batteriebetrieben** (Standort variabel); aggressives WLAN-PowerSave → idle nicht ARP/ping-erreichbar (wifi-qcom-Limit), Druck weckt Gerät. Ziel-VLAN 30 (IoT), reserviert 10.40.30.5. Web-UI `http://10.40.30.5/general/information.html` (kein DirectPrint-Pfad); an ap1 gepinnt (wifi-access-list, anti-flap). Doku `docs/wifi-p750w-coverage-and-map.md` |
| 10.40.41.6 | iHost | D0:27:03:C8:CB:36 | | | | |
| 10.40.41.7 | odroid-m1 | 00:1E:06:51:31:C9 | | | | |
| 10.40.41.8 | DTUBI-414392337823 | 54:F2:9F:12:51:F0 | | | | |
| 10.40.41.9 | | | | | | |
| 10.40.41.10 | nas-bf | 90:9:d0:58:20:f9 | | | | |
| 10.40.41.11 | tv | 70:AF:24:B8:C9:86 | | | | |
| 10.40.41.12 | virtualdsm | | | | | |
| 10.40.41.13 | sysrecue | | | | | |
| 10.40.41.14 | AppleTV | | | | | |
| 10.40.41.15 | | | | | | docker:synology |
## docker
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.16 | pve:docker:adguard_bf1 | BC:24:11:10:3A:98 | 130 | | | dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923) |
| 10.40.41.17 | pve:docker:adguard_fm1 | | | | | dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923) |
| 10.40.41.18 | pve:docker:adguard_dw1 | | | | | dzt kein default_internal (wird je site mit 1 vlan konsolidiert; in bf übergreifendpve-ds923) |
| 10.40.41.19 | docker:iob_exposed | BC:24:11:E4:DC:AB | 150 | 172.16.0.150 | BC:24:11:3A:62:43 | |
| 10.40.41.20 | docker-fm:nginx-proxy-manager | | | | | |
| 10.40.41.21 | docker:ldapsyno | | | | | |
| 10.40.41.22 | docker:ccu | | | | | |
| 10.40.41.23 | docker:pihole_dw1 | 02:42:0A:28:29:17 | | | | |
| 10.40.41.24 | docker: | | | | | |
| 10.40.41.25 | docker: | | | | | |
| 10.40.41.26 | docker: | | | | | |
| 10.40.41.27 | docker: | | | | | |
| 10.40.41.28 | docker: | | | | | |
| 10.40.41.29 | docker: | | | | | |
| 10.40.41.30 | docker:cloudflared | | | | | |
| 10.40.41.31 | docker: | | | | | |
| 10.40.41.32 | res docker2bf | | | | | |
| 10.40.41.33 | docker_ds923+:iob_slave | | | | | |
| 10.40.41.34 | res docker2bf | | | | | |
| 10.40.41.35 | res docker2bf | | | | | |
| 10.40.41.36 | res docker2bf | | | | | |
| 10.40.41.37 | res docker2bf | | | | | |
| 10.40.41.38 | res docker2bf | | | | | |
| 10.40.41.39 | res docker2bf | | | | | |
| 10.40.41.40 | res docker2bf | | | | | |
| 10.40.41.41 | res docker2bf | | | | | |
| 10.40.41.42 | res docker2bf | | | | | |
| 10.40.41.43 | res docker2bf | | | | | |
| 10.40.41.44 | res docker2bf | | | | | |
| 10.40.41.45 | res docker2bf | | | | | |
| 10.40.41.46 | res docker2bf | | | | | |
| 10.40.41.47 | res docker2bf | | | | | |
## DHCP (reservations)
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.48 | ds415+ | 00:11:32:4F:E2:12 | | | | |
| 10.40.41.49 | ds415play | 00:11:32:4C:72:7E | | | | |
| 10.40.41.50 | win11enterprise | 02:11:32:2f:1f:cc | | | | |
| 10.40.41.51 | ds207 | 00:11:32:04:57:66 | | | | |
| 10.40.41.52 | | | | | | |
| 10.40.41.53 | | | | | | |
| 10.40.41.54 | vuplus | | | | | |
| 10.40.41.55 | AppleTV | | | | | |
| 10.40.41.56 | | | | | | |
| 10.40.41.57 | | | | | | |
| 10.40.41.58 | | | | | | |
| 10.40.41.59 | MobilMarven | | | | | |
| 10.40.41.60 | MobilGeli | 8c:b8:4a:56:d0:0b | | | | Note10+ |
| 10.40.41.61 | MobilChristoph | 08:C7:B5:91:BA:61 | | | | S22 / dhcp-host=08:C7:B5:91:BA:61,10.40.41.33,MobilChristoph |
| 10.40.41.62 | MobilChristophAlt | 7C:D6:61:B7:93:99 | | | | dhcp-host=7C:D6:61:B7:93:99,10.40.41.31,MobilChristophAlt |
| 10.40.41.63 | MobilSara | 4A:11:58:B5:15:E1 | | | | A34 / dhcp-host=4A:11:58:B5:15:E1,10.40.41.26,MobilSara |
| 10.40.41.64 | MobilTanja | 44:16:FA:CE:27:D3 | | | | dhcp-host=44:16:FA:CE:27:D3,10.40.41.30,MobilTanja |
| 10.40.41.65 | MobilChristophA35 | B0:54:76:46:BC:1C | | | | A35 |
| 10.40.41.66 | MobilOma | DE:44:85:63:51:4A | | | | dhcp-host=DE:44:85:63:51:4A,10.40.41.29,MobilOma |
| 10.40.41.67 | MobilOpa | 02:8C:4F:B8:FC:8E | | | | dhcp-host=02:8C:4F:B8:FC:8E,10.40.41.28,MobilOpa |
| 10.40.41.68 | | | | | | |
| 10.40.41.69 | iPadChristoph | 34:2B:6E:6F:1F:EF | | | | |
| 10.40.41.70 | | | | | | |
| 10.40.41.71 | wwan | 3C:B2:33:ED:FC:03 | | | | |
| 10.40.41.72 | | | | | | |
| 10.40.41.73 | Forerunner965 | 38:F9:F5:8F:CC:69 | | | | |
| 10.40.41.74 | iHostWIFI | | | | | |
| 10.40.41.75 | KindleVoyage | 00:BB:3A:2C:0E:E6 | | | | dhcp-host=00:BB:3A:2C:0E:E6,10.40.41.39,KindleVoyage |
| 10.40.41.76 | SmartwatchChristoph935 | 14:8F:21:E7:45:2C | | | | dhcp-host=14:8F:21:E7:45:2C,10.40.41.40,SmartwatchChristoph935 |
| 10.40.41.77 | SmartwatchChristoph945 | B4:C2:6A:57:0B:BB | | | | dhcp-host=B4:C2:6A:57:0B:BB,10.40.41.41,SmartwatchChristoph945 |
| 10.40.41.78 | Garmin Edge 820 | 14:8F:21:CB:BC:EA | | | | dhcp-host=14:8F:21:CB:BC:EA,10.40.41.217,GarminEdge820 |
| 10.40.41.79 | ubuntu-desktop | 02:11:32:2c:3c:b1 | | | | |
| 10.40.41.80 | | | | | | |
| 10.40.41.81 | MacBook LAN | B8:B4:09:1A:EC:AB | | | | dhcp-host=B8:B4:09:1A:EC:AB,10.40.41.23,MacBookLAN |
| 10.40.41.82 | MacBook WLAN | 3c:a6:f6:02:3e:83 | | | | dhcp-host=3c:a6:f6:02:3e:83,10.40.41.24,MacBookWLAN |
| 10.40.41.83 | KindleTanja | a0:02:dc:5d:5d:d2 | | | | |
| 10.40.41.84 | | | | | | |
| 10.40.41.85 | iPadTanja | EC:73:79:C0:66:E7 | | | | dhcp-host=EC:73:79:C0:66:E7,10.40.41.35,iPadTanja |
| 10.40.41.86 | TvSara (zauberkatze) | CC:4B:73:75:7C:4A | | | | dhcp-host=CC:4B:73:75:7C:4A,10.40.41.43,TvSara(zauberkatze) |
| 10.40.41.87 | NotebookSara_alt (galadriel) | 00:E1:8C:9B:27:BA | | | | |
| 10.40.41.88 | NotebookSara (celeborn) | | | | | |
| 10.40.41.89 | NotebookOpa (pluto) | 08:71:90:EA:0A:56 | | | | dhcp-host=08:71:90:EA:0A:56,10.40.41.44,NotebookOpa(pluto) |
| 10.40.41.90 | | | | | | |
| 10.40.41.91 | | | | | | |
| 10.40.41.92 | NintendoSwitchLAN | 00:23:55:0C:86:59 | | | | |
| 10.40.41.93 | NintendoSwitchWLAN | 94:58:CB:B1:63:BC | | | | |
| 10.40.41.94 | EOS6Rm2 | A0:CD:F3:93:FF:E4 | | | | |
| 10.40.41.95 | | | | | | |
| 10.40.41.96 | | | | | | |
| 10.40.41.97 | | | | | | |
| 10.40.41.98 | | | | | | |
| 10.40.41.99 | | | | | | |
| 10.40.41.100 | pve | 00:D0:B4:04:19:24 | | | | |
| 10.40.41.101 | ubuntu-server | 02:11:32:24:3D:EC | | | | |
| 10.40.41.102 | ubuntu-desktop | 02:11:32:2b:b6:08 | | | | |
| 10.40.41.103 | airfryer | E4:BC:96:1F:B2:81 | | | | |
| 10.40.41.104 | | | | | | |
| 10.40.41.105 | pve:homeassistant | BC:24:11:11:A9:B3 | 100 | 172.16.0.18 | BC:24:11:1E:12:19 | |
| 10.40.41.106 | z2m25 | BC:24:11:A2:B5:0F | 112 | 172.16.0.12 | BC:24:11:F3:42:01 | |
| 10.40.41.107 | iob_master | BC:24:11:4D:26:96 | 101 | 172.16.0.19 | BC:24:11:B4:3E:41 | 172.24.0.19 / BC:24:11:6F:9A:86 |
| 10.40.41.108 | mqtt5 | BC:24:11:B0:46:53 | 102 | 172.16.0.10 | BC:24:11:53:DA:7D | |
| 10.40.41.109 | grafana | BC:24:11:8A:4D:F1 | 104 | 172.16.0.9 | BC:24:11:D9:A4:AC | |
| 10.40.41.110 | SONOFF-NSPanelPro | 7C:88:99:06:07:EC | | | | |
| 10.40.41.111 | redis | BC:24:11:41:CA:A1 | 107 | 172.16.0.7 | BC:24:11:5F:6B:EE | 172.24.0.7 / BC:24:11:C0:35:39 |
| 10.40.41.112 | | | | | | |
| 10.40.41.113 | pve:influxdb2 | BC:24:11:9A:F2:5E | 106 | 172.16.0.8 | | |
| 10.40.41.114 | minarca | BC:24:11:3C:E2:3E | 103 | | | |
| 10.40.41.115 | | | | | | |
| 10.40.41.116 | adguard-bf1 | BC:24:11:B3:FC:52 | 120 | | | |
| 10.40.41.117 | adguard-bf2 | BC:24:11:69:61:69 | 121 | | | |
| 10.40.41.118 | caddy | BC:24:11:3D:5A:5A | 129 | 172.16.0.118 | BC:24:11:A7:C9:6F | |
| 10.40.41.119 | node-red | BC:24:11:0D:0C:FE | 109 | | | |
| 10.40.41.120 | openproject | BC:24:11:94:83:5C | 201 | | | |
| 10.40.41.121 | vaultwarden | BC:24:11:5A:DC:A0 | 301 | 172.18.0.127 | BC:24:11:17:CA:26 | |
| 10.40.41.122 | mariadb | BC:24:11:52:78:0D | 302 | 172.16.0.23 | BC:24:11:B4:09:E4 | |
| 10.40.41.123 | nginx | BC:24:11:CC:13:0B | 128 | | BC:24:11:7D:DD:F1 | |
| 10.40.41.124 | pve:docker:hms-mqtt | | | | | |
| 10.40.41.125 | docker_ds923+:openspeedtest | | | | | |
| 10.40.41.126 | pve:docker | BC:24:11:C2:72:A2 | 400 | 172.16.0.126 | BC:24:11:62:69:D7 | |
| 10.40.41.127 | docker:vaultwarden | | | 172.16.0.127 | | |
| 10.40.41.128 | pve:docker:portainer | | | 172.18.0.2 | | |
| 10.40.41.129 | pve:ollama | BC:24:11:2C:B8:0F | 170 | 172.16.0.129 | BC:24:11:E7:42:55 | |
| 10.40.41.130 | docker_ds923+:openclaw | | | 172.18.0.130 | | |
| 10.40.41.131 | pihole2 | BC:24:11:5B:FF:8A | 131 | 172.16.0.131 | BC:24:11:4F:9F:81 | |
| 10.40.41.132 | docker_ds923+:openclaw_cloudflared | | | | | |
| 10.40.41.133 | ds923+:coolify | | | | | |
| 10.40.41.134 | | | | | | |
| 10.40.41.135 | synodocker:pbs | 02:11:32:2e:15:25 | | 172.16.0.135 | 02:11:32:21:b6:4a | |
| 10.40.41.136 | | | | | | |
| 10.40.41.137 | Dongle-M-10E8 | 94:54:C5:28:10:EB | | | | |
| 10.40.41.138 | Dongle-M-10E8_wifi | 94:54:C5:28:10:E8 | | | | |
| 10.40.41.139 | drawio | | | | | |
| 10.40.41.140 | | | | | | |
| 10.40.41.141 | wmbusmeters | BC:24:11:25:1E:DE | | | | |
| 10.40.41.142 | | | | | | |
| 10.40.41.143 | openclawnginx2_dummy | | | | | |
| 10.40.41.144 | openclaw2 | | | | | |
| 10.40.41.145 | pve:docker:cloudflared | | | | | |
| 10.40.41.146 | ollama | | | | | |
| 10.40.41.147 | n8n | | | | | johnny claw |
| 10.40.41.148 | docker_ds923+:nginx | | | | | johnny claw |
| 10.40.41.149 | gitea | | | | | |
| 10.40.41.150 | Ender3V3KE-3226 | FC:EE:11:03:32:26 | | | | |
| 10.40.41.151 | prometheus | | | | | |
| 10.40.41.152 | mcp | | | | | |
| 10.40.41.153 | alertmanager | | | | | |
| 10.40.41.154 | node-exporter | | | | | |
| 10.40.41.155 | | | | | | |
| 10.40.41.156 | | | | | | |
| 10.40.41.157 | | | | | | |
| 10.40.41.158 | | | | | | |
| 10.40.41.159 | openclaw-oc-qdrant-central | | | | | |
| 10.40.41.160 | openclaw | | | | | |
| 10.40.41.161 | openclaw-johnny2 | | | | | |
| 10.40.41.162 | openclaw-tzcharlie | | | | | |
| 10.40.41.163 | | | | | | |
| 10.40.41.164 | oc-jonny2-redis | | | 172.18.0.164 | | |
| 10.40.41.165 | oc-charlie-redis | | | 172.18.0.165 | | |
| 10.40.41.166 | | | | | | |
| 10.40.41.167 | macmini-LAN | d0:11:e5:b9:a7:48 | | | | |
| 10.40.41.168 | macmini-WLAN | d0:11:e5:c9:08:0a | | | | |
| 10.40.41.169 | macmini-cloudflared | | | | | |
| 10.40.41.170 | ms365-mcp | | | | | |
| 10.40.41.171 | hostinger-mcp | | | | | |
| 10.40.41.172 | woocommerce-mcp | | | | | |
| 10.40.41.173 | billbee-mcp | | | | | |
| 10.40.41.174 | sevdesk-mcp | | | | | |
| 10.40.41.175 | wordpress-mcp | | | | | |
| 10.40.41.176 | | | | | | |
| 10.40.41.177 | | | | | | |
| 10.40.41.178 | | | | | | |
| 10.40.41.179 | | | | | | |
| 10.40.41.180 | | | | | | |
| 10.40.41.181 | | | | | | |
| 10.40.41.182 | | | | | | |
| 10.40.41.183 | | | | | | |
| 10.40.41.184 | | | | | | |
| 10.40.41.185 | | | | | | |
| 10.40.41.186 | | | | | | |
| 10.40.41.187 | | | | | | |
| 10.40.41.188 | | | | | | |
| 10.40.41.189 | | | | | | |
| 10.40.41.190 | | | | | | |
## Sonos
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.191 | SonosArbeitszimmer1 | 34:7e:5c:32:37:96 | | | | dhcp-host=34:7e:5c:32:37:96,10.40.41.191,SonosArbeitszimmer1 |
| 10.40.41.192 | SonosArbeitszimmer2 | 34:7e:5c:32:33:b8 | | | | dhcp-host=34:7e:5c:32:33:b8,10.40.41.192,SonosArbeitszimmer2 |
| 10.40.41.193 | SonosSchlafzimmer1 | 78:28:ca:80:2a:f6 | | | | dhcp-host=78:28:ca:80:2a:f6,10.40.41.193,SonosSchlafzimmer1 |
| 10.40.41.194 | SonosSchlafzimmer2 | 48:a6:b8:14:fe:d0 | | | | dhcp-host=48:a6:b8:14:fe:d0,10.40.41.194,SonosSchlafzimmer2 |
| 10.40.41.195 | SonosBad | 48:A6:B8:14:FE:D0 | | | | dhcp-host=48:A6:B8:14:FE:D0,10.40.41.195,SonosBad |
| 10.40.41.196 | SonosKinderzimmer | 48:A6:B8:16:38:AE | | | | dhcp-host=48:A6:B8:16:38:AE,10.40.41.196,SonosKinderzimmer |
| 10.40.41.197 | SonosKueche | 48:A6:B8:14:FE:F2 | | | | dhcp-host=48:A6:B8:14:FE:F2,10.40.41.197,SonosKueche |
| 10.40.41.198 | SonosTerrasse | 48:a6:b8:16:38:ae | | | | dhcp-host=48:a6:b8:16:38:ae,10.40.41.198,SonosTerrasse |
| 10.40.41.199 | SonosWohnzimmer1 | 48:A6:B8:0B:63:10 | | | | 48:A6:B8:01:13:EE / dhcp-host=48:A6:B8:0B:63:10,10.40.41.199,SonosWohnzimmer1 |
| 10.40.41.200 | SonosWohnzimmer2 | 48:a6:b8:14:fe:f2 | | | | dhcp-host=48:a6:b8:14:fe:f2,10.40.41.200,SonosWohnzimmer2 |
| 10.40.41.201 | SonosWohnzimmer3 | 78:28:ca:d2:0d:ac | | | | dhcp-host=78:28:ca:d2:0d:ac,10.40.41.201,SonosWohnzimmer3 |
| 10.40.41.202 | shelly: s22 | a0:85:e3:c8:65:34 | | | | kueche_steckdose3-2 |
| 10.40.41.203 | shelly: s23 | ac:15:18:7b:62:20 | | | | dieleug-wohnzimmer_licht |
| 10.40.41.204 | shelly: s24 | | | | | bad_spielgelschrank |
| 10.40.41.205 | shelly: s25 | 98:a3:16:79:38:50 | | | | bad_lichtschalter |
## IOT
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.206 | shelly: s20 | 98:a3:16:7c:5f:ec | | | | kueche_steckdosen2 |
| 10.40.41.207 | shelly: s21 | 20:6e:f1:01:f9:f8 | | | | kueche_steckdosen4 |
| 10.40.41.208 | shelly: s1 | E4:B0:63:D7:C7:A4 | | | | weihnachten_kueche |
| 10.40.41.209 | shelly: s2 | 28:37:2F:36:F4:7C | | | | weihnachten_terrasse |
| 10.40.41.210 | shelly: s3 | E4:B0:63:E4:EF:7C | | | | weihnachten_kinderzimmer |
| 10.40.41.211 | shelly: s4 | E4:B0:63:E4:0F:30 | | | | kueche_mikrowelle |
| 10.40.41.212 | shelly: s5 | D8:85:AC:0C:5C:C8 | | | | kueche_backofen |
| 10.40.41.213 | shelly: s6 | 0c:72:74:36:90:9e | | | | kueche_kuehlschrank |
| 10.40.41.214 | shelly: s7 | D0:CF:13:D9:94:E8 | | | | kueche_tiefkuehlschrank |
| 10.40.41.215 | shelly: s8 | E4:B0:63:FA:FD:E0 | | | | kueche_geschirrspueler |
| 10.40.41.216 | shelly: s9 | E8:F6:0A:61:88:08 | | | | wohnzimmer_sideboard |
| 10.40.41.217 | shelly: s10 | E4:B0:63:FC:57:E4 | | | | bad_sonos |
| 10.40.41.218 | shelly: s11 | E4:B0:63:FA:6C:00 | | | | kinderzimmer_sonos |
| 10.40.41.219 | shelly: s12 | 48:f6:ee:c8:e6:ac | | | | dieleug_steckdosen |
| 10.40.41.220 | shelly: s13 | 48:F6:EE:DD:6A:F4 | | | | arbeitszimmer_technik |
| 10.40.41.221 | shelly: s14 | E4:B0:63:FC:59:48 | | | | schlafzimmer_bett |
| 10.40.41.222 | shelly: s15 | E4:B0:63:FA:D5:34 | | | | technik_pve |
| 10.40.41.223 | shelly: s16 | 10:20:ba:fa:f5:40 | | | | wohnzimmer_steckdosen |
| 10.40.41.224 | shelly: s17 | 10:20:ba:fb:6d:64 | | | | bad_steckdosen |
| 10.40.41.225 | shelly: s18 | 48:f6:ee:cc:16:e4 | | | | kueche_steckdosen1 |
| 10.40.41.226 | shelly: s19 | 10:20:ba:fb:70:fc | | | | kueche_steckdosen3 |
| 10.40.41.227 | switchbot-floorlamp | B8:F8:62:09:F2:04 | | | | |
| 10.40.41.228 | Twinkly Weihnachtsgirlande | 98:F4:AB:2C:A7:88 | | | | dhcp-host=98:F4:AB:2C:A7:88,10.40.41.223,TwinklyWeihnachtsgirlande |
| 10.40.41.229 | tuya smartlife TK | | | | | |
| 10.40.41.230 | Withings_waage | 00:24:e4:40:2a:72 | | | | |
| 10.40.41.231 | Withings_blutdruck | A4:7E:FA:18:2C:64 | | | | |
| 10.40.41.232 | pve:homematic-raspi (ccu) | BC:24:11:8E:0A:57 | 330 | 172.16.0.232 | BC:24:11:D3:B3:F4 | |
| 10.40.41.233 | shelly: s26 | 98:a3:16:7a:a3:54 | | | | bad_luefter |
| 10.40.41.234 | | | | | | |
| 10.40.41.235 | | | | | | |
| 10.40.41.236 | lichterkette | A4:F0:0F:5F:D0:EC | | | | |
| 10.40.41.237 | lichterkette-mini | 24:DC:C3:9B:89:64 | | | | |
| 10.40.41.238 | | | | | | |
| 10.40.41.239 | sw1 | 00:08:54:71:98:2D | | | | allnet core switch / dhcp-host=00:08:54:71:98:2D,10.40.41.239,sw1 |
| 10.40.41.240 | | | | | | |
| 10.40.41.241 | NukiSmartlock | 28:DB:A7:09:7B:54 | | | | |
| 10.40.41.242 | | | | | | |
| 10.40.41.243 | | | | | | |
| 10.40.41.244 | NukiBridge | 24:62:ab:b1:63:f4 | | | | dhcp-host=24:62:ab:b1:63:f4,10.40.41.244,NukiBridge |
| 10.40.41.245 | | | | | | |
## Netzwerk
| ip | hostname | mac | pve_ct | server_ip | server_mac | note |
|---|---|---|---|---|---|---|
| 10.40.41.246 | fritzrepeater1 | 12:72:74:9c:66:49 | | | | Arbeitszimmer / dhcp-host=12:72:74:9c:66:49,10.40.41.246,fritzrepeater1 |
| 10.40.41.247 | | | | | | |
| 10.40.41.248 | | | | | | |
| 10.40.41.249 | | | | | | |
| 10.40.41.250 | | | | | | |
| 10.40.41.251 | | | | | | |
| 10.40.41.252 | | | | | | |
| 10.40.41.253 | openwrt | | 700 | | | |
| 10.40.41.254 | gateway-bf | 0c:72:74:36:90:9c | | | | |

View File

@@ -1,144 +0,0 @@
#!/usr/bin/env python3
"""Kanonischer Doku-Generator für das BF-Inventar.
Wahrheit = CSV. Markdown wird daraus generiert.
- `build.py --seed` : (einmalig) bf.csv aus IPs.xlsx erzeugen (mit Transform/Deltas)
- `build.py` : bf.md aus bf.csv + bf-core-ports.md aus bf-core-ports.csv rendern
Künftige Änderungen: bf.csv editieren -> `python3 build.py` -> bf.md aktuell.
"""
import sys, os, re, csv, zipfile
import xml.etree.ElementTree as ET
HERE = os.path.dirname(os.path.abspath(__file__))
XLSX = os.path.join(HERE, 'IPs.xlsx')
BF_CSV = os.path.join(HERE, 'bf.csv')
BF_MD = os.path.join(HERE, 'bf.md')
PORTS_CSV = os.path.join(HERE, 'bf-core-ports.csv')
PORTS_MD = os.path.join(HERE, 'bf-core-ports.md')
IPRE = re.compile(r'^\d{1,3}(\.\d{1,3}){3}$')
MACRE = re.compile(r'^[0-9A-Fa-f]{1,2}(:[0-9A-Fa-f]{1,2}){5}$')
COLS = ['section', 'ip', 'hostname', 'mac', 'pve_ct', 'server_ip', 'server_mac', 'note']
def _strip(t): return re.sub(r'\{[^}]*\}', '', t)
def read_xlsx_sheet(path, sheet):
z = zipfile.ZipFile(path)
shared = []
if 'xl/sharedStrings.xml' in z.namelist():
for si in ET.fromstring(z.read('xl/sharedStrings.xml')):
shared.append(''.join(t.text or '' for t in si.iter() if _strip(t.tag) == 't'))
wb = ET.fromstring(z.read('xl/workbook.xml'))
rels = {r.get('Id'): r.get('Target') for r in ET.fromstring(z.read('xl/_rels/workbook.xml.rels'))}
tgt = None
for s in wb.iter():
if _strip(s.tag) == 'sheet' and s.get('name') == sheet:
rid = [v for k, v in s.attrib.items() if k.endswith('}id') or k == 'id'][0]
t = rels[rid]; tgt = t if t.startswith('xl/') else 'xl/' + t
ws = ET.fromstring(z.read(tgt))
def colnum(ref):
m = re.match(r'([A-Z]+)(\d+)', ref)
if not m: return 0, 0
c = 0
for ch in m.group(1): c = c * 26 + (ord(ch) - 64)
return c, int(m.group(2))
cells = {}; maxc = 0; maxr = 0
for c in ws.iter():
if _strip(c.tag) != 'c': continue
ref = c.get('r') or ''; t = c.get('t'); col, row = colnum(ref)
if not col: continue
vs = [x for x in c if _strip(x.tag) == 'v']; iss = [x for x in c if _strip(x.tag) == 'is']
val = ''
if t == 's' and vs:
try: val = shared[int(vs[0].text)]
except Exception: val = vs[0].text or ''
elif iss: val = ''.join(x.text or '' for x in iss[0].iter() if _strip(x.tag) == 't')
elif vs: val = vs[0].text or ''
if val != '':
cells.setdefault(row, {})[col] = val; maxc = max(maxc, col); maxr = max(maxr, row)
grid = [[cells.get(r, {}).get(c, '') for c in range(1, maxc + 1)] for r in range(1, maxr + 1)]
return grid
def seed_bf_csv():
grid = read_xlsx_sheet(XLSX, 'bf')
out = []
section = ''
for r in grid[1:]: # skip header row
nz = [x for x in r if x.strip()]
if not nz:
continue
# cols: A(0) empty | B(1) ip/section | C(2) host | D(3) mac | E(4) ct | F(5) sip | G(6) smac | H(7) note | I(8) note2
def g(i): return r[i].strip() if i < len(r) else ''
ipcell = g(1)
# section header row = single non-empty cell, not an IP
if len(nz) == 1 and not IPRE.match(nz[0].strip()):
section = nz[0].strip(); continue
ip = ipcell if IPRE.match(ipcell) else ''
host = g(2); mac = g(3) if MACRE.match(g(3)) else ''
ct = g(4); sip = g(5); smac = g(6)
notes = [g(7), g(8)]
# defensive: misplaced data -> note
if g(3) and not MACRE.match(g(3)): notes.append('mac?=' + g(3))
if ct and not ct.isdigit(): notes.append(ct); ct = ''
if sip and not IPRE.match(sip): notes.append(sip); sip = ''
if smac and not MACRE.match(smac): notes.append(smac); smac = ''
note = ' / '.join(n for n in notes if n.strip())
# --- deltas (User 2026-06-05) ---
if host == 'VPNjoernfuenfstueck':
continue # gekickt
if host == 'VPNchristoph':
note = 'Fallback bis CF One überall läuft; IP umziehbar/unwichtig'
out.append([section, ip, host, mac, ct, sip, smac, note])
with open(BF_CSV, 'w', newline='') as f:
w = csv.writer(f); w.writerow(COLS); w.writerows(out)
print(f'seed: wrote {BF_CSV} ({len(out)} rows)')
def render_bf_md():
with open(BF_CSV) as f:
rows = list(csv.DictReader(f))
lines = ['# Inventar — Standort BF (kanonisch)', '',
'> Generiert aus `bf.csv` via `build.py`. **Quelle der Wahrheit = bf.csv.** Seed: `IPs.xlsx`.',
'> ⚠️ Manche `pve_ct`/Einträge können Doku-Leichen sein (z.B. re-dockerisierte Container).', '']
cur = None
cols = ['ip', 'hostname', 'mac', 'pve_ct', 'server_ip', 'server_mac', 'note']
for row in rows:
if row['section'] != cur:
cur = row['section']
lines += ['', f'## {cur or "(ohne Sektion)"}', '',
'| ' + ' | '.join(cols) + ' |', '|' + '|'.join(['---'] * len(cols)) + '|']
if not any(row[c].strip() for c in cols):
continue
lines.append('| ' + ' | '.join(row[c].replace('|', '\\|') for c in cols) + ' |')
with open(BF_MD, 'w') as f:
f.write('\n'.join(lines) + '\n')
print(f'wrote {BF_MD} ({len(rows)} rows)')
def render_ports_md():
if not os.path.exists(PORTS_CSV):
return
with open(PORTS_CSV) as f:
rows = list(csv.DictReader(f))
cols = list(rows[0].keys()) if rows else []
lines = ['# Core-Switch ALL-SG8316M (sw1, 10.40.41.239) — Port-Map', '',
'> Ist-Belegung. Ports 4/8/15/16 **behalten** (4+8 interim bis neue Switches produktiv).',
'> Übrige Ports (1–3, 5–7, 9–14): noch nicht erfasst — gemeinsam ergänzen.', '',
'| ' + ' | '.join(cols) + ' |', '|' + '|'.join(['---'] * len(cols)) + '|']
for r in rows:
lines.append('| ' + ' | '.join((r[c] or '').replace('|', '\\|') for c in cols) + ' |')
with open(PORTS_MD, 'w') as f:
f.write('\n'.join(lines) + '\n')
print(f'wrote {PORTS_MD} ({len(rows)} ports)')
if __name__ == '__main__':
if '--seed' in sys.argv or not os.path.exists(BF_CSV):
seed_bf_csv()
render_bf_md()
render_ports_md()