From 2c5d50fd1a75532409654e6186184393a63e4489 Mon Sep 17 00:00:00 2001 From: Floke Date: Tue, 6 Jan 2026 15:27:58 +0000 Subject: [PATCH] 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. --- duckdns_setup.md | 48 +++++++++++++++++------------------------------- 1 file changed, 17 insertions(+), 31 deletions(-) diff --git a/duckdns_setup.md b/duckdns_setup.md index 1b398eb2..2714b07f 100644 --- a/duckdns_setup.md +++ b/duckdns_setup.md @@ -9,20 +9,17 @@ Dieses Dokument beschreibt die Docker-basierte Lösung zur DynDNS-Aktualisierung ## Problembeschreibung 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). -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 -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`) * **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: - * **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) +* **Monitor (`dns-monitor`):** Überwacht alle 5 Minuten die DNS-Auflösung via Cloudflare (`1.1.1.1`). ## 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! * **Ort 1 (Allgemein):** Systemsteuerung -> Netzwerk -> Allgemein -> "DNS-Server manuell konfigurieren". -* **Ort 2 (Schnittstelle - WICHTIG):** Systemsteuerung -> Netzwerk -> Netzwerk-Schnittstelle -> LAN 1 (oder aktiv) -> Bearbeiten -> IPv4. - * **Fehler:** Hier war manuell `8.8.8.8` eingetragen, der veraltete Daten lieferte. - * **Korrektur:** Auf "Automatisch abrufen" (DHCP von FritzBox) oder manuell auf `1.1.1.1` (Cloudflare) stellen. +* **Ort 2 (Schnittstelle - WICHTIG):** Systemsteuerung -> Netzwerk -> Netzwerk-Schnittstelle -> LAN 1 -> Bearbeiten -> IPv4. + * **Fehler:** Hier war manuell `8.8.8.8` eingetragen. + * **Korrektur:** Auf "Automatisch abrufen" oder manuell auf `1.1.1.1` (Cloudflare) stellen. ### 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-Rebind-Schutz (NAT Loopback):** Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> "DNS-Rebind-Schutz". - * Alle Subdomains eintragen (`floke.duckdns.org` etc.), damit der interne Zugriff auf die externe IP erlaubt wird. +* **DNS-Server:** Internet -> Zugangsdaten -> DNS-Server auf Cloudflare (`1.1.1.1`, `1.0.0.1`) stellen. +* **DNS-Rebind-Schutz:** Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> "DNS-Rebind-Schutz". Alle Subdomains eintragen (`floke.duckdns.org` etc.). -### 3. DuckDNS Token Rotation -Um Zombie-Updater (alte Geräte) auszusperren: -1. Token auf duckdns.org erneuern. -2. Neuen Token **nur** im Docker-Container verwenden. -3. Alten Token überall löschen. +### 3. Hardware / DSL-Leitung (Physische Ursache für Timeouts) +Die FritzBox-Logs zeigen wiederkehrende DSL-Sync-Probleme und den Fehler: +> *"An der DSL-Leitung wurde eine Beeinträchtigung des Signals durch eine unzulässige Verkabelung erkannt. [...] Die Abzweigung ist 17 Meter lang."* -### 4. Client Cache (Windows) -```cmd -ipconfig /flushdns -``` +Dies deutet auf eine **Stichleitung/Parallelschaltung** in der Hausverkabelung hin. Dies verursacht Signalreflexionen, Paketverluste und Timeouts (`NETWORK_WAIT` im Monitor). +**Empfehlung:** Hausverkabelung prüfen (lassen) und ungenutzte Telefondosen abklemmen. ## 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 ``` -**Szenario NETWORK_WAIT (Synology Timeout):** +**Szenario NETWORK_WAIT (Leitungsfehler):** ```text [TIMESTAMP] [NETWORK_WAIT] Pub: 87.x.x.x | CF: Unresolved | ... ``` -Deutet auf instabile Internetverbindung oder DNS-Blockade der Synology hin. - -**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. +Häufig verursacht durch DSL-Resyncs oder Paketverlust wegen der Stichleitung. ## Dateien - `/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. \ No newline at end of file