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:
@@ -31,7 +31,7 @@ dns:
|
|||||||
refuse_any: true
|
refuse_any: true
|
||||||
upstream_dns:
|
upstream_dns:
|
||||||
- https://px35ynlol3.cloudflare-gateway.com/dns-query
|
- 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'
|
- '[/40.10.in-addr.arpa/]10.40.20.1'
|
||||||
upstream_dns_file: ""
|
upstream_dns_file: ""
|
||||||
bootstrap_dns:
|
bootstrap_dns:
|
||||||
@@ -157,6 +157,39 @@ filtering:
|
|||||||
parental_block_host: family-block.dns.adguard.com
|
parental_block_host: family-block.dns.adguard.com
|
||||||
safebrowsing_block_host: standard-block.dns.adguard.com
|
safebrowsing_block_host: standard-block.dns.adguard.com
|
||||||
rewrites:
|
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
|
- domain: vw.emsenhuber.net
|
||||||
answer: 10.40.20.40
|
answer: 10.40.20.40
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -232,6 +265,36 @@ filtering:
|
|||||||
- domain: branch.emsenhuber.net
|
- domain: branch.emsenhuber.net
|
||||||
answer: 10.40.99.2
|
answer: 10.40.99.2
|
||||||
enabled: true
|
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:
|
safe_fs_patterns:
|
||||||
- /opt/AdGuardHome/userfilters/*
|
- /opt/AdGuardHome/userfilters/*
|
||||||
max_http_size: 256MB
|
max_http_size: 256MB
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ gitea.emsenhuber.net {
|
|||||||
# =========================================================================
|
# =========================================================================
|
||||||
# INTERN (Mesh/LAN; Split-Horizon zeigt diese Namen auf 10.40.20.40)
|
# 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
|
reverse_proxy http://10.40.20.30:8080
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,49 +51,49 @@ ds-bf.emsenhuber.net {
|
|||||||
reverse_proxy http://10.40.20.10:8080
|
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
|
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
|
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
|
reverse_proxy http://10.40.20.106:8080
|
||||||
}
|
}
|
||||||
|
|
||||||
# --- MCP-Endpunkte: heute spricht ~/.claude.json diese IPs roh --------------
|
# --- 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
|
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
|
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
|
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
|
reverse_proxy http://10.40.20.167:3000
|
||||||
}
|
}
|
||||||
|
|
||||||
# --- HTTPS-Backends (Selbstsignat) -----------------------------------------
|
# --- HTTPS-Backends (Selbstsignat) -----------------------------------------
|
||||||
pve.emsenhuber.net {
|
pve.emsenhuber.net, pve.bf.emsenhuber.net {
|
||||||
reverse_proxy https://10.40.20.100:8006 {
|
reverse_proxy https://10.40.20.100:8006 {
|
||||||
import selfsigned
|
import selfsigned
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
portainer.emsenhuber.net {
|
portainer.emsenhuber.net, portainer.bf.emsenhuber.net {
|
||||||
reverse_proxy https://10.40.20.126:9443 {
|
reverse_proxy https://10.40.20.126:9443 {
|
||||||
import selfsigned
|
import selfsigned
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pbs.emsenhuber.net {
|
pbs.emsenhuber.net, pbs.bf.emsenhuber.net {
|
||||||
reverse_proxy https://10.40.20.135:8007 {
|
reverse_proxy https://10.40.20.135:8007 {
|
||||||
import selfsigned
|
import selfsigned
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
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.**
|
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
|
- **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
|
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.
|
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,
|
- **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
|
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,
|
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>
|
</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
|
> 🆕 **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
|
> 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
|
> (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 |
|
> | TP17.3 | ✅ | Shelly-Regression behoben | 2026-08-23 |
|
||||||
> | TP18 | 🔜 | Garage-Objektspeicher | — |
|
> | TP18 | 🔜 | Garage-Objektspeicher | — |
|
||||||
> | TP20.1 | 🔜 | Vaultwarden → Platform-PG | — |
|
> | 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 | — |
|
> | TP24 | 🔜 | DC-USV | — |
|
||||||
> | TP25 | ✅ | WLAN-Stabilisierung (Kern erledigt) | 2026-08-24 |
|
> | TP25 | ✅ | WLAN-Stabilisierung (Kern erledigt) | 2026-08-24 |
|
||||||
> | TP29 | 💡 | Anwesenheitserkennung (Idee) | — |
|
> | TP29 | 💡 | Anwesenheitserkennung (Idee) | — |
|
||||||
> | TP30 | 🔜 | Credentials (Etappe 1 ✅, Rest gebündelt) | — |
|
> | 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) | — |
|
> | TP32 | 🟢 | Nummern-Systematik (Konzept) | — |
|
||||||
> | TP33 | 💡 | Sonos fern (Idee, zurückgestellt) | — |
|
> | TP33 | 💡 | Sonos fern (Idee, zurückgestellt) | — |
|
||||||
> | — | — | **34 archivierte TPs** in `teilprojekte-archiv.md` | — |
|
> | — | — | **34 archivierte TPs** in `teilprojekte-archiv.md` | — |
|
||||||
|
|||||||
Reference in New Issue
Block a user