Hallo zusammen,
ich brauche eure Hilfe bei einem hartnäckigen WireGuard-Problem. Ich versuche, von unterwegs (Android App) per VPN auf mein Heimnetz (UDM) zuzugreifen.
Mein Setup:
- Anschluss: htp Glasfaser (echtes Dual-Stack, öffentliche IPv4 vorhanden).
- Modem/Router: FritzBox 7560 (IP: 192.168.0.xxx).
- Gateway: UniFi Dream Machine Pro (UDM), angeschlossen an FritzBox.
- Konfiguration: UDM ist in der FritzBox als Exposed Host eingetragen (feste IP 192.168.0.xxx).
- DynDNS: DuckDNS (Status in FritzBox: "angemeldet").
Das Problem: Ein Handshake kommt nur sporadisch oder gar nicht zustande. Wenn ich die Config in der WireGuard-App importiere, beobachte ich folgendes seltsames Verhalten:
- Schlüssel-Chaos: Nach dem Erzeugen eines neuen Users in der UDM scheint es oft so, als wären der Public Key im [Interface]-Bereich der App und der Public Key im [Peer]-Bereich identisch. Oder in der Coonfic Datei und im Client stimmen nicht mehr überein. Dadurch findet kein Handshake statt. (aktuell geht es in den letzten 24 Stunden)
- DNS-Abhängigkeit: Ein Handshake wird oft erst dann ausgelöst, wenn ich den DNS in der App manuell von der UDM-IP (192.168.xx.x) auf einen öffentlichen DNS (z.B. 8.8.8.8) ändere. Nach einem Trennen der Verbindung schlägt der nächste Aufbau meist wieder fehl.
Ergänzung zum Problem ( "DNS-Abhängigkeit"):
Ich habe jede Stunde versucht, die VPN-Verbindung über das Mobilfunknetz aufzubauen. Das funktionierte tadellos – bis heute Morgen. Ging es nicht mehr.
Jetzt kommt das völlig bizarre Verhalten, das ich mir nicht erklären kann:
- Die Verbindung schlägt fehl (keine Antwort auf den Handshake).
- Ich gehe in der WireGuard-App auf den Stift (Bearbeiten).
- Ich ändere absolut nichts an der Konfiguration.
- Ich klicke einfach nur auf Speichern.
- Sofort danach funktioniert der Handshake und die Verbindung steht.
Es wirkt so, als würde die WireGuard-App (oder das Android-System) die IP-Adresse hinter xxxxx.duckdns.org "einfrieren". Erst durch das "Abspeichern" der Config scheint die App gezwungen zu werden, den DNS-Namen komplett neu aufzulösen und die Verbindung mit der neuen IP frisch zu initialisieren.
Hat jemand eine Idee, warum die App nicht von selbst merkt, dass die IP hinter der Domain nicht mehr stimmt? Gibt es eine Einstellung in der UDM oder in der App (z.B. Persistent Keepalive), die dieses Verhalten beeinflusst oder den DNS-Cache erzwingt?
LG