[SOLVED] NGINX Reverse Proxy im LAN


Davokin

Recommended Posts

Hallo zusammen,

 

ich habe ein kleines Netzwerk Problem... Also wahrscheinlich kann ich blos die Einstellung nicht finden :D

Und zwar kann ich z.B. meinen Nextcloud Docker nicht per DNS aus dem LAN erreichen. Der Browser versucht ca. 1,5min den Host aufzulösen, aber leider vergeblich. Aus dem Nachbarnetzwerk also von ausserhalb kann ich aber ohne Probleme über die DNS meine Cloud aufrufen... Wo finde ich in NGINX den Haken bzw. die Einstellung dass ich auch von intern die Cloud über den DNS erreichen kann..?

 

Vielen Dank im Voraus

Dominic

Link to comment

Du meinst DDNS oder? Vermutlich wird die lokal auf eine lokale IP aufgelöst und dein Router hat einen DNS Rebindschutz, der das nicht erlaubt oder dein Router unterstützt kein NAT Loopback. Dh der Router kann die Anfragen, die an die öfentliche IP gehen, aber eigentlich an ihn selbst, nicht lokal "zurückleiten".

 

Je nachdem gibt es unterschiedliche Lösungen. 

 

Beim Rebindschutz gibt es zB bei Fritz!Boxen eine Einstellung, wo man die Domain hinzufügt:

https://avm.de/service/fritzbox/fritzbox-7590/wissensdatenbank/publication/show/3565_FRITZ-Box-meldet-Der-DNS-Rebind-Schutz-Ihrer-FRITZ-Box-hat-Ihre-Anfrage-aus-Sicherheitsgrunden-abgewiesen/

 

Wenn dein Router kein NAT Loopback kann, dann hilft nur der Umweg über eine angepasste hosts Datei und da dann die lokale IP für die Domain hinterlegen:

https://www.synology-forum.de/threads/zugriff-auf-die-nas-extern-sowie-im-selben-netzwerk.81006/#post-672269

  • Like 1
Link to comment
15 minutes ago, mgutt said:

Wenn dein Router kein NAT Loopback kann, dann hilft nur der Umweg über eine angepasste hosts Datei und da dann die lokale IP für die Domain hinterlegen:

https://www.synology-forum.de/threads/zugriff-auf-die-nas-extern-sowie-im-selben-netzwerk.81006/#post-672269

Das hatte ich schonmal probiert... Leider kann man aber meines Wissens in der Host-Datei nur feste IP-Adressen hinterlegen und nicht mit den dazugehörigen Ports...

Link to comment
19 minutes ago, wubbl0rz said:

Das hatte ich schonmal probiert... Leider kann man aber meines Wissens in der Host-Datei nur feste IP-Adressen hinterlegen und nicht mit den dazugehörigen Ports...

Du kannst dir auch pfsense/ipfire als vm installieren, wobei ich da wirklich von abrate...

Mit denen solltest du das problem umgehen können bzw die können dann auch nat reflection beide. ;)

Evtl findest auch ein günstiges alixboard oder apuboard von pcengines da kannst bis zu ~400-500mbit abdecken (apu board) oder ~100mbit-150mbit (alix board) 

 

Was du noch machen kannst ist das du alles über nginx umleitest auf einer IP adresse und das in die hosts datei im router/modem einträgst.

Is dabei auch egal welches port du benutzt da du ja die IP auf einen Domainnamen umleitest.

  • Thanks 1
Link to comment

Alternativ sollte auch ein lokaler DNS Server gehen, wo man der DDNS die lokale IP zuweist. Den DNS Server hinterlegt man dann im Router. Das habe ich früher mit meinem Synology NAS auch so gemacht:

https://www.programmierer-forum.de/synology-dns-server-einrichten-um-nat-loopback-zu-verhindern-t328952.htm

 

Ich denke ähnliches kann man auch mit PiHole umsetzen.

 

Ich verstehe nur halt nicht die Aussage mit den Ports. Sollen zwei verschiedene Anwendungen mit dem selben Port auf den Server zugreifen können oder wie? Das geht natürlich nicht bzw nur, wenn der Server mehrere LAN Ports hat und man für jede IP eine eigene DDNS definiert. Wenn es aber nur darum geht, das zwei verschiedene Ports auf den Server zugreifen können, dann wird das über die hosts Datei oder einen eigenen lokalen DNS gehen. 

  • Like 1
Link to comment
53 minutes ago, mgutt said:

Ich verstehe nur halt nicht die Aussage mit den Ports.

Ich könnte mir nur vorstellen das er mehrere anwendungen auf verschiedene IP adressen intern laufen hat die verschiedene ports haben dann wirds eher schwierig mit der hosts datei aber mit einem intern dns server würd das funktionieren.

Link to comment
7 minutes ago, ich777 said:

Ich könnte mir nur vorstellen das er mehrere anwendungen auf verschiedene IP adressen intern laufen hat die verschiedene ports haben dann wirds eher schwierig.

Also mein unRAID Server läuft auf der 192.168.2.117 und z.B. der Nextcloud Docker ist dann über diese unRAID IP und den Port 5320 erreichbar. Und in der Hosts-Datei kann ich ja nur z.B.;

192.168.2.117   unRAID

und nicht, so wie gewollt;

192.168.2.117:5320   cloud 

 

Edit: und z.B. der OpenVPN läuft unter der selben IP mit dem Port 1194 bei mir. Also die IP ist vom Server zum Docker Container gleich, nur die Ports sind dann ausschlaggebend um intern auf diversen GUI‘s zu kommen.

Edited by wubbl0rz
Link to comment
5 minutes ago, wubbl0rz said:

Also mein unRAID Server läuft auf der 192.168.2.117 und z.B. der Nextcloud Docker ist dann über diese unRAID IP und den Port 5320 erreichbar. Und in der Hosts-Datei kann ich ja nur z.B.;

192.168.2.117   unRAID

und nicht, so wie gewollt;

192.168.2.117:5320   cloud 

Ich würd dir empfehlen das du ein reverse proxy machst zB mit SWAG das direkt auf den port 80 bzw 443 extern zeigt kannst dann kannst auch andere sachen auf port 80 bzw port 443 laufen lassen.

zB nextcloud.deinedomain.duckdns.com

meinewebsite.deinedomain.duckdns.com

jenks.deinedomain.duckdns.com usw

 

EDIT: hoffe du weißt was ich meine aber dann brauchst dich nicht mit den ports rumschlagen...

 

EDIT2: wenn du die IP in die hosts datei einträgst löst er jedes port auf nur heist es hald dann: deinedomain.example.org:5320

die löst er dann intern mit der in der hosts eingetragenen IP auf und zusätzlich dem port.

Das wäre hald eine andere möglichkeit.

  • Thanks 1
Link to comment
2 minutes ago, ich777 said:

Ich würd dir empfehlen das du ein reverse proxy machst zB mit SWAG das direkt auf den port 80 bzw 443 ectern zeigt kannst dann kannst auch andere sachen auf port 80 bzw port 443 laufen lassen.

zB nextcloud.deinedomain.duckdns.com

meinewebsite.deinedomain.duckdns.com

jenks.deinedomain.duckdns.com usw

Probier ich mal aus... Aber mein Problem ist mittlerweile klar, oder? 
Wäre das nicht auch möglicherweise mit einem anderen Router zu beheben? Weil ich demnächst sowieso auf die Fritz!Box 7590 umsteigen...

Link to comment
Just now, wubbl0rz said:

Probier ich mal aus... Aber mein Problem ist mittlerweile klar, oder? 
Wäre das nicht auch möglicherweise mit einem anderen Router zu beheben? Weil ich demnächst sowieso auf die Fritz!Box 7590 umsteigen...

Fritzbox Checkt das meines wissens da ein Kollege auch eine hat. Aber ich bin immer glücklichermit einer "richtigen" firewall.

Link to comment
7 minutes ago, wubbl0rz said:

Kannst du denn eine „richtige“ Firewall empfehlen? Nutzt du hierzu überhaupt eine externe?

Ich selbst hab ein alix apu board mit pfsense (hatte früher ipfire funktionierte leider nicht mehr mit meinem neuen glasfaseranschluss da sich die vervindung sporadisch trennte da die ein problem mit dem dhcp service hatten und da bin ich auf pfsense umgestiegen und zu faul um wieder umzusteigen wobei ich auch sagen muss das pfsense wirklich viele funktionen hat - zu viel für mich :D ).

Das apu board reicht gerade mal so wenn ich meine 250mbit/s symetrisch gleichzeitig ausreize aber da darf kein vpn oder irgendwas laufen. :D

Die boards bekommst bei uns in österreich manchmal günstig auf willhaben gibt aber auch auf amazon so 'minipcs' die als firewall genutzt werden können (amazon - die gibts von bis).

gibt aber auch von ubiquiti sowas.

wennst diesen lösungsansatz versuchst würd ich dein modem auf durchzug schalten (das es alles durchlässt) und die firewall den rest macht oder wenn das mit deinem modem nicht funktioniert dann ein dmz auf die firewall (das ist dann auch ca so wie in etwa das dein modem alles durchlässt).

Link to comment
5 hours ago, wubbl0rz said:

Also mein unRAID Server läuft auf der 192.168.2.117 und z.B. der Nextcloud Docker ist dann über diese unRAID IP und den Port 5320 erreichbar. Und in der Hosts-Datei kann ich ja nur z.B.;

192.168.2.117   unRAID

und nicht, so wie gewollt;

192.168.2.117:5320   cloud 

Ok, das Problem ist also, dass Nextcloud eine WebDAV Anwendung ist, die dadurch die Web-Standardports 80 (http) und 443 (https) nutzt. Damit kollidiert Nextcloud also mit der Unraid WebGUI.

 

Dieses Problem löst man nun so:

 

A) man nutzt die IP eines zweiten LAN Ports. Hat dein Server mehrere? Hier wird das meine ich erklärt (TL;DR):

https://forums.unraid.net/topic/62107-network-isolation-in-unraid-64/

 

B) man hinterlegt im Client den Port, also http://ddns_adresse:5320/remote.php/dav (der dann auch im Router freigegeben wird, um von außen drauf zu kommen)

 

C) man kauft einen Router mit NAT Loopback Unterstützung (ohne Gewähr, sollte aber gehen)

 

D) Reverse Proxy 

Edited by mgutt
  • Thanks 1
Link to comment

Wieso einen zweiten Port?

Einfach is doch egal ob Docker oder VM...du kannst den Dingern eine eigene IP zuordnen...

Beispiele:

Unraid-Nextcloud-Docker.thumb.PNG.3c03fb42b12a9094ee5b4907d04c1fdc.PNG

Fritzbox-Nextcloud-beispiel.thumb.PNG.a10d40861aef8b601792b4763059d2da.PNG

 

Ich hab in meiner DE-Domain dann einfach eine Subdomain mit cloud.domain.de gemacht und lass das ganze über CloudFlare-DNS laufen (Vorteil is noch das standard SSL-Zerrtifikat, welches kostenlos ist), noch ein anderer Docker, der das DDNS updated, das aktualisieren bei Cloudflare dauert höchstens 10 Minuten, wenn man mal ne neue IP bekommt. (Alternativ geht auch noch DuckDNS, da gibts auch einen Docker für...)

Mein Nextcloud funzt hier einwandfrei und da ich für 12,90 € noch nen Rootserver habe, wo auch die DE-Domain drüber läuft, kann ich darüber auch Mails von Nextcloud Weiterleiten...

 

P.S. Ihr "Säcke" ich hätte auch gerne mal Glasfaser...bei uns wurde sogar der Supervectoringausbau verschoben...Ich glaub ich muss aufs Land ziehen, damit ich endlich Glasfaser bekomme! Wenn du heute in der Stadt wohnst, bist bestraft!

 

Gruß

Dark

Edited by DarkMan83
Geplänkel -> Typo
  • Thanks 2
Link to comment
54 minutes ago, DarkMan83 said:

Wieso einen zweiten Port?

Einfach is doch egal ob Docker oder VM...du kannst den Dingern eine eigene IP zuordnen...

Beispiele:

Unraid-Nextcloud-Docker.thumb.PNG.3c03fb42b12a9094ee5b4907d04c1fdc.PNG

Fritzbox-Nextcloud-beispiel.thumb.PNG.a10d40861aef8b601792b4763059d2da.PNG

 

Ich hab in meiner DE-Domain dann einfach eine Subdomain mit cloud.domain.de gemacht und lass das ganze über CloudFlare-DNS laufen (Vorteil is noch das standard SSL-Zerrtifikat, welches kostenlos ist), noch ein anderer Docker, der das DDNS updated, das aktualisieren bei Cloudflare dauert höchstens 10 Minuten, wenn man mal ne neue IP bekommt. (Alternativ geht auch noch DuckDNS, da gibts auch einen Docker für...)

Mein Nextcloud funzt hier einwandfrei und da ich für 12,90 € noch nen Rootserver habe, wo auch die DE-Domain drüber läuft, kann ich darüber auch Mails von Nextcloud Weiterleiten...

 

P.S. Ihr "Säcke" ich hätte auch gerne mal Glasfaser...bei uns wurde sogar der Supervectoringausbau verschoben...Ich glaub ich muss aufs Land ziehen, damit ich endlich Glasfaser bekomme! Wenn du heute in der Stadt wohnst, bist bestraft!

 

Gruß

Dark

Das war jetzt tatsächlich die einfachste und günstigste Variante! Hatte ich jetzt aber auch wirklich nicht mehr auf dem Schirm dass das geht 😂

 

Trotzdem aber auch vielen lieben Dank an alle anderen für die hilfreichen Beiträge. Funktioniert jetzt so wie ich will, werde aber auf kurz oder lang trotzdem mal die Fritz!Box 7590 testen. Hier könnten dann auch so manch andere Differenzen beseitigt werden.

 

Nochmals besten Dank!

Gruß, Dominic

Link to comment
23 minutes ago, wubbl0rz said:

Funktioniert jetzt so wie ich will, werde aber auf kurz oder lang trotzdem mal die Fritz!Box 7590 testen. Hier könnten dann auch so manch andere Differenzen beseitigt werden.

Ich lege dir es wärmstens ans Herz darüber wirklich nachzudenken. Ich persönlich darf immer bei Bekannten die "Internetprobleme" beheben. Das meiste Problem ist, dass die ach so tollen Speedports mit IPv6 im Heimnetz kommen und das dann auch noch ausschließlich. Wenn ich Testweise eine Fritzbox mit IPv4 dort installiere funktioniert es reibungslos. Ich liebe diese Geräte vom Herzen 🙄

Das nächste Punkt der mich da ein bisschen in Rage bringt ist, diese Bevormundung was man darin einstellen darf und was nicht.

 

 

Aber zum Thema hier: 

Ich habe meinen Container einfach über Bridge. 

image.png.7ea5597bb5961125944e0524d4c66716.png

Im Router habe ich die Portfreigabe gemacht auf den internen Port 5600 und fertig. Ich kann sie von innen und von außen erreichen. Ich hab das Problem hier noch nicht so verstanden. Wofür brauch ich eine extra IP? Habe ich etwas übersehen?

Link to comment
24 minutes ago, wubbl0rz said:

trotzdem mal die Fritz!Box 7590 testen

Dazu noch eine Info. NAT Loopback verursacht eine hohe Last auf dem Router. Der Durchsatz bei der 7490 lag damals bei 4 MB/s:

https://www.synology-forum.de/threads/quick-connect-wie-funktionierts.30252/page-2#post-402985

 

Mit der 7590 müsste ich es mal testen.

 

Die Last entsteht bei IPv6 übrigens nicht. Keine Ahnung warum, aber da geht das wohl ohne NAT.

Link to comment
14 minutes ago, Lyror said:

Im Router habe ich die Portfreigabe gemacht auf den internen Port 5600 und fertig. Ich kann sie von innen und von außen erreichen. Ich hab das Problem hier noch nicht so verstanden. Wofür brauch ich eine extra IP? Habe ich etwas übersehen?

Wenn du Nextcloud auf deinem Client installierst, was hinterlegst du da als Serveradresse? Wenn es https://ddns.example.com:5600/ ist, dann geht es, weil du ja den Port direkt hinterlegt hast. Hinterlegst du allerdings eine DDNS Domain ohne Port wie zB https://ddns.example.com/, dann greift der Client von unterwegs über den Port 443 auf deinen Router zu, den du dann über die Portfreigabe auf 5600 weiterleitest. Lokal greift der Client aber auf 443 zu und erreicht nicht Nextcloud, sondern die Unraid WebGUI.

Link to comment
14 minutes ago, Lyror said:

Ich lege dir es wärmstens ans Herz darüber wirklich nachzudenken. Ich persönlich darf immer bei Bekannten die "Internetprobleme" beheben. Das meiste Problem ist, dass die ach so tollen Speedports mit IPv6 im Heimnetz kommen und das dann auch noch ausschließlich. Wenn ich Testweise eine Fritzbox mit IPv4 dort installiere funktioniert es reibungslos. Ich liebe diese Geräte vom Herzen 🙄

Das nächste Punkt der mich da ein bisschen in Rage bringt ist, diese Bevormundung was man darin einstellen darf und was nicht.

 

 

Aber zum Thema hier: 

Ich habe meinen Container einfach über Bridge. 

image.png.7ea5597bb5961125944e0524d4c66716.png

Im Router habe ich die Portfreigabe gemacht auf den internen Port 5600 und fertig. Ich kann sie von innen und von außen erreichen. Ich hab das Problem hier noch nicht so verstanden. Wofür brauch ich eine extra IP? Habe ich etwas übersehen?

Natürlich ist das auch ne Lösung, es führen bekanntlich viele Wege nach ROM...ich habe meinem eine extra IP gegeben, da ich so viele Docker laufen habe und teilweise schon ganze Portranges auf dem Host belegt sind.

Und zur Übersichtleichkeit ;-)

Link to comment
17 minutes ago, mgutt said:

Dazu noch eine Info. NAT Loopback verursacht eine hohe Last auf dem Router. Der Durchsatz bei der 7490 lag damals bei 4 MB/s:

https://www.synology-forum.de/threads/quick-connect-wie-funktionierts.30252/page-2#post-402985

 

Mit der 7590 müsste ich es mal testen.

 

Die Last entsteht bei IPv6 übrigens nicht. Keine Ahnung warum, aber da geht das wohl ohne NAT.

Na bei IPv6 hat ja auch jeder Endpunkt eine eigene IP (es sei denn du hast das beschnitten mit local bla bla), da brauchst dann kein NAT (Portweiterleitungen) mehr, da jeder Endpunkt eindeutig identifizierbar ist.

Link to comment
  • ich777 changed the title to [SOLVED] NGINX Reverse Proxy im LAN

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.