- Documented the critical finding of hardcoded DNS (8.8.8.8) in Synology Network Interface settings overriding global DSM settings. - Added comprehensive checklist for Synology, FritzBox, and Client configuration to ensure DNS stability and NAT loopback functionality. - Updated log analysis section with 'NETWORK_WAIT' and 'ALERT' scenarios.
3.5 KiB
DuckDNS & DNS Monitor Setup
Erstellt am: 05.01.2026 Zuletzt aktualisiert: 06.01.2026 Status: Aktiv Architektur: Sidecar-Pattern
Dieses Dokument beschreibt die Docker-basierte Lösung zur DynDNS-Aktualisierung und Überwachung sowie die kritischen Netzwerkeinstellungen auf der Synology Diskstation und der FritzBox.
Problembeschreibung
Das System litt unter massiven DNS-Problemen:
- "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. - Interne Unerreichbarkeit: Dienste waren im LAN nicht erreichbar (NAT Loopback Problem).
- 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.
Lösung
Wir haben eine robuste Zwei-Container-Lösung (Sidecar-Pattern) 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- Google8.8.8.8erwies sich als zu langsam/gecacht) - Local DNS: (Container/Host Resolver)
Kritische Peripherie-Konfiguration (MUSS GEPRÜFT WERDEN!)
1. Synology DSM Netzwerkeinstellungen (Die "versteckte Falle")
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.8eingetragen, der veraltete Daten lieferte. - Korrektur: Auf "Automatisch abrufen" (DHCP von FritzBox) oder manuell auf
1.1.1.1(Cloudflare) stellen.
- Fehler: Hier war manuell
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.orgetc.), damit der interne Zugriff auf die externe IP erlaubt wird.
- Alle Subdomains eintragen (
3. DuckDNS Token Rotation
Um Zombie-Updater (alte Geräte) auszusperren:
- Token auf duckdns.org erneuern.
- Neuen Token nur im Docker-Container verwenden.
- Alten Token überall löschen.
4. Client Cache (Windows)
ipconfig /flushdns
Logs & Monitoring
DNS-Konsistenz prüfen
docker logs dns-monitor
Szenario OK:
[TIMESTAMP] [OK] Pub: 87.x.x.x | CF: 87.x.x.x | Loc: 87.x.x.x
Szenario NETWORK_WAIT (Synology Timeout):
[TIMESTAMP] [NETWORK_WAIT] Pub: 87.x.x.x | CF: Unresolved | ...
Deutet auf instabile Internetverbindung oder DNS-Blockade der Synology hin.
Szenario ALERT (Zombie/Cache):
[TIMESTAMP] [ALERT] Pub: 87.x.x.x | CF: 87.y.y.y | ...
Cloudflare liefert falsche IP -> DuckDNS Update fehlgeschlagen oder Nameserver-Probleme.
Dateien
/app/docker-compose.yml: Definition der Services./app/dns-monitor/monitor.sh: Das Shell-Skript für den Monitor-Container.