Verständnisfrage ipv64 Dyndns Eintrag in Fritzbox für multiple Anwendungen

Hallo zusammen,

ich bin nicht wirklich vom Fach und habe offene Fragen, damit ich endlich verstehe, wie das geht.
Folgendes will ich umsetzen:
Sämtliche Dienste lokal via SSL absichern.
Habe einen Thinclient auf dem Proxmox läuft.
Unter Anderem sind da Sachen wie Homeassistant, Portainer, Nginx und noch zwei drei Sachen drauf.
Die Dienste haben ja unterschiedliche IP Adressen.
Ich habe mir über ipv64.net eine Domain erstellt und beim A Record meine lokale IP für Proxmox hinterlegt.
Soweit ja noch kein Problem.
Jetzt ist es ja so, dass ich in der Fritzbox den Dyndns Eintrag dafür machen muss.
Man kann ja nur einen Eintrag machen.

Meine Fragen dazu sind:
Ich habe meine ipv64 Dyndns Adresse erstellt, trage diese in die Fritzbox ein mit der Update URL und dem anderen Kram.
Ein Let’s Encrypt Zertifikat habe ich über Nginx erstellt für diese Adresse.
Hat auch bestens geklappt.
Aber wie gehe ich denn jetzt vor, wenn ich andere Dienste wie z.B. Portainer oder Homeassistant auch über SSL ansprechen will.
Die haben ja eine andere IP und in der Fritzbox kann ich ja nur eine Domain für die Dyndns eintragen.
Das ist mir aktuell alles noch etwas zu hoch.
Mir ist klar, dass ich für jeden Dienst über Nginx eigene Zertifikate erstellen muss. Auch das ist noch kein Problem. Aber wie geht es dann weiter?
Wie bekomme ich für diese Domains, die ja dann anders heißen die Zertifikate verknüpft und wie ist das dann alles mit der Fritzbox?
Ich stehe auf dem Schlauch und hoffe, ihr könnt mir da weiterhelfen.

Viele Grüße in die Runde
Kenny

Hi,
reden wir denn über IPv4 Adressen oder IPv6 Adressen?
IPv4 hast du nur eine öffentliche IP, die internen IPs sind ja nur genattet das sollte also kein Problem sein wenn du irgendwo im Nginx die passenden Reverse configs einträgst damit Nginx weiß wohin damit.
IPv6 wird schon schwieriger da hier jedes Device eine eigene öffentliche iP hat und da theoretisch nichts mehr genattet werden muss.

Hier müsstest du auf dem jeweiligen Host eines der diversen Scripte ausführen, welches die IPv6 auf unterschiedlichen ipv64 Domains updatet.

Ich meinte IPv4.
Wobei ich mir jetzt auch nicht sicher bin, in wie weit das alles zusammenspielt.
Bin bei Vodafone und hab ne Cable Fritzbox mit 1gbit Leitung (DS).

Im Nginx gibt es im Prinzip keine Probleme. Ich kann das schon entsprechend konfigurieren und auch die entsprechenden Zertifikate ohne Fehler erstellen und zuweisen.
Nur verstehe ich das Zusammenspiel noch nicht, wenn es eben über verschiedene interne IP Adressen geht, die eine Zuweisung brauchen.
Ich hatte das mal mit DuckDNS umgesetzt. Ist schon ne Weile her. Da ging das ne Zeit lang. Irgendwann hats nicht mehr funktioniert, ohne das was verstellt wurde. Ka warum.
Jetzt wollte ich es eben noch mal angehen über ipv64.net und bin dabei eben auf diese Problematik gestoßen.
Würds zu gern verstehen.

Also wenn du wirklich gemacht hast, was du da geschrieben hast, dann wäre das sehr wohl ein Problem. Du darfst natürlich auf keinen Fall bei ipv64.net als A-Record eine Private IPv4-Adresse (also eine Klasse A, B oder C-Adresse aus den Bereichen 10/8, 172.16/12 oder 192.168/16) eintragen. Die sind wie der Name sagt privat und können nur lokal (also im LAN) verwendet werden, da diese nicht im Internet geroutet werden.

Mach dich also bitte zunächst mit den Basics des Networkings vertraut.

Ok. Das würde dann einiges erklären.
Aber im Nginx verweise ich dann schon auf die internen IP Adressen der Anwendungen.

Bedeutet, ich muss im ipv64 die öffentliche IP Adresse hinterlegen.

Ja, sofern du überhaupt eine eigene öffentliche IPv4-Adresse bekommst. Immer mehr ISP (insbesondere bei Glasfaser- und TV-Kabel-Anschlüssen, aber auch z,B. 1&1) vergeben an Privatkunden nur noch DS-Lite oder CGNAT-Anschlüsse. Dann teilst du dir auch die öffentliche IPv4-Adresse mit Dutzenden anderen Kunden des ISP und kannst diese auch nicht für DynDNS verwenden.

Daher solltest du das mal gleich als erstes überprüfen. Deine Fritzbox verrät es dir.unter Internet → Online-Monitor

Ja, ich habe definitiv eine.
Muss ich nachher dann testen, ob es klappt.
Im Prinzip würde es dann nur noch darum gehen, wie ich die anderen Server erreiche.

EDIT:
Also, das hat tatsächlich geklappt.
Ich komme jetzt über die erstelle Domain auf meinen Proxmox. Bleibt nur noch die Frage, wie ich die anderen Dienste erreichen kann.
Muss ich anstatt der Domain Update URL die Account Update URL nehmen und dann ist alles gut? Scheint nicht der Fall zu sein.

Was du machst ist NAT. Da kannst du einen Port nur genau einmal weiterleiten. Leitest du also bereits den TCP-Port 443 (https) weiter an deinen Proxmox, dann kannst den kein weiteres Mal an einen anderen Server weiterleiten.

Dir fehlt wirklich elementares Grundlagenwissen. Ich habe wirklich erhebliche Zweifel, ob es mit derart lückenhaftem Wissen sinnvoll ist Server aus dem Internet erreichbar zu machen.

Ich würd sagen: mach die Schotten wieder dicht und richte Wireguard ein. Mittels Wireguard kommst du auch von außerhalb an deine Server ran und mach dich dann mal in Ruhe schlau im Bereich Netzwerk.

Im Prinzip geht es mir nur darum, daheim die ständig nervende Warnung zu umgehen, wenn ich lokal auf die Tools zugreifen will.

Du hast doch das wichtigste schon getan, du musst im nginx nur noch sagen, welche Hostnames auf welche interne IP verweisen sollen.
Im IPv64 DNS Tool kannst du dann ein CNAME anlegen als Wildcard und als Wert den Domainnamen den deine Fritzbox updated

Damit werden dann alle Subdomains ebenfalls an deine öffentliche IP geroutet und du kannst im NGINX einstellen welcher Hostname dann wohin geroutet werden soll. Läuft dann alles via Port 80 und 443 und nennt sich einfach reverse Proxy (falls du dich einlesen willst)

Wenn es dir nur um internen Zugriff geht aus dem LAN, dann reichen doch auch selbst signierte Zertifikate aus. Bei selbst signierten Zertifikaten muss dem Browser dann nur einmalig mitgeteilt werden, dass diese selbst signierten Zertifikaten vertrauenswürdig sind. Danach gibt es dann auch keine nervenden Warnungen mehr.

Alternativ kannst du Letsencrypt-Zertifikate auch via IPv6 erneuern. Letsencrypt bevorzugt ohnehin IPv6, sofern verfügbar. Bei IPv6 sind auch lokale Server im LAN per öffentlicher IPv6-Adresse erreichbar. Ganz ohne NAT, Reverse-Proxy und was sonst noch alles bei IPv4 erforderlich ist. Dafür müssen in der Fritte lediglich die Firewall-Rules angepasst werden, so dass die Fritte die Anfragen von Letsencrypt via TCP-Port 80 an die IPv6-Adressen der betreffenden Server (für die Zertifikate erzeugt oder erneuert werden sollen) passieren lässt.

Sorry ich raff das auch nicht.
Folgendes Setup (ich glaube, das ist so ähnlich auch beim OP):
Ich habe eine Fritzbox, die heißt „unaussprechlich.myfritz.net
Dahinter laufen mit 192.168.0.x Adressen nginx, vaultwarden und nextcloud
Die möchte ich gerne von innen (und später auch außen) über nginx|vaultwarden|nextcloud.NETTERNAME.ipv64.net ansprechen.
Was muss ich dann in den Masken von ipv64.net eintragen?
=> NETTERNAME.ipv64.net Typ CNET mit Ziel „unaussprechlich.myfritz.net“ ?
=> Was muss ich für nginx|vaultwarden|nextcloud.NETTERNAME.ipv64.net eintragen? Typ CNET oder A?

Sollte es in diesem Fall nicht reichen, nur nginx einzutragen, weil alles Weitere intern von nginx geregelt wird?

Und ich raff nicht warum sich in 2025 noch immer so viele Leute mit den Unzulänglichkeiten von IPv4 herumplagen, obgleich es doch IPv6 gibt und damit alles viel einfacher ist :wink:

Es unterstützt halt nicht jede Endanwendung IPv6, auch im Jahr 2025 noch nicht.
So viel einfacher wäre btw. auch IPv6 nicht denn anders als mit IPv4 musst du bei IPv6 Kisten auf jeder Maschine ne Firewall laufen haben… Das kann man sich bei Kisten die nur ne interne IP haben sparen und da reicht eine Firewall für alle Geräte.

Hast du das Bild angesehen?
Wenn du den „unaussprechlich.myfritz.net“ als Wert einträgst und als Domain ein „*“ mit CNAME als Typ dann leitet er alles in Form von *.deinedomain.ipv64.net an deine IP weiter.

In der Fritzbox müssen dann 2 Ports weitergeleitet werden, 80 und 443 und beide auf den Server wo dein Nginx als Reverse Proxy fungiert.

Alle Anfragen mit deinen Domains landen dann bei diesem Nginx und dort musst du dann deine einzelnen Dienste als Reverse Proxy mit den jeweiligen Subdomain Namen konfigurieren.

Also so in der Form hinterlegen

Eine Nginx config könnte so aussehen

server {
server_name  app1.example.com;
    listen 80;

location / {
      #app1.example.com
     # DEIN_PORT und IP  muss ersetzt werden mit dem jeweiligen Service 
     #Port
  proxy_pass      http://192.168.0.x:DEIN_PORT;
}

Aber eins noch… Wenn solche Sachen schon nicht da sind vom Wissen, würd ich davon abraten etwas public ins Internet zu stellen. Eure Dienste sind da ganz schnell nicht mehr eure und ihr verbreitet von Daheim schön scheiße. Unter Umständen kann dass dann auch noch Strafrechtliche Folgen haben wenn von eurem Anschluss irgendwelche Scheiße im Netz verbreitet wird.

Warum muss nur theoretisch nichts mehr genattet werden? Das muss es ganz praktisch nicht mehr!

Und nein, man muss auch bei IPv6 nicht auf jedem Host eines der diversen Scripte ausführen, welches die IPv6 auf unterschiedlichen ipv64 Domains updatet. Stattdessen nutzt man einfach die Updatefunktion für das IPv6-Präfix. Das kann sogar jede Fritte. Es muss sich ja nur der Präfix nach jeder Zwangstrennung ändern, also die ersten 64Bit. Die zweiten 64Bit (der Interface Identifier) werden dann per DHCPv6-Server fest zugewiesen.

Das nenne ich jetzt wirklich mal eine steile These. Ich bin auf deine Begründung für diese sehr gespannt. Wo hast du denn dieses Halbwissen aufgetan?

1 Like

Ok die Funktion kannte ich bisher nicht, thank you

Da fängts dann schon an… DHCPv6 gibts doch kaum und wird nicht mal von einer Fritzbox unterstützt. Die Adressen werden doch alle via SLAAC vergeben… also zumindest kann ich in meiner Fritzbox nicht sagen dass er immer denselben interface identifier vergeben soll…

Wieso halbwissen? Ich persönlich würde mich schlichtweg sehr unwohl fühlen wenn sowas ohne Firewall direkt im Netz hängen würde und ich würde vermuten, dass wenn ich auf ner v6 Kiste nen Port für nen Dienst öffne, ich den auch direkt aus dem Internet mit der v6 Adresse ansprechen kann. Jedenfalls wenn ichs nicht per Firewall verbiete.

Ich zitiere mal aus einer nun wirklich nicht mehr taufrischen 7490:

DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen
FRITZ!Box wird als DNS-Server via DHCPv6 bekannt gegeben. Teile des vom Internetanbieter zugewiesenen IPv6-Netzes werden an nachgelagerte Router weitergegeben. Geräte im Heimnetz bekommen eine IPv6-Adresse via DHCPv6 zugewiesen.

Wenn deine das nicht kann muss die entweder steinalt sein oder du hast die entsprechende Funktion einfach nur noch nicht gefunden.

Wo siehst du da denn einen Unterschied zwischen IPv4 und IPv6. NAT hin oder her. Machst du in deiner Fritte den TCP-Port 80 auf, dann ist nur genau der auf. Egal ob IPv4 oder IPv6. Anfragen an TCP-Port 22 (ssh) gehen dann trotzdem nicht durch die Fritte. Egal ob per IPv4 oder IPv6.

Die einzige Situation wo das anders ist, ist dann wenn du in der Fritte (ja die bietet das tatsächlich an) einen Server zum Exposed Host machst. Dann lässt die Fritte einfach alles durch. Da kann ich dann aber nur sagen - selbst Schuld wer so etwas macht.

1 Like

ne 7530ax so alt is die gar nicht und dennoch kann ich keine fixen ip interface identifier vergeben oder ich habs nur nie gefunden. Mag nicht unmöglich sein, komm ich jetzt aber eh nicht mehr dran weil ich nicht umstecken will und der MK die Routen zur FB noch gar nich kennt.

korrekt nur ist der bei IPv4 nur bei der Fritte offen und leitet das auch nur an einen Host weiter.
Bei v6 wäre es doch für jeden Host offen es sei denn man regelt das über die Firewall und schränkt es da wieder ein.

Ich liebe ja solche Gesrpäche und da ich kein Profi bin lern ich auch immer gern dazu aber ich will das Thema des OP auch nicht einfach kapern hier :smiley:

Ich glaub wir sind Kilometerweit über seinem Level

Ich habe den Eindruck - auch über deinem Level:
Das AVM-Wissensdokument #1239 wird dir verraten wie das mit dem DHCPv6 geht und wo es zu finden ist. Danach kannst du dann auch fixen interface identifier vergeben. Denn der setzt natürlich voraus, dass DHCPv6 und nicht SLAAC verwendet wird.

NEIN !!! Das ist so wie von dir beschrieben nur bei einem Exposed Host. Auch bei IPv6 musst du in der Fritte für jeden Server einzeln die Freigaben erstellen.

1 Like