NextCloudPi hinter FRITZ!Box über IPv6 mit DynDNS erreichbar machen?

Arjab

Lt. Junior Grade
Registriert
Feb. 2013
Beiträge
474
Ich habe auf einem Raspberry Pi Nextcloud bzw. NextCloudPi installiert und möchte die Cloud trotz DS-Lite-Anschluss über's Internet erreichen. Dazu habe ich mich bei dynv6.com angemeldet und eine sog. Zone mit Domain erstellt, auf meiner FRITZ!Box 7362 SL eine Portfreigabe für den Raspberry Pi auf den Ports 80 und 443 für IPv6 erstellt und eine angepasste Update-URL für DynDNS eingerichtet sowie ddclient auf dem Raspbery Pi installiert.

Die Update-URL habe ich nach dieser Anleitung angepasst und sie sieht wie folgt aus:

Code:
https://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv6=::7860:f72c:XXXX:XXX&ipv6prefix=<ip6lanprefix>&trash=<ip6addr>

Domain- und Benutzername sind in separaten Feldern eingetragen. Die eingetragene IPv6 ist die IPv6 Interface ID des Raspberry Pi.

Die Konfiguration von ddclient sieht, wie von Dynv6 vorgeschlagen wie folgt aus:

Code:
protocol=dyndns2
use=if, if=eth0
server=dynv6.com
login=none
password='XXXXXXX'
$domain.dynv6.net

Das Problem ist, der Raspberry Pi wird jede Nacht zwangsgetrennt und bekommt eine neue IPv6 zugewiesen. Ich kann über die FRITZ!Box nur eine statische IPv4 zuweisen. Auch der IPv6 Präfix der FRITZ!Box ändert sich regelmäßig, der wird aber problemlos an Dynv6 weitergegeben. Die IPv6 des Raspberry Pi wird jedoch nicht mal an die FRITZ!Box weitergegeben und nach der Zwangstrennung muss ich die IPv6 Interface ID manuell über die FRITZ!Box in der Update-URL des DynDNS ändern, um die Nextcloud wieder aus dem Internet über die Domain erreichen zu können.

1. Wie kann ich dem Raspberry Pi einfach eine statische IPv6 zuweisen?

Ich habe bereits versucht die dhcpcd.conf wie folgt zu ändern, das hat aber nicht funktioniert.

Code:
interface eth0 
static p6_address=2001:9e8:XXXX:....
static routers=192.168.178.1
static domain_name_server=192.168.178.161

Ich habe auch versucht, den DHCP-Dienst zu deaktivieren und direkt /etc/network/interfaces wie folgt zu ändern. Auch das hat nicht funktioniert und der Raspberry Pi war nicht mehr über SSH zu erreichen.

Code:
iface eth0 inet6 static 
pre-up modprobe ipv6
address 2001:9e8:XXXX:.... 
netmask 64

2. Warum wird die IPv6 Interface ID des Raspberry Pi nicht an die FRITZ!Box weitergegeben? Dann könnte ich doch in der Update-URL des DynDNS einfach einen Platzhalter eintragen und die FRITZ!Box müsste die Weiterleitung an den Raspberry Pi selbstständig vornehmen, oder?

Ich hab' auch schon in /etc/sysctl.conf eingetragen, dass SLAAC und/oder Privacy Extension ein- bzw. ausgeschaltet sein soll, aber irgendwie hat das auch nicht so richtig funktioniert bzw. hab' ich nicht komplett verstanden, inwiefern der Zusammenhang mit einer statischen IPv6 besteht.

So langsam bin ich mit meinem Latein am Ende und lande bei meiner Recherche immer an den gleichen Lösungen, die nicht funktionieren. Oder ich verstehe das Problem nicht ausreichend, um mir selber selber zu helfen, leider bin ich in puncto Netzwerke auch nicht allzu bewandert.
Könnte mir bitte jemand helfen, meine Cloud trotz dynamischer oder mit statischer IPv6 über DynDNS aus dem Internet zu erreichen?
 
Myfritz ist ein Segen bei IPv6 Anschlüssen. Und stelle sicher, dass zwischen Fritz und Pi kein Router liegt, der kein IPv6 kann.
 
Arjab schrieb:
2. Warum wird die IPv6 Interface ID des Raspberry Pi nicht an die FRITZ!Box weitergegeben? Dann könnte ich doch in der Update-URL des DynDNS einfach einen Platzhalter eintragen und die FRITZ!Box müsste die Weiterleitung an den Raspberry Pi selbstständig vornehmen, oder?

Ich hab' auch schon in /etc/sysctl.conf eingetragen, dass SLAAC und/oder Privacy Extension ein- bzw. ausgeschaltet sein soll, aber irgendwie hat das auch nicht so richtig funktioniert bzw. hab' ich nicht komplett verstanden, inwiefern der Zusammenhang mit einer statischen IPv6 besteht.

Wenn du die Privacy Extensions aus hast sollte sich die Interface-ID deines Raspi nicht mehr ändern. Das solltest du auch daran erkennen das die Interface-ID aus der MAC deines Raspi erstellt wird, und sich beide in großen Teilen gleichen.

Dann hast du quasi eine "Statische" IPv6 auf den Raspi. Nur das public Prefic änder sich dann noch wenn du vom Provider ein neues bekommst.

Hat denn dein Raspi immer noch zwei Public IPv6-Adressen?
 
till69 schrieb:
Probiere mal myfritz, das übernimmt auch DDNS der Clienten
Danke, das hab' ich gerade versucht, verstehe aber nicht, wie ich dann auf meine Nextcloud komme und nicht bloß auf die Anmeldeseite der FRITZ!Box?
mici01 schrieb:
Wenn du die Privacy Extensions aus hast sollte sich die Interface-ID deines Raspi nicht mehr ändern
Danke, das probiere ich nochmal aus. Ich muss nur leider immer einen Tag warten, bis der Raspberry Pi zwangsgetrennt wird, um zu schauen, ob das funktioniert hat.
 
Ah, okay. Ich hab' da jetzt meine bestehenden Freigaben gelöscht und eine neue "MyFRITZ!"-Freigabe über http (80) und https (443) erstellt, die beide als aktiv markiert sind. Dennoch kann ich meine Nextcloud nicht über die erstellte Domain erreichen. Die Domain liest sich wie folgt "https://Gerätename-Nextcloudpi.myfritz-domain.myfritz.net:443".

Oder sollte ich da 'n anderen Port wählen?
 
Die Domain von MyFRITZ kann ich anpingen, aber nicht mit https und auch nicht mit dem von der FRITZ!Box zugewiesenen Port, auch keinen anderen Port, den die FRITZ!Box auswählt, wenn man 'n bereits belegten Port eingibt. Und die Domain mit Gerätenamen funktioniert auch gar nicht. Ich verstehe das nicht.
 
Dann prüfe doch mal mit nslookup, ob die richtigen Adressen von myfritz und dynv6 zurückgeliefert werden. Passt die Freigabe in der Fritzbox zur HostID des Raspi? Vor allem: Ist die Hostid statisch? Weiter oben hört es sich so an, als ob die sich ändert (Privacy Extensions).

Wenn die Einstellungen soweit alles korrekt sind und es trotzdem nicht funktioniert, dann wirst du einen Paketmitschnitt in der Fritzbox anfertigen müssen und mit Wireshark überprüfen, was an deinem Anschluss ankommt.
 
Also nslookup holt die Info nur von meinem anderen Raspberry Pi auf dem Pi-hole mit Unbound läuft, das ist wahrscheinlich nicht so sinnvoll. Die Domain von MyFRITZ wird aber gar nicht gefunden.

Und ja, die Host ID vom Raspi ändert sich täglich, genau das ist das Problem. Bzw. weiterhin ist das Problem, dass die Host ID offensichtlich nicht automatisch an die FRITZ!Box übermittelt wird, weil ich da für den Raspi eine Host ID manuell eintragen kann, aber die nicht dynamisch aktualisiert wird und damit auch DynDNS mit Dynv6 nichts bringt.

Warum die MyFRITZ-Freigabe nicht funktioniert ist wiederum ein weiteres Problem. Ich hab' leider keine Ahnung von Wireshark, aber mit Unterstützung könnte ich das probieren. Ich denke aber, es wäre einfacher, meinem Raspi eine statische IPv6 zu verpassen, dann würde Dynv6 nämlich funktionieren.

Vielleicht hab' ich ja auch irgendwas in der Update-URL für Dynv6 falsch gemacht, da steht nämlich die (sich ständig ändernde) Host ID des Raspis drin, aber so wie ich das verstanden habe, gibt es nur einen Platzhalter für IPv6, der dann die IPv6 der FRITZ!Box ausfüllt. Oder geht das auch und die FRITZ!Box schleift dann an den Raspi weiter?

Privacy Extension hab' ich übrigens in /etc/dhcpcd.conf auf "hwaddr" gestellt, aber ohne Erfolg.
 
Zuletzt bearbeitet: (Ergänzung)
Arjab schrieb:
Also nslookup holt die Info nur von meinem anderen Raspberry Pi auf dem Pi-hole mit Unbound läuft, das ist wahrscheinlich nicht so sinnvoll. Die Domain von MyFRITZ wird aber gar nicht gefunden.

Und ja, die Host ID vom Raspi ändert sich täglich, genau das ist das Problem. Bzw. weiterhin ist das Problem, dass die Host ID offensichtlich nicht automatisch an die FRITZ!Box übermittelt wird, weil ich da für den Raspi eine Host ID manuell eintragen kann, aber die nicht dynamisch aktualisiert wird und damit auch DynDNS mit Dynv6 nichts bringt.

Warum die MyFRITZ-Freigabe nicht funktioniert ist wiederum ein weiteres Problem. Ich hab' leider keine Ahnung von Wireshark, aber mit Unterstützung könnte ich das probieren. Ich denke aber, es wäre einfacher, meinem Raspi eine statische IPv6 zu verpassen, dann würde Dynv6 nämlich funktionieren.

Vielleicht hab' ich ja auch irgendwas in der Update-URL für Dynv6 falsch gemacht, da steht nämlich die (sich ständig ändernde) Host ID des Raspis drin, aber so wie ich das verstanden habe, gibt es nur einen Platzhalter für IPv6, der dann die IPv6 der FRITZ!Box ausfüllt. Oder geht das auch und die FRITZ!Box schleift dann an den Raspi weiter?

Privacy Extension hab' ich übrigens in /etc/dhcpcd.conf auf "hwaddr" gestellt, aber ohne Erfolg.
Wenn die Privacy-Extensions an sind, solltest du 2 öffentliche Adressen auf dem Pi haben.
Schau doch mal mit "ip a" nach welche Adressen du hast.
Es sollte eine da sein mit den gleichen 4 Hextets wie die fe80::
Das ist die mit der festen HostID.
 
Ich hab' mit "ip -6 addr" gleich fünf IPv6-Adressen.

Code:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
   inet6 2001:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
      valid_lft 6903sec preferred_lft 3303sec
   inet6 fd9b:xxxx:xxxx::xxx/128 scope global noprefixroute
      valid_lft forever preferred_lft forever
   inet6 fd9b:xxxx:xxxx:x:xxxx:xxxx:xxxx:xxxx/64 scope global mngtmpaddr noprefixroute
      valid_lft forever preferred_lft forever
   inet6 fd00::xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
      valid_lft 6903sec preferred_lft 3303sec
   inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link
      valid_lft forever preferred_lft forever

Ich hab' mich immer auf die 2001: konzentriert, weil das laut FRITZ!Box der IPv6-Präfix ist.
 
Arjab schrieb:
Also nslookup holt die Info nur von meinem anderen Raspberry Pi auf dem Pi-hole mit Unbound läuft, das ist wahrscheinlich nicht so sinnvoll.
Du kannst nslookup ja sagen, welchen DNS Server es verwenden soll.
Code:
> nslookup heise.de 8.8.8.8

Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   heise.de
Address: 193.99.144.80
Name:   heise.de
Address: 2a02:2e0:3fe:1001:302::

Arjab schrieb:
Die Domain von MyFRITZ wird aber gar nicht gefunden.
Ganz myFritz nicht? Oder dein Account?

Arjab schrieb:
Und ja, die Host ID vom Raspi ändert sich täglich, genau das ist das Problem.
Dann ist auf dem Raspi was falsch eingestellt, bzw. du hast die falsche HostID. Wenn die Privacy Extensions an sind, dann gibt es häufig zwei IPs. Google mal, wie du im Raspi EUI-64 aktivierst.

Arjab schrieb:
Bzw. weiterhin ist das Problem, dass die Host ID offensichtlich nicht automatisch an die FRITZ!Box übermittelt wird, weil ich da für den Raspi eine Host ID manuell eintragen kann, aber die nicht dynamisch aktualisiert wird und damit auch DynDNS mit Dynv6 nichts bringt.
Die HostID wird nicht vom Raspi an die Fritzbox übertragen. Man kann sie dort manuell eintragen. Deshalb sollte man dafür sorgen, dass sie statisch ist, entweder durch EUI-64, oder eben durch eine händisch konfigurierte IP.
 
Arjab schrieb:
Ich hab' mit "ip -6 addr" gleich fünf IPv6-Adressen.

Code:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
   inet6 2001:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
      valid_lft 6903sec preferred_lft 3303sec
   inet6 fd9b:xxxx:xxxx::xxx/128 scope global noprefixroute
      valid_lft forever preferred_lft forever
   inet6 fd9b:xxxx:xxxx:x:xxxx:xxxx:xxxx:xxxx/64 scope global mngtmpaddr noprefixroute
      valid_lft forever preferred_lft forever
   inet6 fd00::xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
      valid_lft 6903sec preferred_lft 3303sec
   inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link
      valid_lft forever preferred_lft forever

Ich hab' mich immer auf die 2001: konzentriert, weil das laut FRITZ!Box der IPv6-Präfix ist.
Richtig die 2001 ist die global routebare Adresse.
Sind die von mir FETT markierten stellen gleich ?

inet6 2001:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link
 
Ich hab' gerade einfach nslookup.io verwendet, da wird die generelle Domain (xyz123.myfritz.net) von MyFRITZ gefunden und die 2001: IPv6 angezeigt. Die Domain von MyFRITZ mit dem Gerätenamen von meinem Raspberry Pi wird weder online, noch über nslookup mit explizitem DNS-Server gefunden.

riversource schrieb:
Deshalb sollte man dafür sorgen, dass sie statisch ist, entweder durch EUI-64, oder eben durch eine händisch konfigurierte IP.
Ich dachte EUI-64 ist einfach ein generelles, standardisiertes IPv6-Format. Jedenfalls scheitere ich eben genau daran, eine statische IPv6 zu bekommen, das steht so in meinem ersten Post.
Holzkopf schrieb:
Sind die von mir FETT markierten stellen gleich ?
Nope, leider nein.
 
Arjab schrieb:
Ich hab' gerade einfach nslookup.io verwendet, da wird die generelle Domain (xyz123.myfritz.net) von MyFRITZ gefunden und die 2001: IPv6 angezeigt.
Welche IPv6 wird da angezeigt? Die deiner Fritzbox, oder? Aber nicht die des Raspis, hoffe ich.

Arjab schrieb:
Die Domain von MyFRITZ mit dem Gerätenamen von meinem Raspberry Pi wird weder online, noch über nslookup mit explizitem DNS-Server gefunden.
Dann hast du für den Raspi vielleicht eine Portfreigabe eingerichtet, aber keine myFritz Freigabe.

Arjab schrieb:
Jedenfalls scheitere ich eben genau daran, eine statische IPv6 zu bekommen, das steht so in meinem ersten Post.
Da du leider immer nur Bruchstücke der Configs postest, ist es schwer, zu beurteilen, was da schief geht. Ich hoffe, der Teil der /etc/network/interfaces, den du oben gepostet hast, war nicht alles, was du da eingetragen hast.

Was du versuchen könntest in der /etc/network/interfaces:
Code:
iface eth0 inet6 auto
  pre-up /sbin/ip token set ::1000 dev eth0
Wichtig: Der IPv4 Teil muss natürlich erhalten bleiben!

Dann ist die HostID immer ::1000, und zwar statisch. Du hast den Vorteil, das Prefix dynamisch von der Fritzbox zu bekommen, welches von deinem Internetprovider kommt, und trotzdem eine statische HostID zu haben, die du einmal in die Fritzbox einträgst.
 
riversource schrieb:
Welche IPv6 wird da angezeigt? Die deiner Fritzbox, oder?
Yes, die der FRITZ!Box.
riversource schrieb:
Dann hast du für den Raspi vielleicht eine Portfreigabe eingerichtet, aber keine myFritz Freigabe.
Doch, ganz sicher eine MyFRITZ-Freigabe für http und https.
riversource schrieb:
Da du leider immer nur Bruchstücke der Configs postest, ist es schwer, zu beurteilen, was da schief geht. Ich hoffe, der Teil der /etc/network/interfaces, den du oben gepostet hast, war nicht alles, was du da eingetragen hast.
Ich hab' das gepostet, was ich zusätzlich zu den Defaults eingetragen habe, z. B. nach dieser Anleitung. Sonst steht in ./interfaces nur noch "source-directory /etc/network/interfaces.d" drin. Aber das scheint eh nicht der korrekte Weg zu sein, sondern über die dhcpcd.conf?

Danke für den Vorschlag. Muss ich für die Konfiguration in ./interfaces ebenfalls den dhcpcd-Dienst ausschalten? Das hat wie gesagt das letzte Mal dazu geführt, dass ich meinen headless Raspberry Pi nicht mehr über ssh erreichen konnte, was ich offensichtlich gerne vermeiden würde.
Und was für 'n IPv4-Teil meinst du? IPv4 hab' ich ja nur lokal, wegen DS-Lite. Oder müsste ich in ./interfaces auch 'ne IPv4 eintragen eben um den Raspi noch lokal über ssh zu erreichen?

EDIT: Ich hab' jetzt mal sowohl die Privacy Extension über die /etc/sysctl.conf ausgemacht, als auch 'ne statische IPv6 in die dhcpcd.conf eingetragen. Nach 'nem Reboot hat der Raspi 'ne neue IPv6 bekommen und möglicherweise ist die ja jetzt trotz allnächtlicher Zwangstrennung die selbe, da aus MAC-Adresse abgeleitet. We'll see und keine Ahnung, warum ich beides zusammen bisher nicht versucht habe. :freak:
 
Zuletzt bearbeitet:
Zurück
Oben