Nextcloud at home with IPv4 and IPv6

Hallo, ich habe seit Jahren daheim eine Nextcloud laufen. Das technische Szenario sieht so aus:

Ich habe eine eigene Domain. Der myfritz-DNS-Eintrag meiner Fritzbox wird über einen CNAMe Eintrag an meiner Domain als intranet.meinedomain.com zur Verfügung gestellt. An der Fritzbox ist eine Portweitleitung für 443 an den Server zuhause eingerichtet. Anschluss ist ein Magenta VDSL100 Anschluss bei der Telekom.

Das klappt alles einwandfrei.

Sobald ich nun an der Fritzbox IPv6 aktiviere, kann ich nicht mehr auf meine Nextcloud zugreifen.
Ich erhalte immer SSL Fehlermeldungen.

Ich vermute, dass hier im DNS die IPv6 Adresse Probleme bereitet.
Das SSL Zertifikat ist von LetsEncrypt.

wenn ich nur mit IPv4 ins INternet gehe, werden nslookup Anfragen auf meine Domain intranet.meinedomain.com auch mit einer IPv4 Adresse beantwortet.

Aktiviere ich IPv6, werden die nslookup Anfragen mit IPv6,IPv4 beantwortet. Ich denke, hier ist er Fehler.

Hat jemand das gleiche Problem schon einmal gehabt, und konnte es lösen?
Wie muss ich die IPv6 Adresse eintragen im Zertifikat? Nehme ich hier die IPv6 der Server daheim, oder die der Fritzbox? Und wie sage ich das LetsEncrypt?

Grundsätzlich werden keine IP Adressen in Zertifikate eingetragen. Let’s Encrypt unterstützt dies auch in keiner Weise. Zertifikate bestätigen nur, dass der zugeordnete DNS Name verifiziert wurde und sind erst einmal unabhängig von dem zu Grunde liegenden IP Netzwerk.

OK, muss ich dann also nur eine Weiterleitung machen, oder warum bekomme ich einen SSL Fehler, sobald ich IPv6 einschalte?

Dies kann ich nicht sagen, da Du bisher nicht die “genaue” SSL-Fehlermeldung benannt hast. Auch ist mir aus Deiner Beschreibung nicht ersichtlich von wo Du genau wie auf Nextcloud zugreifst sodass der Fehler entsteht. Geschieht dies von intern oder extern, welche IP-Adresse wird von extern aufgelöst etc., etc.

OK, sorry, ich dachte, ich hätte das oben beschrieben:
Ich greife über die intranet.meinedomain.com auf meinen Server daheim zu. die dynamische IP meiner Fritzbox wird als CNAME eintrag bei meinem Provider auf intranet.meinedomain.com gemappt. Die Weiterleitung der Fritzbox erfolgt von Port 443 auf die interne IP des Servers. Dort ist auch das Zertifikat hinterlegt von intranet.meinedomain.com

Bin ich nun im Intranet / Internet unterwegs, und will z.B. meine Kalender aktualisieren oder die Nextcloud im Browser aufrufen, erhalte ich die Meldung, dass der Internetseite nicht vertraut wird.
Sobald ich IPv6 deaktiviere, geht wieder alles.

Ok, hier würde ich natürlich erst einmal schauen, welche IP-Adresse genau vom Provider aufgelöst wird, die IPv4- oder die IPv6-Adresse.

Ok, damit kann man ansetzen. Öffne z.B. einmal den Firefox-Browser und greife lokal auf Nextcloud zu. Klicke dann auf das Schlosssymbol vor der URL und lasse Dir das Zertifikat und die Zertifikatskette anzeigen. Das gleiche wiederholst Du dann beim Zugriff über das Internet. Die Details kannst Du mir gerne per PM zusenden und ich schaue einmal was ich daraus herauslesen kann.

ich habe ein vergleichbares problem mit der fritzbox meiner mom… über den cname erreiche ich sie nicht mehr, weil ipv6 aktiviert ist vom provider. ich komme nur über die recht unübersichtlichen myfritz-url drauf… könnte also an avm bzw myfritz liegen. ich weiß das alllerdings nicht genau

Mit IPv6 kann es an verschiedenen Stellen klemmen. Meines Erachtens kann es an dem vom Provider bereitgestellten Anschluss, der DNS-Auflösung oder aber an einem Konfigurationsproblem des Router liegen.

Hier wird wohl bereits der Fehler sein. IPv6 ist nicht IPv4 und wird nicht ge-NAT-et.

Die Portforwardings vergessen wir mal, es wird einfach in den Freigaben der fritzbox definitiert, dass Maschine XY (die, die die Nextcloud hostet) eine IPv4 (wenn nötig) und eine IPv6 Freigabe erhält. Der korrekte AAAA Eintrag lautet demnach aucht nicht prefix:IP:DER:FRITZ:BOX, zum Beispiel 2606:4700:4700::1111. Hierbei ist “2606:4700:4700::/64” der Prefix und ::1111 die Adresse der Box. Ausgeschrieben steht hier: 2606:4700:4700:0000:0000:0000:0000:1111. Um es im Browser zu verwendet sind “[” “]” nötig. [2606:4700:4700::1111] ist allerdings nur ein DNS.

Jedes Device im Netzwerk hat abhängig von der Konfiguration mehrere zustände: Android ist generell raus. Da sind die Privacy Settings zu deutlich. Spielt aber auch erstmal keine Rolle.

Ich gehe einfach mal von einem Windows aus. Eingabeaufforderung ergibt mit ipconfig folgenden zusammenhang:

“Verbindungsspezifisches DNS-Suffix: fritz.box
IPv6-Adresse. . . . . . . . . . . : 2a00::1
Temporäre IPv6-Adresse. . . . . . : 2a00::2
Verbindungslokale IPv6-Adresse . : fe80::3%5”

Die temporäre Adresse wird primar im Internet verwendet. Hierfür gibt es gute Gründe. Der Suffix (hinter dem 2606:4700:4700:0000) wird üblicherweise über die MAC gebildet und ist immer gleich. Damit hat die Box immer die ::1111, also auch im 2a00::1111. Sie ist also verfolgbar. Das will man nicht. Diese Adresse ist von außen auch nicht erreichbar. Ist auch die Adresse, welche auf den IP-Findern angezeigt werden sollte.
Dementsprechend muss der IPv6 CNAME eben auch auf das Gerät, welches von außen erreichbar sein soll, eingetragen sein, also dessen “permanente” Adresse.
Und das wird eben nicht der jeweilige Windows Rechner, sondern eine VM, ein Server, ein NAS, ein raspi oder was auch immer sein. Dessen IPv6 Adresse müssen wir also kennen, im CNAME eintragen (man kann auch mehrere Adressen Eintragen, also eine IPv4 und eine IPv6).

Kurz: Du trägst bei Deinem Domänen-Anbieter nun in den CNAME für [intranet.meinedomain.com] 2345:REST:IST:EGAL:DEAD:BEEF:1337:1001 ein. Natürlich als AAAA Einrag und mit korrekten Daten. Dann verweist Dein Eintrag auf auf den Webserver der Nextcloud (oder den Proxy oder was auch immer) und nicht auf die Fritzbox.
Entsprechende Freigaben einrichten und gern auch PING6 freigeben.