Internet Traffic mit nginx auf interne IP weiterleiten
Hallo!
Wenn ich auf meinem Server einen VPN laufen habe, könnte ich per nginx Traffic vom Internet auf eine interne IP weiterleiten?
Beispiel:
demo.company.com:8877 leitet nginx(?) weiter auf die interne IP 10.11.12.13 (Port 8877)
Klappt das Grundsätzlich und falls ja, ist nginx dafür die passende Software?
Danke!
Wenn ich auf meinem Server einen VPN laufen habe, könnte ich per nginx Traffic vom Internet auf eine interne IP weiterleiten?
Beispiel:
demo.company.com:8877 leitet nginx(?) weiter auf die interne IP 10.11.12.13 (Port 8877)
Klappt das Grundsätzlich und falls ja, ist nginx dafür die passende Software?
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73365187817
Url: https://administrator.de/contentid/73365187817
Ausgedruckt am: 25.11.2024 um 11:11 Uhr
25 Kommentare
Neuester Kommentar
Moin,
mal als Einstieg: https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opi ...
Gruß
mal als Einstieg: https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opi ...
Gruß
nun - du sagst ja oben selbst in deinem beispiel mit port 8877 -> port 8877. Selbst wenn nginx das also könnte (und das halte ich bereits für fraglich) - willst du wirklich ca. 65.000 Ports weiterleiten? Da du ja nicht weisst auf welchem Port der was macht... Und spätestens jetzt sollte dir klar sein das es wohl so nicht hinhauen wird...
Wenn du wirklich eine interne Maschine komplett mit allen Ports erreichbar haben willst ist VPN dein Freund... alternativ die kiste direkt ins Internet hängen und einfach alles offen lassen. Hat den Vorteil das vermutlich die Script-Kiddys in Minuten ne neue Spielwiese gefunden haben.
Wenn du wirklich eine interne Maschine komplett mit allen Ports erreichbar haben willst ist VPN dein Freund... alternativ die kiste direkt ins Internet hängen und einfach alles offen lassen. Hat den Vorteil das vermutlich die Script-Kiddys in Minuten ne neue Spielwiese gefunden haben.
Zitat von @Fohnbit:
Danke, aber alles was ich finde bezieht sich auf http. Ich müsste jeglichen Traffic umleiten. Also raw tcp
Ja kann er sogar Load-Balancing und Fallback lässt sich hier konfigurieren ...Danke, aber alles was ich finde bezieht sich auf http. Ich müsste jeglichen Traffic umleiten. Also raw tcp
Module ngx_stream_core_module
Beispiel um einen SSH-Zugriff auf Port 2222 des nginx auf einen internen Host Port 22 zu tunneln:
# reverse proxy any port to other internal hosts
stream {
upstream ssh_group {
server 10.16.1.3:22 max_fails=3 fail_timeout=10s;
}
server {
listen 2222;
listen [::]:2222;
proxy_pass ssh_group;
proxy_connect_timeout 5s;
}
}
Aber wozu dann nginx, Port schon belegt und du brauchst ihn nochmal? Eine simple Portweiterleitung an der Firewall würde hier ja das gleiche machen ...
Gruß sid
Das sagt hier ja nunmal rein gar nichts aus in einem Admin-Forum 🤮 , wo installiert, von wo nach wo usw weiß hier niemand ... Du schmeißt hier einfach was in den Raum ohne Umgebungsbedingungen für alle klar zu definieren!
Da kann man keine klaren Empfehlungen abgeben das sollte jedem klar sein.
Da kann man keine klaren Empfehlungen abgeben das sollte jedem klar sein.
und es soll auf einen anderen host weiter geleitet werden
Dafür reicht n simples Firewall-DSTNAT das funktioniert auch über ein VPN wenn das Routing stimmt ...
Montag der Selbstgespräche, oh man... komm Freitag wieder 😂
OK. Dann siehe nginx config von mir oben, die funktioniert bei sowas problemlos.
Das Stream-Module ist dabei dein Freund und Helfer
http://nginx.org/en/docs/stream/ngx_stream_core_module.html
Das Stream-Module ist dabei dein Freund und Helfer
http://nginx.org/en/docs/stream/ngx_stream_core_module.html
Klar geht das auch mit HAProxy,
Nein klappt noch nicht richtig, der erste connect geht wohl immer zum ersten host
Du hast oben nur beiden FQDNS den selben Pool zugeordnet wenn du eine feste Zuordnung willst brauchst du pro FQDN einen eigenen Pool.Und wenn ich einen Tippfehler mache, sind Grafana und Influxdb auch nicht erreichbar.
Dann macht man eben keine Fehler und testet seine Configs vor dem Anwenden auf dem Produktiv-Server!
Ach ich Idiot, das geht natürlich nicht wenn du die selben Ports nutzt. Man kann den selben Port hier nur jeweils einmal binden weil andere TCP-Protokolle ja keine Hostheader Auswertung wie http haben. Deswegen wird auch immer nur der erste Server nach Config-Reihenfolge angesprochen ...
Das hat aber aus Prinzip die selbe Einschränkung.
Überleg mal: Wie sollten die Proxies entscheiden können über welchen DNS-Namen sie aufgerufen wurden? Genau, es gibt keinen Hostheader im Traffic, ergo kann der Proxy auch nicht unterscheiden welchen Traffic er welchem Host zuordnen soll ...
Überleg mal: Wie sollten die Proxies entscheiden können über welchen DNS-Namen sie aufgerufen wurden? Genau, es gibt keinen Hostheader im Traffic, ergo kann der Proxy auch nicht unterscheiden welchen Traffic er welchem Host zuordnen soll ...
Zitat von @Fohnbit:
Eine Möglichkeit eine DNS-Namen "Erkennung" über ein 3rd party Programm ist Euch keines bekannt, oder?
Hier gilt auch wieder, vorher in sich gehen und nachdenken. Der User tippt demo2.company.com:8877 ein, der Rechner des Users löst die Domain zu seiner IP auf, das Programm verbindet sich nur mit der IP und dem Port, wie sollte also jetzt noch eine Erkennung des Hostnamens am Server stattfinden?Das schafft selbst die Glaskugel nicht mehr, das ginge, wenn dann nur, wenn der Proxy in den Traffic schauen kann und in dem Protokoll das verwendet wird auch der Hostname irgendwo aufgeführt würde (wenn überhaupt), dazu müsste man aber für jedes einzelne mögliche TCP-Protokoll ein Modul schreiben, ganz zu schweigen bei verschlüsseltem Traffic bei dem ein aufbrechen nötig wäre.Eine Möglichkeit eine DNS-Namen "Erkennung" über ein 3rd party Programm ist Euch keines bekannt, oder?
Bei http(s) ist das Szenario kein Problem, da hier die Domain im Hostheader bei jeder Anfrage steht und diese der proxy einfach auslesen kann, oder wenn TLS dann über den SNI.
könnte ich per nginx Traffic vom Internet auf eine interne IP weiterleiten?
Ja, das geht problemlos. Guckst du hier:VPN Server mit NGINX Port Forwarding