Docs: Update infrastructure guide with physical DSL line findings.

- Added section on 'Hardware / DSL-Leitung' explaining the detected 17m branch line (Stichleitung) causing signal reflections and timeouts.
- Clarified that 'IP Flapping' was caused by stale caching of the previous day's IP, exacerbated by incorrect DNS settings (8.8.8.8).
- Finalized troubleshooting steps for Synology and FritzBox configuration.
This commit is contained in:
2026-01-06 15:27:58 +00:00
parent ebe254ce17
commit bbff84eda2

View File

@@ -9,20 +9,17 @@ Dieses Dokument beschreibt die Docker-basierte Lösung zur DynDNS-Aktualisierung
## Problembeschreibung ## Problembeschreibung
Das System litt unter massiven DNS-Problemen: Das System litt unter massiven DNS-Problemen:
1. **"IP Flapping":** Die IP sprang ständig zwischen der aktuellen (`.252`) und einer alten (`.49`), verursacht durch "Zombie-Updater" (alte Configs in FritzBox/HA) und DNS-Caching. 1. **"IP Flapping":** Die IP sprang ständig zwischen der aktuellen (`.252`) und der gestrigen (`.49`). Ursache war **aggressives Caching** der alten IP durch Google DNS (`8.8.8.8`) und falsche DNS-Einstellungen in der Synology, die diesen Cache abfragten.
2. **Interne Unerreichbarkeit:** Dienste waren im LAN nicht erreichbar (NAT Loopback Problem). 2. **Interne Unerreichbarkeit:** Dienste waren im LAN nicht erreichbar (NAT Loopback Problem).
3. **Synology DNS-Chaos:** Die Synology nutzte veraltete DNS-Server (`8.8.8.8`) fest in der Netzwerkschnittstelle, was zu falschen Auflösungen führte, selbst wenn der Router (FritzBox) korrekt war. 3. **Synology DNS-Chaos:** Die Synology nutzte veraltete DNS-Server (`8.8.8.8`) fest in der Netzwerkschnittstelle.
## Lösung ## Lösung
Wir haben eine robuste **Zwei-Container-Lösung** (Sidecar-Pattern) implementiert und das gesamte Netzwerk-Environment gehärtet. Wir haben eine robuste **Zwei-Container-Lösung** implementiert und das gesamte Netzwerk-Environment gehärtet.
### 1. Docker Services (`docker-compose.yml`) ### 1. Docker Services (`docker-compose.yml`)
* **Updater (`duckdns`):** Aktualisiert zuverlässig die IP bei DuckDNS. Wir nutzen einen **neuen Token**, um alle alten Updater auszusperren. * **Updater (`duckdns`):** Aktualisiert zuverlässig die IP bei DuckDNS. Wir nutzen einen **neuen Token**, um alle alten Updater auszusperren.
* **Monitor (`dns-monitor`):** Überwacht alle 5 Minuten die DNS-Auflösung. Er vergleicht: * **Monitor (`dns-monitor`):** Überwacht alle 5 Minuten die DNS-Auflösung via Cloudflare (`1.1.1.1`).
* **Public IP:** (via ipify)
* **Global DNS:** (via Cloudflare `1.1.1.1` - Google `8.8.8.8` erwies sich als zu langsam/gecacht)
* **Local DNS:** (Container/Host Resolver)
## Kritische Peripherie-Konfiguration (MUSS GEPRÜFT WERDEN!) ## Kritische Peripherie-Konfiguration (MUSS GEPRÜFT WERDEN!)
@@ -30,25 +27,20 @@ Wir haben eine robuste **Zwei-Container-Lösung** (Sidecar-Pattern) implementier
Die Synology kann DNS-Server an zwei Orten haben. Die Schnittstellen-Einstellung überschreibt die allgemeine Einstellung! Die Synology kann DNS-Server an zwei Orten haben. Die Schnittstellen-Einstellung überschreibt die allgemeine Einstellung!
* **Ort 1 (Allgemein):** Systemsteuerung -> Netzwerk -> Allgemein -> "DNS-Server manuell konfigurieren". * **Ort 1 (Allgemein):** Systemsteuerung -> Netzwerk -> Allgemein -> "DNS-Server manuell konfigurieren".
* **Ort 2 (Schnittstelle - WICHTIG):** Systemsteuerung -> Netzwerk -> Netzwerk-Schnittstelle -> LAN 1 (oder aktiv) -> Bearbeiten -> IPv4. * **Ort 2 (Schnittstelle - WICHTIG):** Systemsteuerung -> Netzwerk -> Netzwerk-Schnittstelle -> LAN 1 -> Bearbeiten -> IPv4.
* **Fehler:** Hier war manuell `8.8.8.8` eingetragen, der veraltete Daten lieferte. * **Fehler:** Hier war manuell `8.8.8.8` eingetragen.
* **Korrektur:** Auf "Automatisch abrufen" (DHCP von FritzBox) oder manuell auf `1.1.1.1` (Cloudflare) stellen. * **Korrektur:** Auf "Automatisch abrufen" oder manuell auf `1.1.1.1` (Cloudflare) stellen.
### 2. FritzBox (Router) ### 2. FritzBox (Router)
* **DNS-Server:** Internet -> Zugangsdaten -> DNS-Server. Empfehlung: Cloudflare (`1.1.1.1`, `1.0.0.1`) statt Provider-DNS oder Google. * **DNS-Server:** Internet -> Zugangsdaten -> DNS-Server auf Cloudflare (`1.1.1.1`, `1.0.0.1`) stellen.
* **DNS-Rebind-Schutz (NAT Loopback):** Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> "DNS-Rebind-Schutz". * **DNS-Rebind-Schutz:** Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> "DNS-Rebind-Schutz". Alle Subdomains eintragen (`floke.duckdns.org` etc.).
* Alle Subdomains eintragen (`floke.duckdns.org` etc.), damit der interne Zugriff auf die externe IP erlaubt wird.
### 3. DuckDNS Token Rotation ### 3. Hardware / DSL-Leitung (Physische Ursache für Timeouts)
Um Zombie-Updater (alte Geräte) auszusperren: Die FritzBox-Logs zeigen wiederkehrende DSL-Sync-Probleme und den Fehler:
1. Token auf duckdns.org erneuern. > *"An der DSL-Leitung wurde eine Beeinträchtigung des Signals durch eine unzulässige Verkabelung erkannt. [...] Die Abzweigung ist 17 Meter lang."*
2. Neuen Token **nur** im Docker-Container verwenden.
3. Alten Token überall löschen.
### 4. Client Cache (Windows) Dies deutet auf eine **Stichleitung/Parallelschaltung** in der Hausverkabelung hin. Dies verursacht Signalreflexionen, Paketverluste und Timeouts (`NETWORK_WAIT` im Monitor).
```cmd **Empfehlung:** Hausverkabelung prüfen (lassen) und ungenutzte Telefondosen abklemmen.
ipconfig /flushdns
```
## Logs & Monitoring ## Logs & Monitoring
@@ -62,18 +54,12 @@ docker logs dns-monitor
[TIMESTAMP] [OK] Pub: 87.x.x.x | CF: 87.x.x.x | Loc: 87.x.x.x [TIMESTAMP] [OK] Pub: 87.x.x.x | CF: 87.x.x.x | Loc: 87.x.x.x
``` ```
**Szenario NETWORK_WAIT (Synology Timeout):** **Szenario NETWORK_WAIT (Leitungsfehler):**
```text ```text
[TIMESTAMP] [NETWORK_WAIT] Pub: 87.x.x.x | CF: Unresolved | ... [TIMESTAMP] [NETWORK_WAIT] Pub: 87.x.x.x | CF: Unresolved | ...
``` ```
Deutet auf instabile Internetverbindung oder DNS-Blockade der Synology hin. Häufig verursacht durch DSL-Resyncs oder Paketverlust wegen der Stichleitung.
**Szenario ALERT (Zombie/Cache):**
```text
[TIMESTAMP] [ALERT] Pub: 87.x.x.x | CF: 87.y.y.y | ...
```
Cloudflare liefert falsche IP -> DuckDNS Update fehlgeschlagen oder Nameserver-Probleme.
## Dateien ## Dateien
- `/app/docker-compose.yml`: Definition der Services. - `/app/docker-compose.yml`: Definition der Services.
- `/app/dns-monitor/monitor.sh`: Das Shell-Skript für den Monitor-Container. - `/app/dns-monitor/monitor.sh`: Das Shell-Skript für den Monitor-Container.