Ein Dienst soll auf mehreren Ports lauschen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
CrunkBass
Beiträge: 14
Registriert: 23.10.2010 02:58:12

Ein Dienst soll auf mehreren Ports lauschen

Beitrag von CrunkBass » 20.01.2011 22:07:45

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?

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Ein Dienst soll auf mehreren Ports lauschen

Beitrag von michaels » 20.01.2011 22:20:18

Code: Alles auswählen

Listen 8080
in die /etc/apache2/ports.conf und Apache reloaden/restarten. Dann sollte er auch auf 8080 horchen.

Über die vHosts kannst du dann doch einfach angeben, welcher vHost auf welchen IPs/Ports laufen soll.

Gruß

CrunkBass
Beiträge: 14
Registriert: 23.10.2010 02:58:12

Re: Ein Dienst soll auf mehreren Ports lauschen

Beitrag von CrunkBass » 21.01.2011 03:56:26

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.

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Ein Dienst soll auf mehreren Ports lauschen

Beitrag von michaels » 21.01.2011 08:05:01

Das mit Apache war dann aber ein schlechtes Beispiel *g*

Versuche mal folgendes:

Code: Alles auswählen

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 10000 -j DNAT --to zielIP:zielPort
So sollten alle Anfragen auf Port 10000 an die Ziel IP mit Ziel Port weitergeleitet werden

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Ein Dienst soll auf mehreren Ports lauschen

Beitrag von Colttt » 21.01.2011 11:15:02

naja manche Dienste können auf mehrere ports lauschen.. was sind denn das für dienste?
Debian-Nutzer :D

ZABBIX Certified Specialist

CrunkBass
Beiträge: 14
Registriert: 23.10.2010 02:58:12

Re: Ein Dienst soll auf mehreren Ports lauschen

Beitrag von CrunkBass » 21.01.2011 22:07:25

Vielen Dank das haut schon mal recht gut hin :)

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)

Antworten