rohrbrecher
New member
Hi, sorry wenn bereits meine Überschrift verwirrend ist aber ich bewege mich in Gefilden in denen ich mich nicht mehr auskenne und brauche Hilfe.
Zum Hintergrund:
Seit einigen Monaten läuft hier bei mir ein Proxmox VM Host, auf dem diverse Dienste gehostet sind, unter anderem auch ein nginx welcher diese Dienste nach außen verfügbar macht. Selbst das zu erreichen war für mich teilweise echt Voodoo weil ich mich bisher nur sehr oberflächlich im Bereich IPv4 Portforwarding bewegt habe und keinerlei Ahnung von IPv6 hatte. Im Detail sieht es so aus:
Da ich von Vodafone nur noch eine IPv6 bekomme nutze ich als DynDNS https://dynv6.com/, da dieser der Einzige war welcher mir erlaubt hat meinen IPv6 Prefix dynamisch zu ändern während die festen Geräteadressen statisch blieben.
Die Fritzbox aktualisiert also meinen Prefix bei dynv6 regelmäßig und dynv6 leitet dann diverse Subdomains auf den nginx um, welcher dann wieder das tut, was ein Reverse Proxy tun soll und auf die IPs der VMs umleitet.
Bei einem DNS Lookup der dynv6 Adressen bekomme ich hier nur jeweils einen AAAA record angezeigt, welcher der IPv6 Adresse meines nginx entspricht.
Nachdem das funktioniert hat, habe ich mir eine Domain bei Strato geklickt, dort wieder Subdomains angelegt und per Subdomainumleitung auf die dynv6 verwiesen.
Bei einem DNS Lookup der Strato Adressen sehe ich hier je einen A und AAAA record, welche den Adressen von Strato entsprechen.
Dieser "Umweg" ist eigentlich nicht unbedingt notwendig gewesen, die kürzeren URLs sind aber für den FAF (Frauen Akzeptanz Faktor) ganz hilfreich gewesen.
Auch das hat soweit funktioniert und ich konnte seitdem meine Dienste sowohl über die Strato als auch über die direkten dynv6 Adressen ansprechen.
Nun zum eigentlichen Problem:
Ich möchte nun per Amazon Webservices auf einen der Dienste (Home Assistant) zugreifen. Das ist eine lange Geschichte und eigentlich fast schon ein Thema für sich. Die relevanten Fakten sind aber, dass ich dafür folgendes brauche, Zitat: "The Alexa Smart Home API requires your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using an SSL/TLS certificate." Außerdem scheint es laut diverser Foren und Github Einträge so zu sein, dass die Amazon API nur auf IPv4 auflöst.
So, nun habe ich im nginx natürlich Lets Encrypt Zertifikate hinterlegt und aktiviert. Diese funktionieren nach meinem Verständnis auch, da ich per https problemlos auf die Dienste komme. Beim Versuch per Amazon darauf zuzugreifen bekomme ich allerdings den Fehler "No address associated with hostname" bzw. "Name or service not known". Das hat möglicherweise damit zu tun, dass ich direkt auf die dynv6 Adressen weiterleite und diese kein IPv4 anbieten (Bei einem DNS Lookup existiert nur ein AAAA record).
Dann bin ich auf einen Post auf github gestoßen:
Der Hinweis mit dem CNAME record war für mich ganz interessant, da wohl eigentlich bei Strato nie die Subdomainweiterleitung sondern CNAME hätte nutzen sollen, um die Strato Adresse auf die dynv6 Adresse umzubiegen. So richtig schlau wurde ich allerdings nicht daraus.
Ich hab dann weiter herumprobiert und herausgefunden, dass ich bereits bei Strato SSL aktivieren kann. Das hab ich also getan und siehe da, der Fehler ändert sich. Bei AWS bekomme ich nun plötzlich die Fehlermeldung "SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure" und im Browser (sowohl Firefox als auch Chrome) bekomme ich: "SSL_ERROR_NO_CYPHER_OVERLAP".
Soll heißen: Seitdem ich bei Strato SSL für meine Domain aktiviert habe, komme ich per https auf keinen meiner Dienste mehr. Per http funktioniert es immer noch wie gehabt.
Zum Test hab ich mal eine weitere Strato Subdomain angelegt und dort nur einen CNAME Eintrag nach folgendem Schema gemacht:
Bei einem DNS Lookup dieser neuen Strato Adresse sehe ich zwei Unterschiede: Im Gegensatz zu den anderen Strato Subdomains habe ich hier keinen A record, der AAAA record zeigt auf die IPv6 Adresse meines nginx anstatt auf Strato und zudem gibt es eben noch den CNAME record.
Ich bin jetzt ehrlich gesagt langsam ziemlich verwirrt. Ich vermute, dass ich bei Amazon eine Adresse hinterlegen muss die zu einer IPv4 auflöst, SSL unterstützt und Port 443 korrekt weiterleitet. Das Ziel der Weiterleitung muss dann vermutlich wieder der nginx sein. Ich hab allerdings ohne Strato keine Möglichkeit an eine IPv4 zu kommen, SSL produziert aber den oben genannten Fehler und nun drehe ich mich gefühlt im Kreis.
PS: Eben habe ich noch gesehen, dass das Strato "SSL Starter" Paket wohl gar keine Subdomains unterstützt. Keine Ahnung warum dann das oben genannte Verhalten und der Fehler auftritt. Das ist alles wirklich sehr verwirrend.
Ich hoffe der lange, ahnungslose Post schreckt nicht ab und jemand kann mir weiterhelfen.
Gruß
Thomas
Zum Hintergrund:
Seit einigen Monaten läuft hier bei mir ein Proxmox VM Host, auf dem diverse Dienste gehostet sind, unter anderem auch ein nginx welcher diese Dienste nach außen verfügbar macht. Selbst das zu erreichen war für mich teilweise echt Voodoo weil ich mich bisher nur sehr oberflächlich im Bereich IPv4 Portforwarding bewegt habe und keinerlei Ahnung von IPv6 hatte. Im Detail sieht es so aus:
Da ich von Vodafone nur noch eine IPv6 bekomme nutze ich als DynDNS https://dynv6.com/, da dieser der Einzige war welcher mir erlaubt hat meinen IPv6 Prefix dynamisch zu ändern während die festen Geräteadressen statisch blieben.
Die Fritzbox aktualisiert also meinen Prefix bei dynv6 regelmäßig und dynv6 leitet dann diverse Subdomains auf den nginx um, welcher dann wieder das tut, was ein Reverse Proxy tun soll und auf die IPs der VMs umleitet.
Code:
beispiel1.meinname.dynv6.net --> IPv6 meines nginx --> lokale IPv4 inkl. Port des Dienstes "beispiel1"
beispiel2.meinname.dynv6.net --> IPv6 meines nginx --> lokale IPv4 inkl. Port des Dienstes "beispiel2"
Bei einem DNS Lookup der dynv6 Adressen bekomme ich hier nur jeweils einen AAAA record angezeigt, welcher der IPv6 Adresse meines nginx entspricht.
Nachdem das funktioniert hat, habe ich mir eine Domain bei Strato geklickt, dort wieder Subdomains angelegt und per Subdomainumleitung auf die dynv6 verwiesen.
Code:
beispiel1.meinestratodomain.de --> beispiel1.meinname.dynv6.net --> IPv6 meines nginx --> lokale IPv4 inkl. Port des Dienstes "beispiel1"
beispiel2.meinestratodomain.de --> beispiel2.meinname.dynv6.net --> IPv6 meines nginx --> lokale IPv4 inkl. Port des Dienstes "beispiel2"
Bei einem DNS Lookup der Strato Adressen sehe ich hier je einen A und AAAA record, welche den Adressen von Strato entsprechen.
Dieser "Umweg" ist eigentlich nicht unbedingt notwendig gewesen, die kürzeren URLs sind aber für den FAF (Frauen Akzeptanz Faktor) ganz hilfreich gewesen.
Auch das hat soweit funktioniert und ich konnte seitdem meine Dienste sowohl über die Strato als auch über die direkten dynv6 Adressen ansprechen.
Nun zum eigentlichen Problem:
Ich möchte nun per Amazon Webservices auf einen der Dienste (Home Assistant) zugreifen. Das ist eine lange Geschichte und eigentlich fast schon ein Thema für sich. Die relevanten Fakten sind aber, dass ich dafür folgendes brauche, Zitat: "The Alexa Smart Home API requires your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using an SSL/TLS certificate." Außerdem scheint es laut diverser Foren und Github Einträge so zu sein, dass die Amazon API nur auf IPv4 auflöst.
So, nun habe ich im nginx natürlich Lets Encrypt Zertifikate hinterlegt und aktiviert. Diese funktionieren nach meinem Verständnis auch, da ich per https problemlos auf die Dienste komme. Beim Versuch per Amazon darauf zuzugreifen bekomme ich allerdings den Fehler "No address associated with hostname" bzw. "Name or service not known". Das hat möglicherweise damit zu tun, dass ich direkt auf die dynv6 Adressen weiterleite und diese kein IPv4 anbieten (Bei einem DNS Lookup existiert nur ein AAAA record).
Dann bin ich auf einen Post auf github gestoßen:
Der Hinweis mit dem CNAME record war für mich ganz interessant, da wohl eigentlich bei Strato nie die Subdomainweiterleitung sondern CNAME hätte nutzen sollen, um die Strato Adresse auf die dynv6 Adresse umzubiegen. So richtig schlau wurde ich allerdings nicht daraus.
Ich hab dann weiter herumprobiert und herausgefunden, dass ich bereits bei Strato SSL aktivieren kann. Das hab ich also getan und siehe da, der Fehler ändert sich. Bei AWS bekomme ich nun plötzlich die Fehlermeldung "SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure" und im Browser (sowohl Firefox als auch Chrome) bekomme ich: "SSL_ERROR_NO_CYPHER_OVERLAP".
Soll heißen: Seitdem ich bei Strato SSL für meine Domain aktiviert habe, komme ich per https auf keinen meiner Dienste mehr. Per http funktioniert es immer noch wie gehabt.
Zum Test hab ich mal eine weitere Strato Subdomain angelegt und dort nur einen CNAME Eintrag nach folgendem Schema gemacht:
Code:
beispiel3.meinestratodomain.de --CNAME--> beispiel3.meinname.dynv6.net.
Bei einem DNS Lookup dieser neuen Strato Adresse sehe ich zwei Unterschiede: Im Gegensatz zu den anderen Strato Subdomains habe ich hier keinen A record, der AAAA record zeigt auf die IPv6 Adresse meines nginx anstatt auf Strato und zudem gibt es eben noch den CNAME record.
Ich bin jetzt ehrlich gesagt langsam ziemlich verwirrt. Ich vermute, dass ich bei Amazon eine Adresse hinterlegen muss die zu einer IPv4 auflöst, SSL unterstützt und Port 443 korrekt weiterleitet. Das Ziel der Weiterleitung muss dann vermutlich wieder der nginx sein. Ich hab allerdings ohne Strato keine Möglichkeit an eine IPv4 zu kommen, SSL produziert aber den oben genannten Fehler und nun drehe ich mich gefühlt im Kreis.
PS: Eben habe ich noch gesehen, dass das Strato "SSL Starter" Paket wohl gar keine Subdomains unterstützt. Keine Ahnung warum dann das oben genannte Verhalten und der Fehler auftritt. Das ist alles wirklich sehr verwirrend.
Ich hoffe der lange, ahnungslose Post schreckt nicht ab und jemand kann mir weiterhelfen.
Gruß
Thomas