Self-Hosting trotz CG-NAT für Dummies

Ein freundliches Hallo in die Runde:

Aus einem alten PC habe ich mir ein NAS mit TrueNAS Scale als OS zusammengeschustert. Da ich verschiedene Dienste (und Gameserver) hoste, möchte ich, dass man über das Internet auf meinen Server zugreifen kann.

Folgendes Problem:
TrueNAS Scale erlaubt – warum auch immer – kein Hosting über IPv6 (außerdem erlauben es leider immer noch nicht viele Anwendungen, über IPv6 gehostet zu werden). Da ich durch die Deutsche Glasfaser und das CG-NAT auch noch lediglich statische IPv6-Adressen bekomme, bin ich doppelt blöd dran.

Nun habe ich viel gelesen und Tutorials geschaut, mir brodelt der Kopf und ich weiß nicht mehr weiter.

Mögliche Lösung?
Nach meinen Kenntnissen sollte es trotzdem möglich sein, indem ich eine VPN-Verbindung von meiner Fritzbox zu einem VPS mit statischen IPv4- und IPv6-Adressen aufbaue. Alle Anfragen, die auf die entsprechenden Ports des VPS gesendet werden, sollten über das VPN an mein Heimnetzwerk weitergeleitet werden und über lokales IPv4 an mein NAS gehen.

Bloß wie umsetzen? Ich bin mit meinem Latein am Ende. Vielleicht findet sich ja Jemand, der zufällig genau weiß, wie man sowas einrichten kann.

Vielen Dank für mögliche Hilfestellungen schon mal im voraus. Ich wünsche noch einen angenehmen Tag :slight_smile:

kurz und knapp

Ahh… na das sieht ja sehr vielversprechend aus! Das Video werde ich mir mal antun, ich hoffe, ich kapier’s endlich :sweat_smile:

Vielen Dank, Pandora!

Und da hätte ich schon eine weitere Frage bzgl. des Videos:

Momentan miete ich von IONOS einen kleinen „VPS 1-1-10-Server“. So, wie es aussieht, kann ich da wohl kein OPNsense oder pfsense installieren. Falls das doch geht, bitte korrigieren, dann würde ich natürlich versuchen, dass das irgendwie klappt :slight_smile: .

Gibt es denn einen möglichst günstigen Anbieter hierfür zu empfehlen?

x64 oder arm64 plattform?

Der IONOS Server, den ich miete ist x86_64, falls du das meinst. amd64 kann ich da auch noch irgendwo herauslesen, falls das hilft.

ich kenn die ionos server jetzt nicht wirklich
aber x86_64 (x64) wäre schonmal die richtige cpu architektur
wie du da ein custom image installieren kannst bin ich leider raus
aber ionos hat normaler ein gute wiki

Ah, alles klar. Dann informiere ich mich mal, ob das mit dem custom image irgendwie geht. Danke dir.

Puh, also so, wie es aussieht, ist das wohl mit ner custom ISO nicht gerade ohne weiteres möglich mit diesem IONOS-Server.

Ich würde dann wohl einfach den Anbieter wechseln und mich vorher erkundigen, wo man da mit möglichst wenigen Kosten hingehen kann. Falls es klare Empfehlungen gibt, ziehe ich die sehr gerne in Betracht.

Hier schau ich hab dazu auch ein Video gemacht.

Oh, das sieht ja vielversprechend aus. Leider muss ich mich noch in Wireguard reinfuchsen, damit tue ich mich noch ziemlich schwer :D.

Aber danke für dein Video, das wird mit Sicherheit weiterhelfen!

Kleines Update:

Dennis Video hat mir sehr viel weiter geholfen! Ich musste mir bloß noch etwas Wissen über Wireguard anlesen, um die config-Dateien richtig einzurichten (Beim Verständnis hat mir das Video, das Pandora vorgeschlagen viel gebracht).

Aktueller Stand:
So, wie es scheint, steht nun der Tunnel zwischen VPS und Fritzbox und das Skript von Dennis läuft ebenfalls.

Problem ist jetzt allerdings nun noch, dass ich noch immer nicht auf die Dienste auf meinem NAS zugreifen kann. Das liegt vielleicht daran, dass der Tunnel zwischen VPS und Fritzbox besteht und die Fritzbox nicht ans NAS weiterleitet ??

Weiß da Jemand vielleicht, was ich da abändern oder hinzufügen muss?

Kannst du von deinem VPS die TrueNAS anpingen? Kannst du auch die FB (FritzBox) erreichen?
Vielleicht fehlen dir auf der VPS-Seite auch noch Routen.

Prüf mal mit

ip route show #ipv4
ip -6 route show #ipv6

die Routen auf dem VPS.

Auf dem TrueNas (wenn es da tcpdump gibt) könntest du schauen ob die Pakete auch ankommen:

tcpdump icmp #ipv4
tcpdump icmp6 # ipv6

Pingen habe ich gerade ausprobiert, klappt sowohl von NAS als auch von VPS aus.

Die Sache mit den Routen verstehe ich allerdings absolut nicht. Aus dem Output kann ich nichts ableiten (als Laie).

Der TCP-Dump hat keine Ergebnisse ausgespuckt. Was Sinn macht, da ich ja bei Eingabe von VPS-IP-Adresse + entsprechendem Port im Browser auch keine Seite geladen bekomme.

Der tcpdumpzeigt mit icmp nur Pakete die ICMP auch zugeordnet werden. Dazu gehört ping. :wink:
Willst du mit tcpdump prüfen was auf Port 80 oder 443 passiert, kannst so tun:

tcpdump port 80 or port 443

Damit werden aber auch ausgehende Verbindungen angezeigt.


Das Zielbild sollte nach meinem Verständnis in etwa so aussehen:
Browser (Internet) → VPS (Port 80 und 443) → VPN (wireguard) → FB → TrueNAS

Ist das so korrekt?

Ich habe eben das Video von Dennis in 5 Sekunden mal durchgeklickt. Da wird ein Portforwarding auf dem VPS eingerichtet. Alternativ je nach dem was du durchreichen willst, kannst du auf dem VPS auch einfach ein Apache, Nginx, … installieren und dieser gibt die (Web-)Anfragen dann weiter.


Hast du schon versucht das TrueNAS vom VPS mit curl zu erreichen?

curl -i http://<locale-ip-von-true-nas>

Danke dir c00p3r, für die Infos! tcpdump zeigt leider nach wie vor keine Eingänge an. Allerdings geht das Pingen problemfrei von beiden Seiten aus.

Das Zielbild ist im Grunde genau das, was ich erreichen will, nur möchte ich andere Ports freigeben, was ja kein Problem ist. Die Ports aus dem Tutorial habe ich einfach ausgetauscht.

Apache oder Nginx würde mein Problem glaube ich nicht lösen, da ich auch einige Ports freigeben möchte, die nicht vom Browser aus erreicht werden können/sollen. Bspw. Ports für selbst gehostete Gameserver.

Da die VPN-Verbindung zwischen VPS und Fritzbox besteht, wird ja nichts automatisch an das NAS weitergeleitet. Und genau da ist mein Problem. Ich möchte, wenn ich die IP des VPS eingebe ja nicht meinen Router, sondern mein NAS erreichen. Aber wie ich das lösen soll, ist ein Rätsel für mich.

So wie ich es verstanden habe funktioniert:

  • Ping vom Internet zum VPS
  • Ping vom VPS zur FritzBox
  • Ping vom VPS zum TrueNAS
  • Ping von TrueNAS zu VPS

Hat dein Provider vielleicht noch eine Firewall davor? Was sagt tcpdump auf dem VPS kommen die Pakete da überhaupt an? Werden sie überhaupt weitergegeben?

„Ping vom Internet zum VPS“: Teste ich das, indem ich die öffentliche IP des VPS von irgendwo her anpinge? Falls ja, das geht tatsächlich nicht.

  • Alle anderen Pings klappen.
  • tcpdump auf dem VPS zeigt mir Eingänge an. Auf dem NAS hingegen nicht.

Ich schaue mir nochmal das Video von Dennis an, vielleicht ist mir ja irgendwas entgangen.

Korrekt. Vielleicht hast du das durch eine Firewall-Regel blockiert. Dem solltest du mal nachgehen.

tcpdump zeigt auch ausgehende Pakete :wink: Vielleicht siehst du auch Pakete welche ausgehen Richtung NAS sind.

tcpdump -n zeigt die Adressen statt der DNS-Namen an

Aha, tatsächlich, ICMP war in der Firewall des VPS nicht freigegeben, das habe ich nun geändert. Jetzt geht auch das Pingen an die öffentliche IP.

Also im tcpdump scheint nur Kommunikation zwischen VPS und meine PC stattzufinden. Ich sehe keine weiteren Adressen oder Weiterleitungen.

Ich bin mir ziemlich sicher, dass ich das Skript von Dennis falsch angepasst habe, das scheint mir eine noch sehr wahrscheinliche Möglichkeit zu sein. Durch mein fehlendes Wissen habe ich natürlich keine Ahnung, wie ich das abändern müsste.