DynDNS Adresse mit Reverse Proxy "endet" an FritzBox

ZatSynFo

Benutzer
Mitglied seit
30. Mrz 2020
Beiträge
9
Punkte für Reaktionen
3
Punkte
53
yupp, das war aber so für mich nicht ganz klar aus Deinem Text erkennbar ... wie aktualisierst Du die IPv6 von der DS auf der DS?
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
14.060
Punkte für Reaktionen
3.873
Punkte
488
wie aktualisierst Du die IPv6 von der DS auf der DS?
Momentan nicht über die DS, sondern auch auf der Fritzbox über MyFritz. Wenn dort eine eine Portfreigabe als sog. "My!FRITZ-Freigabe" definiert ist, wird die IPv6 des Ziels auch über z.B. "DS415.<MeineMyFRITZID>.myfritz.net" DNS-auflösbar. Diesen Namen kann ich dann in meiner Domain bei Strato als CNAME verwenden, dann klappt auch z.B. DS415.example.com. Das ist so ein ähnliches Konstrukt wie @Fusion oben meinte.
 

peeetrick

Benutzer
Mitglied seit
21. Nov 2023
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Habe jetzt das leidige Thema mit DynDNS in Kombination FritzBox und Synology DSM 7.0 endlich im Griff und zwar mit IPv4 und IPv6.

Die Fritzbox hat eine andere IPv6 Range als das man vom Provider als Präfix bekommt und somit auch die Endgeräte hinter der FB - zumidest ist das bei mir so. Über DynDNS kommt man deswegen immer auf die Fritzbox, wenn der Client eine IPv6 Adresse haben will / soll. Das Problem beschreibt im Übrigen AVM auch auf seiner Homepage.
https://avm.de/service/wissensdaten...f-auf-HTTPS-Server-im-Heimnetz-nicht-moglich/
Vielleicht hat AVM auch Angst, dass man evtl. gar nicht mehr auf die Fritzbox kommt, wenn man beide Ports weiterleitet.

BTW: Nutz man DynDNS auf der Fritzbox, dann ändert sich das selfsigned Zertifikat, welches aber scheinbar fehlerhaft ist und mit FireFox (neuere Version) nicht mehr umgangen werden kann. FF verweigert schlicht den Zugriff und verweist auf entsprechende RfCs. Mit Chrome und Edge hat das bis Weilen noch funktioniert. Schaltet man DynDNS auf der FB wieder aus und löscht anschließend den Cache im FF, funktioniert der Zugriff wieder.

Ich habe meine Domain bei ALL-INKL.com, das mir erlaubt sowohl IPv4 und IPv6 zu aktualisieren.

Synology unterstütz IPv6 von Haus aus aber nur, wenn man die Synology Domain benutzt. Der DDNS Updater 2 funktioniert leider ab DSM 7.0 nicht mehr. Und die Docker Variante unterstützt ALL-INKL nicht, außerdem finde ich das ein wenig Oversized.

Will man seine eigene Domain benutzen, bleibt einem nur, ein weiteres DDNS Module hinzuzufügen. Was aber an sich kein großes Hexenwerk ist.

In der GUI kann man leider den Modul Path für den Customized Provider nicht anpassen - warum auch immer. Deswegen muss man in der Datei /etc/ddns_provider.conf die folgenden Zeilen mit einem Editor hinzufügen:
Code:
[USER_all-inkl.com]
    modulepath=/usr/syno/bin/ddns/all-inkl.php
    queryurl=https://dyndns.kasserver.com
die QueryURL ist nicht sonderlich wichtig, kann aber auch nicht weggelassen werden.

Anschließend legt man das Script an und verpasst ihr Root und Execute Rechte:
Bash:
sudo -i touch /usr/syno/bin/ddns/all-inkl.php
sudo -i chmod 755 /usr/syno/bin/ddns/all-inkl.php

Der Inhalt ist wie folgt:
PHP:
    #!/usr/local/bin/php74 -d open_basedir=/usr/syno/bin/ddns
    <?php
    function getHostPublicIPv6($host) {
        $records = array();
        $records = dns_get_record($host, DNS_AAAA);
        foreach ($records as $record) {
            $result = filter_var(
                $record['ipv6'],
                FILTER_VALIDATE_IP,
                FILTER_FLAG_IPV6 + FILTER_FLAG_NO_PRIV_RANGE + FILTER_FLAG_NO_RES_RANGE
            );
            if (!empty($result)) { return $result; }
        }
    }
    //if ($argc !== 5) { echo 'badparam'; exit(); }
    $verbose = false;
    $username = (string)$argv[1];
    $password = (string)$argv[2];
    $hostname = (string)$argv[3];
    $ipv4 = (string)$argv[4];
    $ipv6 = getHostPublicIPv6(gethostname());
    if ($verbose) {
        print "host: $hostname \n";
        print "IPv4: $ipv4 \n";
        print "IPv6: $ipv6 \n";
    }
    $url = "https://dyndns.kasserver.com/?myip=$ipv4&myip6=$ipv6";
    $handle = curl_init();
    curl_setopt($handle, CURLOPT_URL, $url);
    //curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($handle, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($handle, CURLOPT_USERAGENT, "SynoDDNS ALL-INKL customized by ZW 2021-12");
    $result = curl_exec($handle);
    if ($verbose) { print curl_error($handle); print "\n"; }
curl_close($handle);

Am Ende legt man in der GUI unter Control Panel > External Access > DDNS einen neuen Eintrag ein und füllt diese mit den eigenen Werten. Speichern und Update Now sollte dann wie gewünscht funktionieren. Falls nicht, dann habt Ihr etwas falsch gemacht ;-)

Als positiven Nebeneffekt konnte ich Port 80 und 443 auf der FB wieder schließen. Selbst Let's Encrypt funktioniert damit. Mit ACME und DNS-Challenge konnte ich mir für meine Domäne ein Wildcard Zertifikat erstellen und auf die Synology, QNAP und Fritzbox verteilen. ACME unterstützt auch ALL-INKL als DNS Provider, autom. Renew über den Task Scheduler und fügt sich sauber in die GUI von DSM ein.

Ein Problem hatte ich anfänglich, als ich für den DDNS Hostnamen ein Zertifikat anlegen wollte. ALL-INKL benutzt für den DDNS Namen einen anderen DNS Server, nämlich: dyndns.kasserver.com. Für den DNS-Challenge von LE muss aber eine TXT Record auf dem zuständigen DNS Server der Domäne anlegen können. Beide sind aber nicht identisch.

Ich bin mir ziemlich sicher, dass die hier genannten Probleme mit FF bzw. nicht Erreichbarkeit der NAS von außen, sich so beheben lassen ...

Ich kann dir gar nicht genug danken - wirklich die perfekte Zusammenfassung und Lösung für mein Problem. Vielen Dank!

Bei mir besteht noch das Problem, dass die GUI "denkt" es läuft nicht erfolgreich (die Updates aber beim Provider ankommen, auch nach einer Nacht und neuen IPs nochmal getestet) und entsprechende Warnhinweise und Emails verschickt - kennst du das Problem oder liegts am Output / der Rückmeldung von meinem Provider auf die Updateurl? In meinem Fall IONOS...
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat