IPv4 Portmapping und Apps von extern erreichen


eFrame

Recommended Posts

Hallo zusammen.

Ich hoffe hier vielleicht was Hilfe zu meinem Problem zu finden.
Bin relativ neu im Thema Unraid-Server.

 

Das Problem liegt in der fehlenden öffentlichen IPv4 Adresse.
Mein Provider DG bietet diese auch auf Nachfrage für Privatkunden nicht an.
Also steht mir nur eine scheinbar statische IPv6 Adresse zu Verfügung.


Möchte aber von extern über IPv4 auf den Unraid-Server zugreifen können.

Über zwei Subdomains möchte ich gerne jeweils Nextcloud und Filebrowser von außerhalb erreichen können.
Beide sind im Docker installiert.

 

Da hatte ich mir überlegt, dieses Problem per ssh-Tunnel mit einem VPS zu lösen.

-ssh mit Reverse TCP Port Mapping Option -R (verwende Port 8080)
-ssh Schlüsselpaar (Public/Private Key)
-Autossh für den automatischen Verbindungsaufbau und einem Userscript in Unraid.


Dieses Script startet per Autossh Befehl das Port Mapping beim ersten Array Start.

Das funktioniert soweit auch ganz gut.

 

Auf dem Unraid-Server habe ich NPM installiert.

Wenn ich im Browser die IPv4 Adresse des VPS inkl. der Portnummer (8080) eingebe werde ich zum meinem Unraid-Server weitergeleitet.
An der FB habe ich den Port 8080 1:1 durchgeleitet.


In der Adressleiste steht dann die IP vom VPS mit der Portnummer 8080

Dort sehe ich dann die Congratulations Seite vom NPM.

 

Ab jetzt weiß ich aber nicht mehr weiter 😞

 

Kann mir dazu jemand einen Tip geben?
Bin schon seit Tagen an der Sache dran, jedoch ohne Erfolg.

 

LG

Link to comment

Hier für eignet sich der CF-Tunnel (Argo) nur bedingt, da hier abgesehen von http/https Datentransfers über 100MB unterbunden werden. Solang man NC nur über das Webinterface und die Apps nutzt, ist das kein Problem. WebDAV klappt hier aber leider nicht.

 

Hier würde mir in erste Linie auch nur der Weg über den SSH Tunnel einfallen. Habe ich aber selbst noch nicht eingerichtet.

 

  

2 hours ago, eFrame said:

In der Adressleiste steht dann die IP vom VPS mit der Portnummer 8080

Dort sehe ich dann die Congratulations Seite vom NPM.

Ich glaube damit sieht es schon ganz gut aus, dass sein Tunnel funktioniert. Der Rest müsste dann ja ablaufen wie in den restlichen NPM Guides mit den Subdomain. Ich nutze leider kein NPM.

 

Ich meine mich zu erinnern, dass wir das Thema schon einmal wegen DS-Lite hier hatten. Vielleicht kann @flinx01 hier ein wenig helfen?

Edited by sonic6
  • Thanks 1
Link to comment
1 hour ago, sonic6 said:

Ich glaube damit sieht es schon ganz gut aus, dass sein Tunnel funktioniert.

Danke schonmal an alle für das Interesse an dem Thema.

 

@sonic6 Der Tunnel funktioniert.
Der Port 8080 wird ja scheinbar am Unraid angesprochen.
Mein Problem ist, das ich jetzt am dem Part festhänge wo es darum geht wie setze ich meine Domain und Subdomains ein, damit ich diese dann auch von extern auf meinem Unraid erreichen kann.
Also muss deren DNS-Einträge die IP vom VPS haben oder der IPv6 vom Unraid Server, und wie unterteile ich dann die Verlinkung zu den Docker Containern?

Link to comment
8 hours ago, eFrame said:

Auf dem Unraid-Server habe ich NPM installiert.

Wenn ich im Browser die IPv4 Adresse des VPS inkl. der Portnummer (8080) eingebe werde ich zum meinem Unraid-Server weitergeleitet.
An der FB habe ich den Port 8080 1:1 durchgeleitet.


In der Adressleiste steht dann die IP vom VPS mit der Portnummer 8080

Dort sehe ich dann die Congratulations Seite vom NPM.

 

Ab jetzt weiß ich aber nicht mehr weiter 😞

 

Kann mir dazu jemand einen Tip geben?
Bin schon seit Tagen an der Sache dran, jedoch ohne Erfolg.

Gesundes Neues allerseits.

 

Also, Abkürzungen finde ich bei solchen Sachen ja immer schlecht.

Es geht um einen Virtual Private Server den Du auf Deinen Unraid Server umleitest?

Also praktisch eine Domain oder auch Subdomain die auf Deinen Homeserver zeigt.

Und Mit NPM ist der nginx proxy manager gemeint?

 

Das heißt dein NPM freut sich ja eh schon daß Du drauf kommst und jetzt gehts eigentlich nur noch darum was genau zu tun?

Die unraid Weboberfläche zu öffnen?

Dann könntest Du den von Dir genutzten Port 8080 einfach auf den Server mit port 80 mappen und dann bist Du auf dem unraid login.

Ich für meinen Teil würde das ohne SSL nicht machen, eigentlich würde ich das noch nichtmal mit SSL machen sondern nur per vpn.

 

Oder möchtest Du die weboberfläche von unraid per npm ansprechen? (Was ja eigentlich viel logischer und geschickter wäre..)

 

edit:

Ah, sorry, hab nochmal nachgelesen.

Funktioniert es über die Configfiles nicht?

Edited by MartinG
blödheit
Link to comment
11 minutes ago, MartinG said:

Also, Abkürzungen finde ich bei solchen Sachen ja immer schlecht.

Sorry, aber ich habe gesehen das hier oft mit Abkürzungen hantiert wird. Werds mir merken.

12 minutes ago, MartinG said:

Es geht um einen Virtual Private Server den Du auf Deinen Unraid Server umleitest?

Jein.
Ich habe einen DS-Lite Anschluss und der stellt keine öffentliche IPv4 zur Verfügung.
Durch das ssh mit Reverse TCP Port Mapping habe ich aber die Möglichkeit mit einer festen IPv4 Adresse ( die vom Virtual Private Server) von extern auf meinen Unraid-Server zu Hause zu kommen.
 

19 minutes ago, MartinG said:

Das heißt dein NPM freut sich ja eh schon daß Du drauf kommst und jetzt gehts eigentlich nur noch darum was genau zu tun?

Ich habe eine Hauptdomain und dazu zwei Subdomains die mit der DNS auf den Virtual Private Server zeigen.
Diese Domains mochte ich dann aber mit z.B. Nextcloud oder Filebrowser auf meinem Unraid-Server verknüpfen.

Wie ich bisher mir beigebracht habe muss alles erstmal auf den Port vom Nginx Proxy Manager gehen.
Und dann muss dort konfiguriert werden wenn z.B. xyz.meinedomain.de dort anklopft zu welcher Dockerapp weitergeleitet werden soll.
Und da liegt bei mir der Hase im Pfeffer.
Ich komme nicht drauf wie ich das umsetzen kann.

Link to comment

Ich glaube es wäre gar nicht so kompliziert wenn ich nicht diese private IPv4 hätte.
Bei DG (Deutsche Glasfaser) bekommt aber kein Privatkunde mehr eine öffentliche feste IPv4.
Selbst wenn von deinem Opa die Lungenmaschine das benötigt.
Das fängt bei denen bei 249€/Monat in Form eines Geschäftsanschlusses an.
Hätte ich mal besser gelesen. Selbst der Service hat mir gesagt, dass steht doch unter Punkt 5.1 der AGB.
Stimmt hätte mir beim Beratungsgespräch auch erstmal die AGB durchlesen können.
In der Zeit hätte sich die Beraterin bei mir zu Hause die Finger- und Fußnägel pediküren können ...heul

Link to comment
9 hours ago, Ford Prefect said:

...wenn Du einen VPS hast und auf jeder Seite eine öffentliche IPv6, dann würde ich Wireguard vorschlagen.

Durch den tunnel passen dann ipv4 und ipv6 simultan.

@Ford Prefect 
Das hört sich toll an. Irgendwie nach "damit ist das alles erledigt". Nur wie? 
Bin nicht so tief wie Du in der Materie drin. Beruflich bin ich im Filmsektor tätig.
Bevor ich das Problem bekommen habe war alles Hobby in dieser Richtung.
Jetzt weiß ich erst wie ein Hobby stressen kann 🙂

Link to comment
8 hours ago, eFrame said:

Also muss deren DNS-Einträge die IP vom VPS haben oder der IPv6 vom Unraid Server

unRAID geht nicht, weil dein NPM Container nicht die IPv6 von unRAID hat und dein Router nur Port 8080 und nicht 80 offen hat. Rufst du nämlich eine IPv6 mit http Domain auf, dann landest du auf Port 80 und der wird von der Firewall des Routers blockiert.

 

Mich wundert, dass du eine Willkommensseite siehst, denn NPM hat im Bridge Netzwerk keine IPv6 oder läuft der als Host mit modifizieren Standardports?

 

Jedenfalls würde ich der Domain ausschließlich eine IPv4 geben. Jeder Besucher kommt dann über IPv4 und damit über den VPS und du kannst nach Belieben die Ports umbiegen.

 

Apropos Ports. Du hast aktuell nur http offen. Du brauchst auch eine Portfreigabe für Port 443 bzw in deinem Fall vermutlich 8443. Du willst ja schließlich auch, dass https bei NPM ankommt.

 

 

Link to comment
7 minutes ago, mgutt said:

Mich wundert, dass du eine Willkommensseite siehst, denn NPM hat im Bridge Netzwerk keine IPv6 oder läuft der als Host mit modifizieren Standardports?

Das hatte ich nach deiner Beschreibung bezüglich NPM und IPv6 gemacht.
Wenn ich vom VPS die IP mit dem Port im Anhang eingegeben hatte kam die Willkommensseite
 

NPM.jpg

Link to comment
14 minutes ago, mgutt said:

Apropos Ports. Du hast aktuell nur http offen. Du brauchst auch eine Portfreigabe für Port 443 bzw in deinem Fall vermutlich 8443. Du willst ja schließlich auch, dass https bei NPM ankommt.

Das habe ich in der Fritzbox gemacht

 

 

fb.jpg

Edited by eFrame
Link to comment
11 minutes ago, eFrame said:

Das hatte ich nach deiner Beschreibung bezüglich NPM und IPv6 gemacht.
...

Das habe ich in der Fritzbox gemacht

 

Ah ok. Dh dein NPM lauscht auf Port 80 und 443. Wozu dann der Port 8080? Auf dem Port lauscht doch nichts?

 

 

Der VPS nimmt IPv4 Traffic auf Port 80 und 443 entgegen und leitet ihn auf IPv6 Port 80 und 443. 8080 sehe ich in dem Kontext nicht.

 

Link to comment

Ich habe ja auch was weiter geforscht in der Zeit wo ich auf Tipps gewartet habe 🙂
So wie ich verstanden habe gibt es für jede Domain auf dem unRaid eine config.Datei

Daher weiß der Nginx Port Manager erst das es diese gibt.
Oder habe ich das falsch verstanden.
Sorry aber für mich ist das so, als wenn ich im Supermarkt von der Fischabteilung in die Weinabteilung versetzt wurde 🙂

 

Link to comment
1 minute ago, mgutt said:

Der VPS nimmt IPv4 Traffic auf Port 80 und 443 entgegen und leitet ihn auf IPv6 Port 80 und 443. 8080 sehe ich in dem Kontext nicht.

Das hat damit zu tun das ich jetzt in der Weinabteilung bin 🙂
Das war eine Vorlage mit Port 8080.
Dort wurde auch nur ein Port weitergeleitet.
Jetzt ´sagst Du mir was von 2 Ports. Menno

Link to comment
3 minutes ago, eFrame said:

So wie ich verstanden habe gibt es für jede Domain auf dem unRaid eine config.Datei

Daher weiß der Nginx Port Manager erst das es diese gibt.
Oder habe ich das falsch verstanden.

Nein. Der komplette Traffic landet bei NPM und in NPM kannst du nun über die GUI die Domains und deren Ziele hinzufügen.

 

Beispiele:

image.thumb.png.95e7ab2df7ad0810ee9ffeb89bdf29ab.png

 

Die entsprechenden Container:

image.thumb.png.0be44a99671297cf008ebf1972a48dc0.png

 

Dh wenn jemand https://plex.example.com aufruft, dann produziert das Traffic auf Port 443 und der NPM leitet den auf Port 32400 weiter. Auf die Art kann man dann jedem Container eine eigene Subdomain geben.

Link to comment
1 hour ago, eFrame said:

denn momentan hat die Hauptdomain noch kein Zertifikat und keine Wildcard für die Subdomains
 

Das Zertifikat holt sich NPM bei Let's Encrypt (LE). Dazu fragt NPM bei LE nach einem Schlüssel für die Domain plex.example.com und LE ruft dann http://plex.example.com/.well-known/blabla auf und verifiziert so, dass die Domain erreichbar ist und NPM gibt darüber den Schlüssel aus.

 

Deine (Sub)Domain muss also zu dem Zeitpunkt im DNS die richtige IP besitzen. In deinem Fall also die IPv4 vom VPS.

 

1 hour ago, eFrame said:

Wildcard

NPM holt für jede Domain ein eigenes Zertifikat bei LE ab.

 

Link to comment
8 hours ago, eFrame said:

@Ford Prefect 
Das hört sich toll an. Irgendwie nach "damit ist das alles erledigt". Nur wie? 

Na, mit dem VPS hast Du ja schon den ersten Schritt getan.

Wireguard ist ein sehr einfach zu bedienendes IP-VPN/Tunnelprotokoll....auch sicher und schnell und es löst - im Zusammenhang mit dem VPS - alle Deine Probleme mit (CG)NAT.

Ein Tunnel kann einseitig aufgebaut werden, zB vom Heim zum VPS, und funktioniert dann aber für Trafik innerhalb des Tunnel bi-direktional für IP-Adressräume (ipv4 und ipv6 - unabhängig davon ob der Tunnel selbst über ipv4 oder ipv6 zustande kam.)

 

Die Kurzversion, wie es aussehen könnte:

  • Du installierst Dir auf dem VPS einen Wireguard "Server".
    Ich nutze einen Software-Router auf einem VPS dafür, aber es gibt genug Anleitungen für Debian, Ubuntu...
    Wichtig ist natürlich, das Du den VPS "im Griff hast", was die Sicherheit angeht...also alle Ports zu, ssh nur mit Zertifikat, ...

    "Server" in Anführungsstrichen, weil Wireguard eigentlich ein Mesh ist. Jeder Peer könnte also einen anderen Peer, dessen IP und Port über den dieser erreichbar ist,  den er kennt aktiv verbinden. Aber in einem Roadwarrior Scanario sind die "mobilen"/Roadwarrior eigentlich die Peers, welche die Verbindung zum "zentralen" Peeer, dem "Server" aufbauen...der "Server" Peer sitzt nur da und wartet, das die "anrufen". Hier wird, weil Du CGNAT hast auch Dein heim ein "Roadwarrior" sein, aus sicht des Servers auf dem VPS.
     
  • Den WG Server richtest Du also für ein "Roadwarrior" Szenario ein, also so dass ihn jedweder WG-Clients erreichen könnte.
    Natürlich müssen die Clients, die Peers, auch einen WG-Client als App haben...gibt es aber für IOS, Android usw.
  • auf unraid installiert Du Dir den Wireguard Docker und richtest den auch als Peer ein (oder Du hast auch einen Router im Heim, der das im Bauch hat).
  • Dann noch auf dem WG-Server die eine Route ins Heimnetz (zu Deinen Diensten, nextcloud, ...) nicht vergessen.
    Aber das machst Du eigentlich dort bei den "Access-Lists" des Tunnel-Peers.

...das sollte es schon gewesen sein. ;-)

 

Edit: genaugenommen baust Du mit dem VPS ein Szenario nach, das zB ""NordVPN" auch kommerziell anbietet...Du spielst Deinen eigenen VPN-Provider. Wireguard macht die Sache recht einfach.

Edited by Ford Prefect
Link to comment
3 hours ago, Ford Prefect said:

Na, mit dem VPS hast Du ja schon den ersten Schritt getan.

Wireguard ist ein sehr einfach zu bedienendes IP-VPN/Tunnelprotokoll....auch sicher und schnell und es löst - im Zusammenhang mit dem VPS - alle Deine Probleme mit (CG)NAT.

Ein Tunnel kann einseitig aufgebaut werden, zB vom Heim zum VPS, und funktioniert dann aber für Trafik innerhalb des Tunnel bi-direktional für IP-Adressräume (ipv4 und ipv6 - unabhängig davon ob der Tunnel selbst über ipv4 oder ipv6 zustande kam.)

 

Die Kurzversion, wie es aussehen könnte:

  • Du installierst Dir auf dem VPS einen Wireguard "Server".
    Ich nutze einen Software-Router auf einem VPS dafür, aber es gibt genug Anleitungen für Debian, Ubuntu...
    Wichtig ist natürlich, das Du den VPS "im Griff hast", was die Sicherheit angeht...also alle Ports zu, ssh nur mit Zertifikat, ...

    "Server" in Anführungsstrichen, weil Wireguard eigentlich ein Mesh ist. Jeder Peer könnte also einen anderen Peer, dessen IP und Port über den dieser erreichbar ist,  den er kennt aktiv verbinden. Aber in einem Roadwarrior Scanario sind die "mobilen"/Roadwarrior eigentlich die Peers, welche die Verbindung zum "zentralen" Peeer, dem "Server" aufbauen...der "Server" Peer sitzt nur da und wartet, das die "anrufen". Hier wird, weil Du CGNAT hast auch Dein heim ein "Roadwarrior" sein, aus sicht des Servers auf dem VPS.
     
  • Den WG Server richtest Du also für ein "Roadwarrior" Szenario ein, also so dass ihn jedweder WG-Clients erreichen könnte.
    Natürlich müssen die Clients, die Peers, auch einen WG-Client als App haben...gibt es aber für IOS, Android usw.
  • auf unraid installiert Du Dir den Wireguard Docker und richtest den auch als Peer ein (oder Du hast auch einen Router im Heim, der das im Bauch hat).
  • Dann noch auf dem WG-Server die eine Route ins Heimnetz (zu Deinen Diensten, nextcloud, ...) nicht vergessen.
    Aber das machst Du eigentlich dort bei den "Access-Lists" des Tunnel-Peers.

...das sollte es schon gewesen sein. ;-)

 

Edit: genaugenommen baust Du mit dem VPS ein Szenario nach, das zB ""NordVPN" auch kommerziell anbietet...Du spielst Deinen eigenen VPN-Provider. Wireguard macht die Sache recht einfach.

Sowas in der Art wollte ich demnächst auch in Angriff nehmen, aber mithilfe von einer pfsense. 
Dabei geht es mir explizit um die Gameserver, damit diese immer eine gleiche IP haben aber nicht die aus „meinem“ Netz ist. 
Dafür werde ich die Sense auf dem VPS installieren und anschließend auf meine Sense im Keller „durchNATen“ und diese dann mittels Rules auf bestimmte br0-Netze von den Gameservern leiten. 
 

Link to comment
1 hour ago, i-B4se said:

Sowas in der Art wollte ich demnächst auch in Angriff nehmen, aber mithilfe von einer pfsense. 
Dabei geht es mir explizit um die Gameserver, damit diese immer eine gleiche IP haben aber nicht die aus „meinem“ Netz ist. 

Ich nutze den VPS um meine beiden WANs (Kabel + LTE) dort alternativ ins I-net zu lassen (zusätzlich zum RoadWarrior-Szenario).

Ziel ist es meinem VOIP-Server eine  stabile, externe IP zu geben, selbst wenn das WAN umschaltet.

...sitze aber gerade noch dabei zwischen den Routen daheim und dem VPS das OSPF mit Failover zu aktivieren ;-)

 

1 hour ago, i-B4se said:

Dafür werde ich die Sense auf dem VPS installieren und anschließend auf meine Sense im Keller „durchNATen“ und diese dann mittels Rules auf bestimmte br0-Netze von den Gameservern leiten. 

Für eine Sense braucht es schon einen grösseren VPS, wenn man die Minimal-Anforderungen sieht.

Ich nutze da nen Mikrotik CHR...der läuft ab 128MB RAM (Edit: oder waren es 256MB ?) und 1vCPU ;-)...wobei der kleinste bei netcup auch 1-2GB hat.

Meiner nutzt gerade nur knapp unter 70MB bei drei laufenden WG-Interfaces:

image.png.bcfe753080ce805723262a66612db86c.png

 

 

Edited by Ford Prefect
  • Like 1
Link to comment

Ich glaube wonach du wirklich suchst, da du ja schon einen VPS hast ist eine Portmapper Software wie 6Tunnel.

Ich habe das selber mal vor ein paar Jahren so betrieben bevor ich eine IPv4 Adresse bei Unitymedia ergattern konnte:

https://blog.sengotta.net/server-hinter-unitymedia-ds-lite-anschluss-betreiben/

https://blog.sengotta.net/openvpn-server-am-unitymedia-ds-lite-anschluss-betreiben/

 

Das sollte sich heute auch noch so ähnlich umsetzen lassen.

Link to comment
4 hours ago, Ford Prefect said:

Ich nutze den VPS um meine beiden WANs (Kabel + LTE) dort alternativ ins I-net zu lassen (zusätzlich zum RoadWarrior-Szenario).

Ziel ist es meinem VOIP-Server eine  stabile, externe IP zu geben, selbst wenn das WAN umschaltet.

...sitze aber gerade noch dabei zwischen den Routen daheim und dem VPS das OSPF mit Failover zu aktivieren ;-)

LTE Failover soll auch noch kommen, aber erstmal muss ich das Haus fertig renoviert bekommen. :D :D

Danach werde ich wieder komplett starten. Ich muss nämlich so langsam die VLANs einrichten, da sich aktuell 60 WLAN-Geräte rumtreiben und ich noch nicht fertig bin mit der Home-Automatisierung. 😅

 

4 hours ago, Ford Prefect said:

Ich nutze da nen Mikrotik CHR...der läuft ab 128MB RAM

Kenn ich gar nicht, aber werde ich mir mal anschauen. 

Bei der Sense gefällt mir die Vielfältigkeit.

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.