TP23 Stufe 2 + TP31 Schritt 4: AdGuard split-horizon mit .bf.-Suffix, Caddyfile .bf.-FQDNs

- AGH 110/111: conditional upstream [/bf.emsenhuber.net/]10.40.20.1
- 47 Rewrites: 16 Service->Caddy (inkl. .bf.), 10 Hosts mit .bf., suffixlose parallel
- Caddyfile: interne Sites mit .bf.-Alias (public vw/hass/n8n/gitea ohne)
- DHCP: alle 7 VLANs zeigen auf .36/.37 (domain=emsenhuber.net)
- Firewall-Regeln auf .36/.37 bereits scharf
- nas.emsenhuber.net endgueltig entfernt (war schon in 1d569fa)
- Ist-Stand-Block + Status-Tabelle nachgezogen
This commit is contained in:
2026-08-26 21:22:39 +02:00
parent 6234e61c4e
commit 1d307721ad
3 changed files with 87 additions and 17 deletions

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
</details>
**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` | — |