Website nur über IPv6

tobi.wld

Lt. Junior Grade
Registriert
Dez. 2020
Beiträge
268
Hallo zusammen.
Ich würde einige meiner Webservices bei mir daheim (Nextcloud, Grafana, etc.) gerne von außen erreichbar machen.
Ich habe es bereits mit einem Reverse-Proxy versucht. Dieser Versuch ist allerdings nicht geglückt. Nun bin ich auf die Idee gekommen diese Services via IPv6 (öffentlich ohne irgendwelche Portfreigaben, etc.) öffentlich freizugeben. Dies klappt soweit sehr gut.

Ich besitze eine eigene Domain bei Strato. Wenn ich eine Subdomain erstelle z.B. grafana.example.com und von dieser dann den DNS AAAA-Record auf die entsprechende IPv6-Adresse setze funktioniert es leider nicht.
Kann man bei Strato irgendwie den A-Record entfernen, sodass die Seite nur per IPv6 erreichbar ist?
Und kann man den Port gleich "mitgeben"?

Bsp:
Grafana Server mit IPv6-Adresse XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXX1
Domain grafana.example.com verweist auf XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXX1 mit Port 3000 für Grafana


Eventuell hat ja schon jemand Erfahrungen hiermit und kann mir weiterhelfen :)
 
  • Ich weiß nicht wie das bei Strato genau aussieht, aber beim Managen einer Domain kannst du immer auch einen Record entfernen.
  • Bei dem Port wirst du schon einen richtigen verwenden müssen, also 80 oder 443.
    Wenn du schon ipv6 nutzt und viel mehr IPs hast, brauchst du die Anwendung nicht auf Nicht-Standard Ports bereitstellen.
  • Es gibt SRV Records mit Port aber die sind nicht das richtige für eine Webseite.
 
dasbene schrieb:
Ich weiß nicht wie das bei Strato genau aussieht, aber beim Managen einer Domain kannst du immer auch einen Record entfernen.
Hat jetzt geklappt, ich war bloß zu eilig ^^

dasbene schrieb:
Bei dem Port wirst du schon einen richtigen verwenden müssen
Also ist es anders nicht möglich? Sonst müsste ich beispielsweise ja an meinem Grafana-Server den Port vom Standard 3000 auf 80 bzw. 443 umstellen

Das mit den SRV-Records probiere ich mal aus
 
tobi.wld schrieb:
Das mit den SRV-Records probiere ich mal aus
Ich glaube da habe ich mich ungenau ausgedrückt. SRV Records funktionieren nicht mit Webbrowsern.
Das muss von der Anwendung schon unterstützt werden. Ich glaube mit Minecraft Servern geht sowas.

tobi.wld schrieb:
Also ist es anders nicht möglich?
Halt in der URL im Browser. Aber das willst du ja verständlicherweise nicht. Wenn man einen Server ohne Port angibt, heißt das in quasi jeder Anwendung, dass der Standartport verwendet wird.

Übrigens auch wenn du deinen ganzen Host mit der IPv6 Adresse frei geben kannst solltest du irgendwo eine Firewall haben die nur bestimmte Ports durchlässt. Du willst nicht das ein Port, der von irgendeinem Programm aufgemacht wurde, auf einmal über die Adresse frei erreichbar ist.
 
sonst zeig auch mal die reverse proxy config
hier allgemein fuer grafana:
https://grafana.com/tutorials/run-grafana-behind-a-proxy/

hier hast du ein beispiel wie ipv6 in nginx geht:
Code:
server {                                                                                                                               
        listen 80;            #ipv4                                                                                                         
        listen [::]:80;       #ipv6

        server_name example.com;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://[::1]:8886;
}
 
dasbene schrieb:
SRV Records funktionieren nicht mit Webbrowsern
Achso hab das so verstanden dass es geht aber eher unüblich ist :|
Firewall habe ich auf jedem Server konfiguriert

madmax2010 schrieb:
sonst zeig auch mal die reverse proxy config
Hatte einfach einen Docker Container mit dem Nginx Proxy Manager. Von da habe ich dann versucht auf öffentliche IPs zu forwarden, aber das hat irgendwie nicht geklappt.
Kann es nochmal reproduzieren wenn das was zur Lösung beiträgt
 
tobi.wld schrieb:
Hatte einfach einen Docker Container mit dem Nginx Proxy Manager.
:rolleyes: Docker und IPv6 ist etwas schwerer, habe ich selber auch noch nie hinbekommen, bzw. nie intensiv genug damit beschäftigt.
Die Docker internen Netzwerke sind normalerweise(?) IPv4 und die Container haben nur entsprechende Adressen. Die können dann nicht mit einem IPv6 Host kommunizieren.
 
dasbene schrieb:
Die können dann nicht mit einem IPv6 Host kommunizieren.
Ja da habe ich es noch mit IPv4 versucht aber bin auch kläglich gescheitert. IPv6 mache ich quasi nur weil das nicht funktioniert hat ^^

Habe jetzt gerade mal was versucht:
1651072848005.png

Aber Strato macht da das draus:
1651072878521.png

Da ist im zweiten IPv6-Block (7e01) ein "/" der da nicht hingehört. Sonst sollte es eigentlich ja funktionieren wenn ich mich nicht täusche
 
Also eine IPv6 Adresse mit Docker zu nutzen ist viel einfacher als ich dachte wenn man es korrekt macht.

tobi.wld schrieb:
Hatte einfach einen Docker Container mit dem Nginx Proxy Manager. Von da habe ich dann versucht auf öffentliche IPs zu forwarden, aber das hat irgendwie nicht geklappt.
Moment, was? Was hast du da genau versucht? Der Nginx Proxy Manager sollte doch da laufen wo auch Grafana läuft. Da brauchst du die öffentliche Adresse nicht.

tobi.wld schrieb:
Da ist im zweiten IPv6-Block (7e01) ein "/" der da nicht hingehört.
Was das mit dem Slash in der Umleitung soll kann ich auch nicht nachvollziehen. Was willst du denn da Umleiten?
 
dasbene schrieb:
Moment, was? Was hast du da genau versucht?
Ich glaube ich stelle es am besten mal nach ^^

dasbene schrieb:
Da brauchst du die öffentliche Adresse nicht.
Ich wollte zum testen erstmal eine öffentliche IP benutzen, das sollte ja grundsätzlich auch funktionieren oder?

dasbene schrieb:
Was willst du denn da Umleiten?
Naja ich hatte versucht, dass wenn ich auf subdomain.domain.com gehe dass diese auf meine IPv6 mit einem bestimmten Port weiterleitet. Mit IPv4 funktioniert das ganze auch.
Ergänzung ()

Nachstellung Nginx Proxy Manager:

Nginx-Proxy-Manager Server: 194.195.243.247
Test-Webserver: 194.233.170.141
Domain: nginx.tobiwld.de
Config:
1651087791806.png

Beim Aufruf von test.nginx.tobiwld.de kommt folgendes:
1651087827106.png
 
Zuletzt bearbeitet:
Du musst schon die IP für deine Domain einstellen. Es gibt keinen A Record für "test.nginx...".
 
Also muss ich für jeden Proxy-Host den ich erstelle auch eine IP beim Hoster hinterlegen?
Weil das sollte ja immer die gleiche sein oder nicht? Also ich muss ja immer auf meine IP vom Proxy Manager oder verstehe ich grade irgendwas ganz falsch?😅
Also ich dachte das es so ist dass der Proxy-Manager erkennt über welche url darauf zugegriffen wird und er danach entscheidet auf welche interne IP er den Request weitergeben muss
 
Naja, wenn du die Domain im Browser eingibst kann der ohne das die auf eine IP zeigt nichts damit anfangen.
tobi.wld schrieb:
Weil das sollte ja immer die gleiche sein oder nicht?
Genau. Alle deine Domains zeigen auf die gleiche IP. Der Nginx Proxy Manager(NPM) hat ja auch nur eine.

Unterschieden wird dann anhand des HTTP Headers. Da schreibt der Browser den Host (Domain) rein. Nur anhand dieses Headers kann der NPM dann die Anfrage weiterleiten.

Mal eine Frage am Rande. Hast du alle deine Services mit Docker gehostet? Dann wäre Traefik eine elegantere Lösung als NPM.
 
dasbene schrieb:
Unterschieden wird dann anhand des HTTP Headers
Ahhhh jetzt macht das alles Sinn, vielen vielen Dank!!! :)

dasbene schrieb:
Hast du alle deine Services mit Docker gehostet?
Ne, teilweise habe ich auch eigene VMs die auf meinem Homeserver laufen
Ergänzung ()

Habe nochmal eine Frage
Und zwar wenn ich jetzt eine neue Subdomain hinzufüge muss die ja auf die IPv4-Adresse meiner FritzBox zeigen.
Diese ändert sich jedoch und deshalb habe ich eine Lösung mit DDNS, wo eine Domain immer auf meine aktuelle öffentliche IP-Adresse verweist.
Nun habe ich das Problem dass ich ja für jede Subdomain einen A-Record zu meiner aktuellen öffentlichen IP-Adresse brauche. Allerdings kann ich in der FritzBox nur eine Domain per DDNS "managen". Heißt ich müsste von meiner neuen Subdomain auf meine DDNS-Domain "verweisen", das geht jedoch nur mit einer IP-Adresse wenn ich richtig informiert bin. Aber diese ändert sich ja

Gibt es dafür irgendwelche Lösungen?
 
Zuletzt bearbeitet:
tobi.wld schrieb:
Gibt es dafür irgendwelche Lösungen?
Es gibt zwei Stück.
  1. Du verwendest CNAME Records die auf eine andere Domain verweisen. Damit sagt man quasi das grafana.example.com auf die gleich IP zeigen solle wie nginx.example.com
  2. Die alternative ist eine Wildcard in der domain zu verwenden. Also *.example.com. Damit werden dann alle Subdomains zu der gleichen IP weitergeleitet. Das hat den vorteil das man in zukunft nicht für jeden weiteren Service einen neuen Record anlegen muss.
 
Zurück
Oben