Hallo zusammen,
ich bin nun schon eine Weile am suchen aber habe bis jetzt noch keine Lösung gefunden wie man es schafft dass ein Dienst auf mehreren Ports erreichbar ist.
Beispiel:
Apache läuft auf Port 80, soll aber auch über 8080 erreichbar sein.
Ich möchte keinen Virtualserver erstellen der auf Port 8080 lauscht sondern es soll auf 80 umgeleitet werden.
Es soll auch kein http Redirect sein also das :8080 am Schluss der Adresse soll stehen bleiben.
Hat da jemand eine Idee?
Ein Dienst soll auf mehreren Ports lauschen
Re: Ein Dienst soll auf mehreren Ports lauschen
Code: Alles auswählen
Listen 8080
Über die vHosts kannst du dann doch einfach angeben, welcher vHost auf welchen IPs/Ports laufen soll.
Gruß
Re: Ein Dienst soll auf mehreren Ports lauschen
Hallo michaels,
das mit Apache war wirklich nur ein Beispiel. Ich brauche das für mehrere Dienste.
Bei Apache kann es vielleicht funktionieren dass er auf 2 Ports gleichzeitig läuft aber bei vielen anderen Anwendungen ist dies nicht möglich. Deswegen brauche ich eine interne Umleitung die alle Anfragen von einem Port auf einen anderen weiterleitet so dass ein Dienst auf mehreren Ports erreichbar ist.
In meinem Router kann ich zum Beispiel auch den Port 8080 im Inet freigeben und intern an einen beliebigen Port eines PCs weiterleiten.
Das müsste sich normalerweise mit iptables realisieren lassen. Im Internet habe ich dazu auch schon ein paar Ansätze mit PREROUTING, REDIRECT und DNAT gefunden aber irgendwie bekomme ich das ganze nicht so zum laufen.
das mit Apache war wirklich nur ein Beispiel. Ich brauche das für mehrere Dienste.
Bei Apache kann es vielleicht funktionieren dass er auf 2 Ports gleichzeitig läuft aber bei vielen anderen Anwendungen ist dies nicht möglich. Deswegen brauche ich eine interne Umleitung die alle Anfragen von einem Port auf einen anderen weiterleitet so dass ein Dienst auf mehreren Ports erreichbar ist.
In meinem Router kann ich zum Beispiel auch den Port 8080 im Inet freigeben und intern an einen beliebigen Port eines PCs weiterleiten.
Das müsste sich normalerweise mit iptables realisieren lassen. Im Internet habe ich dazu auch schon ein paar Ansätze mit PREROUTING, REDIRECT und DNAT gefunden aber irgendwie bekomme ich das ganze nicht so zum laufen.
Re: Ein Dienst soll auf mehreren Ports lauschen
Das mit Apache war dann aber ein schlechtes Beispiel *g*
Versuche mal folgendes:
So sollten alle Anfragen auf Port 10000 an die Ziel IP mit Ziel Port weitergeleitet werden
Versuche mal folgendes:
Code: Alles auswählen
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 10000 -j DNAT --to zielIP:zielPort
Re: Ein Dienst soll auf mehreren Ports lauschen
naja manche Dienste können auf mehrere ports lauschen.. was sind denn das für dienste?
Debian-Nutzer ![Very Happy :D](./images/smilies/icon_biggrin.gif)
ZABBIX Certified Specialist
![Very Happy :D](./images/smilies/icon_biggrin.gif)
ZABBIX Certified Specialist
Re: Ein Dienst soll auf mehreren Ports lauschen
Vielen Dank das haut schon mal recht gut hin ![Smile :)](./images/smilies/icon_smile.gif)
Allerdings fällt mir auf dass zum Beispiel bei einem Killing Floor Server (Gameserver) die Kommunikation auf dem Standard Port 7707 stattfindet auch wenn ich über Port 8707 verbinde.
Wenn ich über meinen Router den Öffentlichen Port 8707 freigebe und auf einen internen PC weiterleite (Port 7707) dann wird über Port 8707 Kommuniziert.
Ist ein bisschen blöd zu erklären. Vielleicht sieht man so besser was ich meine:
Verbindung von aussen (Internet) auf den Server:
Router: Port 7707 -> 7707 und 8707 -> 7707
Verbinden auf Port 7707 - Verbindung läuft über 7707 (extern)
Verbinden auf Port 8707 - Verbindung läuft über 8707 (extern)
Verbindung intern (Netzwerk) auf den Server:
IpTables: Port 8707 -> 7707
Verbinden auf Port 7707 - Verbindung läuft über 7707 (intern)
Verbinden auf Port 8707 - Verbindung läuft über 7707 (intern)
Edit: Verbindung von aussen (Internet) auf den Server:
Router: Port 7707 -> 7707 und 8707 -> 8707
IpTables: Port 8707 -> 7707
Verbinden auf Port 7707 - Verbindung läuft über 7707 (extern)
Verbinden auf Port 8707 - Verbindung läuft über 7707 (extern)
![Smile :)](./images/smilies/icon_smile.gif)
Allerdings fällt mir auf dass zum Beispiel bei einem Killing Floor Server (Gameserver) die Kommunikation auf dem Standard Port 7707 stattfindet auch wenn ich über Port 8707 verbinde.
Wenn ich über meinen Router den Öffentlichen Port 8707 freigebe und auf einen internen PC weiterleite (Port 7707) dann wird über Port 8707 Kommuniziert.
Ist ein bisschen blöd zu erklären. Vielleicht sieht man so besser was ich meine:
Verbindung von aussen (Internet) auf den Server:
Router: Port 7707 -> 7707 und 8707 -> 7707
Verbinden auf Port 7707 - Verbindung läuft über 7707 (extern)
Verbinden auf Port 8707 - Verbindung läuft über 8707 (extern)
Verbindung intern (Netzwerk) auf den Server:
IpTables: Port 8707 -> 7707
Verbinden auf Port 7707 - Verbindung läuft über 7707 (intern)
Verbinden auf Port 8707 - Verbindung läuft über 7707 (intern)
Edit: Verbindung von aussen (Internet) auf den Server:
Router: Port 7707 -> 7707 und 8707 -> 8707
IpTables: Port 8707 -> 7707
Verbinden auf Port 7707 - Verbindung läuft über 7707 (extern)
Verbinden auf Port 8707 - Verbindung läuft über 7707 (extern)