Hallo zusammen,
ich versuche, durch ein CDN auf einen lokalen traefik in meinem Homelab zuzugreifen, der später mal verschiedene Services bereitstellen soll. In der Infrastruktur habe ich die übliche CGNat/DS-Lite Konfiguration: Bereits funktionieren das DynDNS-Update und das CDN mit Port-Mapper für WG, sodass ich mit WireGuard bereits in mein HomeLab komme.
Der Traefik läuft auf einem Proxmox-LXC und stellt aktuell den eigenen whoami-Service bereit. Lokal funktioniert das ebenfalls. In der Fritzbox sind die Portfreigaben 80/443 für den LXC sowohl für IPv4 und v6 eingetragen (IPv4 wird wieder entfernt sobald alles funktioniert). Ich habe jetzt in meinem CDN den ReverseProxy aktiviert und das Backend unsecure auf 80 weitergeleitet. Nach meinem Verständnis ist das Backend meine Fritzbox. Das CDN-Frontend stellt ein Zertifikat bereit und hört auf 80/443. Somit sollten Anfragen auf meine DynDNS-Domain doch bei meinem Traefik ankommen, oder?
In der Traefik-Konfiguration habe ich verschiedene traefik-Router-Regeln wie Host und PathPrefix oder-verknüpft mit keinem Versuch erreiche ich die whoami-Seite.
Funktioniert die Idee oder übersehe ich etwas?
Viele Grüße
Das Backend muss dein traefik sein. Die dyndns auf die ipv6 vom traefik.
Ps: du brauchst eine weitere (sub-)domain. Die für wg muss auf der fb bleiben
Vielen Dank für den Hinweis, das klingt für mich sehr logisch, aber ich bekomme es nicht eingerichtet.
Ich habe eine DynDNS, die von meiner FB den IPv6-Prefix und die WAN-IPv6 der FB aktualisiert.
Dazu habe ich jetzt einen AAAA-Eintrag traefik und auf die IPv6 meines traefik im Homelab gesetzt. Ich habe hier nur die Interface-ID gesetzt, der Präfix wird direkt aus den Infos des DynDNS-Updates genommen. Des Weiteren habe ich auch einen CNAME whoami eingetragen, und den ebenfalls auf meinen traefik gesetzt, um damit auf meinen Service des Traefiks zugreifen zu wollen.
Nun habe ich ein CDN für diese domain erstellt und den ReverseProxy als auch den Portmapper aktiviert. Der Portmapper mappt mir dem WG-Port was funktioniert.
Ein nslookup auf traefik.myipv64domain.de liefert mir die IPv6 meines CDN und dernslookup auf whoami.myipv64domain.de löst entsprechend genauso auf.
Jetzt zum CDN - in den DNS-Records meines CDN habe ich für traefik.myipv64domain.de den Proxy enabled, womit mir jetzt das Mapping meiner CDN-IPv6 und -IPv4 auf meine IPv6 des traefik im Homelab zeigt soweit so gut.
Der ReverseProxy ist noch so wie oben beschrieben konfiguriert. Hier kann ich keine IPv6 auswählen oder irgendwie zwischen meinen beiden Geräten Fritzbox und traefik auswählen. Wie kann ich dann dies erreichen?
Nach meinem Verständnis ist das Backend in dieser Konstellation doch immer meine Fritzbox und ich muss Portweiterleitungen auf die Geräte im Homelab einrichten. Ist das nicht richtig?
Ergänzung: wie kann ich die Aufrufe am besten tracen? Habt ihr einen guten Tip?
Du musst die Port Weiterleitung einrichten, ja, die traefik Subdomain muss die öffentliche ipv6 deines traefik Servers sein. Aber wenn ich das richtig lese hast du das gemacht. Fritzbox setzt prefix und du trägst nur fix ::inte:rfac:eid0:xyza ein. Dann erstmal ohne alles probieren.
Dein traefik wird auf Port 80 und 443 laufen. Das tut der ipv64 Proxy auch. Mit dem portmapper und anderen Ports bin ich mir nicht sicher ob die Hostnamen erkannt werden, habe leider keinen Plan wovon ich rede 
That being said, wenn ipv6 reicht würde ich jetzt überlegen, ob nicht wireguard + eigene ipv6 + Gateway portmapper zu bevorzugen ist.
Exakt, und das funktioniert auch. Aber … damit bin ich dann ja am Ende mit einem eigenen IPv6-DNS Eintrag unterwegs und kann - sofern IPv6 verfügbar ist, auf meine Services direkt zugreifen. Das läuft dann nicht mehr über das CDN und macht mich damit nicht mehr Hotel-WLan-unabhängig.
Auch das klappt mit dem Portmapper über das CDN und macht mich von Hotel-WLan´s unabhängig. Das überdeckt auch den Makel aus der oberen Situation 
Die Pflichtaufgaben sind zunächst erfüllt, dann kommt die Kür. Auf das Setup obendrauf habe ich nun versucht, einen Service für Familie und Freunde zu erstellen, der z.B. Zugriff auf Fotos bereitstellen soll. Für den Personenkreis möchte ich keine WG-Verbindungen einrichten und es sollte unabhängig von dem zugrunde liegenden Netz sein.
Die Idee:
und auf der Fritzbox Port 80/443 auf meinen internen Traefik weiterleiten. Damit wollte ich die Anfragen an das CDN über das Backend (=Fritzbox) über Portweiterleitungen ans Ziel (=Traefik) bringen, aber da scheine ich was zu übersehen …
Was ich mir jetzt noch mal ansehen möchte sind die Traefik-Router-Rules … nicht dass die Anfragen ankommen aber nicht geroutet werden…
Mein obiger Vorschlag über wg war ohne wg für die User. Schau dir die eigene ipv6 für den Cloud Router und den Port mapper dazu an. Du setzt dyndns auf die persönliche Cloud Router ipv6, richtest den Port mapper im cloud gateway ein, und der leitet durch wireguard in dein Netz. 0er Routing Dafür an machen.
Ich für meinen Teil hatte heute das Gefühl, dass das dyndns etwas hinkt oder die fb verspätet updated? Kein Plan. Es ist dann immer für eine Zeit nichts zu erreichen.
Aber zum Thema. Der cdn Proxy scheint Recht mürrisch wenn der Dienst dahinter nicht ordentlich läuft bzw. Antwortet. Ist aber nur Bauchgefühl. Wenn du full proxy machst, kannst du die Zertifikate über siehe anderer thread holen glaube ich.
Hier Wie SSL-Zertifikate von ipv64.net in Nginx eintragen?
Vielen Dank für den ganzen Austausch. Ich habe es jetzt wie folgt gelöst bekommen. Der Trick dabei ist ipv6prefix=<ip6lanprefix>&onlyprefix. Der DynDNS-Eintrag zeigt auf meinen Traefik im Backend, die Fritzbox aktualisisert per DynDNS nur den Präfix. Weitere CNAME-Einträge für meine Services, wobei diese sogar überflüssig sind und noch entfernt werden.
Bei den DNS-Records im CDN ist natürlich der Proxy-Mode aktiviert. Der Reverse-Proxy ist ebenfalls aktiv und leitet 80,443 weiter. Für die Zertifitkate sorgt der Traefik selbst, nach außen ist nur das Zertifikat vom CDN sichtbar. Im Backend routet der Traefik auf andere Container aber auch andere Server - da ist kein Hexenwerk mehr drin.
Der Preis den ich dafür zahle: Dadurch, dass die Fritzbox nicht mehr ihre eigene IP im DynDNS hinterlegt funktioniert der Wireguard-Portmapper natürlich nicht mehr. Ein weiterer DynDNS-Eintrag mit separatem CDN löst dies wieder, wird aber dann nicht von der FritzBox bzgl. Präfix und IP aktuell gehalten. Im Moment habe ich hier einen Cloud-Router aktiviert, zu welchem die Fritzbox eine WG-Verbindung aufbaut.
Damit ich noch was zu basteln habe wäre jetzt noch der Versuch, den Fritz-WG auch hinter den Traefik zu stellen. Ob das überhaupt klappt weiß ich nicht aber da habe ich ja wieder was zu forschen
Seit den ganzen Maßnahmen zur Bekämpfung der DDoS-Attacke im Mai, habe ich meine Update-URLs in der Fritte aufgeteilt, eine aktualisiert nur noch die IPv4 und IPv6 (&ip=<ipaddr>&ip6=<ip6addr>), eine 2. nur den Prefix (&ip6lanprefix=<ip6lanprefix>&onlyprefix), einfach hintereinander, durch Leerzeichen getrennt. Das Ganze klappt soweit wieder ganz gut, nur mit allem in Kombination klappt es seither nicht mehr sauber, mit oder nur mit Prefix-Update läuft das ganz oft in ein Timeout, aber die Fritte probiert’s weiter.
Eine Subdomain ist bei solchen Problemen die Lösung. Also bei ipv64 DnyDNS-Präfix genannt. Also z.B. fritte.deineDomain.ipv64.net. Dann wäre WIreguard auf der Fritte eben per fritte.deineDomain.ipv64.net statt deineDomain.ipv64.net erreichbar. Logisch - oder? Durch Leerzeichen getrennt lassen die sich zudem auch noch separat updaten. Alternativ updates du eine MyFritz-DynDNS und legst bei ipv64 einen CNAME auf diese an.
Mit einer SubDomain meinst Du einen weiteren AAAA-Eintrag in der existierenden DynDNS-Domain, richtig? Das funktioniert, bei meiner CGNat-Situation bin ich aber dann wieder nur per IPv6 in IPv6-fähigen Netzen erreichbar.
Aber ich denke, wir haben die Situation ausgiebig erörtert, vielen Dank für Eure Unterstützung.
bei IPv64 findet sich unter Edit domain → Domain Records die Möglichkeit einen Präfix anzulegen. Für diesen gibt es dann einen Record Update-URL - Security Level 3 (High).
Zwecks Erreichbarkeit per IPv4 nutzt du ja bisher mutmaßlich den CDN Reverse Proxy. Der bringt es bei Port 80 / 443. Bringt also nichts bei den Wireguard Ports. Dafür gibt es aber den CDN Portmapper.
Zudem kannst du ja auch bis zu drei DynDNS-Domains bei IPv64 anlegen, wenn dir das mit dem Präfix zu doof ist. Dann nimmste halt eine andere DynDNS-Domain für Wireguard als für den Rest und für diese andere DynDNS-Domain den Portmapper für IPV4.