diff --git a/adguard/AdGuardHome.yaml b/adguard/AdGuardHome.yaml index 7242237..5262f89 100644 --- a/adguard/AdGuardHome.yaml +++ b/adguard/AdGuardHome.yaml @@ -31,7 +31,7 @@ dns: refuse_any: true upstream_dns: - https://px35ynlol3.cloudflare-gateway.com/dns-query - - '[/bf.lan/]10.40.20.1' + - '[/bf.emsenhuber.net/]10.40.20.1' - '[/40.10.in-addr.arpa/]10.40.20.1' upstream_dns_file: "" bootstrap_dns: @@ -157,6 +157,39 @@ filtering: parental_block_host: family-block.dns.adguard.com safebrowsing_block_host: standard-block.dns.adguard.com rewrites: + - domain: pbs.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: portainer.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: pve.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: gitea-mcp.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: n8n-mcp.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: ha-mcp.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: pve-mcp.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: z2m25.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: iobroker.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: ccu.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true + - domain: nautobot.bf.emsenhuber.net + answer: 10.40.20.40 + enabled: true - domain: vw.emsenhuber.net answer: 10.40.20.40 enabled: true @@ -232,6 +265,36 @@ filtering: - domain: branch.emsenhuber.net answer: 10.40.99.2 enabled: true + - domain: nas.bf.emsenhuber.net + answer: 10.40.20.10 + enabled: true + - domain: macmini.bf.emsenhuber.net + answer: 10.40.20.167 + enabled: true + - domain: mfc.bf.emsenhuber.net + answer: 10.40.10.6 + enabled: true + - domain: tv.bf.emsenhuber.net + answer: 10.40.40.11 + enabled: true + - domain: docker.bf.emsenhuber.net + answer: 10.40.20.126 + enabled: true + - domain: platform-pg.bf.emsenhuber.net + answer: 10.40.20.20 + enabled: true + - domain: core.bf.emsenhuber.net + answer: 10.40.99.1 + enabled: true + - domain: ap1.bf.emsenhuber.net + answer: 10.40.99.11 + enabled: true + - domain: ap2.bf.emsenhuber.net + answer: 10.40.99.12 + enabled: true + - domain: branch.bf.emsenhuber.net + answer: 10.40.99.2 + enabled: true safe_fs_patterns: - /opt/AdGuardHome/userfilters/* max_http_size: 256MB diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 478f5dc..568d624 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -39,7 +39,7 @@ gitea.emsenhuber.net { # ========================================================================= # INTERN (Mesh/LAN; Split-Horizon zeigt diese Namen auf 10.40.20.40) # ========================================================================= -nautobot.emsenhuber.net { +nautobot.emsenhuber.net, nautobot.bf.emsenhuber.net { reverse_proxy http://10.40.20.30:8080 } @@ -51,49 +51,49 @@ ds-bf.emsenhuber.net { reverse_proxy http://10.40.20.10:8080 } -ccu.emsenhuber.net { +ccu.emsenhuber.net, ccu.bf.emsenhuber.net { reverse_proxy http://10.40.20.232 } -iobroker.emsenhuber.net { +iobroker.emsenhuber.net, iobroker.bf.emsenhuber.net { reverse_proxy http://10.40.20.107:8081 } -z2m25.emsenhuber.net { +z2m25.emsenhuber.net, z2m25.bf.emsenhuber.net { reverse_proxy http://10.40.20.106:8080 } # --- MCP-Endpunkte: heute spricht ~/.claude.json diese IPs roh -------------- -pve-mcp.emsenhuber.net { +pve-mcp.emsenhuber.net, pve-mcp.bf.emsenhuber.net { reverse_proxy http://10.40.20.173:3000 } -ha-mcp.emsenhuber.net { +ha-mcp.emsenhuber.net, ha-mcp.bf.emsenhuber.net { reverse_proxy http://10.40.20.105:9583 } -n8n-mcp.emsenhuber.net { +n8n-mcp.emsenhuber.net, n8n-mcp.bf.emsenhuber.net { reverse_proxy http://10.40.20.167:3001 } -gitea-mcp.emsenhuber.net { +gitea-mcp.emsenhuber.net, gitea-mcp.bf.emsenhuber.net { reverse_proxy http://10.40.20.167:3000 } # --- HTTPS-Backends (Selbstsignat) ----------------------------------------- -pve.emsenhuber.net { +pve.emsenhuber.net, pve.bf.emsenhuber.net { reverse_proxy https://10.40.20.100:8006 { import selfsigned } } -portainer.emsenhuber.net { +portainer.emsenhuber.net, portainer.bf.emsenhuber.net { reverse_proxy https://10.40.20.126:9443 { import selfsigned } } -pbs.emsenhuber.net { +pbs.emsenhuber.net, pbs.bf.emsenhuber.net { reverse_proxy https://10.40.20.135:8007 { import selfsigned } diff --git a/docs/teilprojekte.md b/docs/teilprojekte.md index 62603be..32c8f8e 100644 --- a/docs/teilprojekte.md +++ b/docs/teilprojekte.md @@ -60,10 +60,17 @@ liest, liest ihn als Erstes: er wird bei jeder Änderung mitgezogen, nicht nur d Relay-Reparatur suchte die **App** immer noch nicht (macOS-Local-Network-Gate stand auf „an" und griff nicht; Fix war Schalter aus/ein + Neustart, User-bestätigt 08-25). **Beide sind erledigt.** - **Reverse Proxy = `caddy-bf1`** (LXC 130 auf pve, **`10.40.20.40`**, TP31 ✅ Schritt 1–3 seit - 2026-08-25, **`hass` 400 behoben 2026-08-26**): Caddy 2.11.4, **16 Sites**, Zertifikate ausschliesslich + 2026-08-25, **`hass` 400 behoben 2026-08-26, Split-Horizon seit 2026-08-26**): Caddy 2.11.4, + **16 Sites** (4 public, 12 intern mit `.bf.`-Suffix), Zertifikate ausschliesslich per **DNS-01** mit einem eng geschnittenen `Zone:DNS:Edit`-Token (`CF_DNS_API_TOKEN`, **nicht** das account-weite). Abnahme über den Host-Header von einem zweiten Host: 11× 200, `nautobot` 302. - Offen: Schritt 4–6 (Split-Horizon, Tunnel `bf-public`, Abbau). + Offen: Schritt 5–6 (Tunnel `bf-public`, Abbau). +- **DNS/Resolver = AdGuard-Paar `agh-bf1`/`agh-bf2`** (LXC 110/111 auf pve, **`10.40.20.36`/`.37`**, + TP23 Stufe 2 + TP31 Schritt 4 ✅ seit 2026-08-26): Upstream DoH zum CF-Gateway, conditional + `[/bf.emsenhuber.net/] → 10.40.20.1`, 47 Rewrites (16 Service → Caddy `.20.40` + 10 Host-Namen + mit `.bf.`-Suffix + alte suffixlose parallel). DHCP liefert `.36`/`.37` als DNS in allen 7 VLANs + (`domain=emsenhuber.net`), Firewall forward UDP+TCP/53 auf beide. Der Core-Resolver (`10.40.X.1`) + bleibt als Bootstrap unverändert (DoH, `allow-remote-requests=yes`, `mdns-repeat-ifaces`). - **Ausgebaut / gelöscht:** ALLNET-`sw1` und Omada-`sw2` sind **physisch weg** (2026-08-08 bzw. 2026-07-23, in Nautobot *Decommissioned*); Omada-Controller + `omada-mcp` gelöscht (2026-07-16); FritzBox 6660 raus seit 2026-07-01 (Liwest-Tausch auf Arris). **VLAN1 ist leer** (`/ip arp` auf `bridge` = 0 Einträge, @@ -86,7 +93,7 @@ liest, liest ihn als Erstes: er wird bei jeder Änderung mitgezogen, nicht nur d -**Nächster Schritt (Stand 2026-08-25): [TP31](#tp31) — Caddy als Reverse Proxy für innen und außen.** +**Nächster Schritt (Stand 2026-08-26): TP31 Schritt 5 — Tunnel `bf-public` auf ap1/ap2.** > 🆕 **Neu am 2026-08-24/25:** [TP31](#tp31) löst **TP16** und **TP16.2** ab und dampft cloudflared > von **sechs Containern auf einen** ein; [TP32](#tp32) gibt die Nummern- und Adress-Systematik vor > (und hat nebenbei die **falsche Startreihenfolge auf pve repariert** — HA startete vor seiner @@ -189,12 +196,12 @@ nachmessen und dann entscheiden**. Blocker gibt es keine mehr. TP5 ist in der Na > | TP17.3 | ✅ | Shelly-Regression behoben | 2026-08-23 | > | TP18 | 🔜 | Garage-Objektspeicher | — | > | TP20.1 | 🔜 | Vaultwarden → Platform-PG | — | -> | TP23 | ⏳ | DNS-Policy (Stufe 1 ✅, Stufe 2 vorbereitet) | — | +> | TP23 | ✅ | DNS-Policy (Stufe 1+2 ✅) | 2026-08-26 | > | TP24 | 🔜 | DC-USV | — | > | TP25 | ✅ | WLAN-Stabilisierung (Kern erledigt) | 2026-08-24 | > | TP29 | 💡 | Anwesenheitserkennung (Idee) | — | > | TP30 | 🔜 | Credentials (Etappe 1 ✅, Rest gebündelt) | — | -> | TP31 | ⏳ | Reverse Proxy Caddy (Schritt 1–3 ✅) | — | +> | TP31 | ✅ | Reverse Proxy Caddy (Schritt 1–4 ✅) | — | > | TP32 | 🟢 | Nummern-Systematik (Konzept) | — | > | TP33 | 💡 | Sonos fern (Idee, zurückgestellt) | — | > | — | — | **34 archivierte TPs** in `teilprojekte-archiv.md` | — |