3nte92
Goto Top

Linux Root (Debian) - Zweite IP auf IP und Port weiterleiten?

Hallo Adminfreunde,

habe seit Langem mal wieder ein Problem und komme durch Googlen und Forensuche einfach nicht weiter...

Ich besitze einen V-Root mit 2 IP-Adressen.

V-Root: Linux Debian 7 (Wheezy) ohne GUI, just Console.

IP-Adresse 1: 111.111.111.111
IP-Adresse 2: 222.222.222.222

Dazu habe ich zwei verschiedene Ports für einen Dienst:
Port 1: 8888 (Standard Port des Dienstes)
Port 2: 9999 (Zusätzlicher Port, selber Dienst, andere Instanz)

Wenn ich mich nun mit einem Client auf IP-Adresse 1 verbinde, nutzt dieser automatisch den standard Port des Dienstes Port 8888 und verbindet sich auf die erste Instanz. Nun gibt es eine zweite Instanz, die aktuell mit 111.111.111.111:9999 (IP 1 + Port 2) erreichbar ist. Mein Ziel ist es nun, alle Anfragen, die auf IP-Adresse 2 von einem Client kommen, auf IP-Adresse 1 + Port 2 weiterzuleiten.

d.h. defacto:

Anfrage an (IP2) 222.222.222.222 ---> an (IP1 + Port2) 111.111.111.111:9999

Die Frage an euch ist nun:
Wie realisiere ich das genau? Möchte nicht ewig herum probieren und irgend etwas am Server bzw. den Firewall-Settings und iptables "vergaukeln".

Könnte mir evtl. kurz jemand erklären, was ich da genau wo eintragen muss? Das wäre super!

Btw: Ich habe durch Google und Foren schon herausgefunden, dass ich das mit iptables + NAT lösen kann. Nur waren die gegebenen Beispiele lediglich für Anfrage an Port X weiterleiten zu IP + Port Y. Das ist aber nicht genau mein Anwendungsfall. Vielleicht habe ich aber auch einfach nur nicht die richtigen Suchbegriffe genutzt.

Vielen Dank vorab!


Mit freundlichen Grüßen,

Toby alias 3nte

Content-ID: 281243

Url: https://administrator.de/contentid/281243

Ausgedruckt am: 19.11.2024 um 07:11 Uhr

bytecounter
bytecounter 27.08.2015 um 08:22:09 Uhr
Goto Top
Hallo Toby,


iptables -t nat -A PREROUTING -s 222.222.222.222 -p tcp --dport 8888 -j DNAT --to-destination 111.111.111.111:9999

Warum lässt Du die zweite Instanz denn nicht einfach auf der anderen Adresse lauschen? Das wäre doch viel einfacher.

vg
Bytecounter
3nte92
3nte92 27.08.2015 um 14:36:45 Uhr
Goto Top
Hi bytecounter,

hatte vermutet dass genau diese Zeile
kommt, denn genau diese habe ich eingetragen, allerdings mit UDP und es hat nicht funktioniert.

Es geht um folgendes:
Auf dem V-Root läuft ein Teamspeak-Server. Dieser ist auf eine IP lizensiert und hört auch nur auf diese eine IP vom Root. Leider weis ich nicht, was ich nun wo Einstellen muss, das der TS Server überhaupt mal auf die zweite IP hört, also dass ich auch mit 222.222.222.222 auf den TS + Standard-Port komme. Vermute aber, dass geht nicht so einfach da IP1 = venet0:0 und IP2 = venet0:1.

Innerhalb des Teamspeak-Dienstes auf dem Root, kann man sich nun bis zu 10 virtuelle TS-Server erstellen. Dort kann man jedoch immer nur einen anderen Port pro "Serverinstanz" angeben. D.h. ich komme über ts.domain.de immer auf den TS, auf den der Std. Port eingerichtet ist, möchte aber über ts.domain2.de auf den Server mit Port 8888.

Somit dachte ich das Problem damit lösen zu können, hatte genau die oben genannte Zeile eingefügt (bis auf tcp = udp) jedoch passiert rein garnichts, wenn ich anschließen versuche über 222.222.222.222 auf den entsprechenden Server zu connecten.

Es kann ja eigentlich nicht sein, dass das nicht Möglich ist? Einige kommerziellen Hoster nutzen das ja sicherlich auch, ohne einen komplett 2. TS Serverdienst auf dem Root laufen zu lassen. Wäre ja auch sinnlos, denn wofür sonst die virtuellen Instanzen in der Weboberfläche von TS.

LG
122990
122990 27.08.2015 aktualisiert um 14:54:17 Uhr
Goto Top
aqui
aqui 27.08.2015 um 19:14:08 Uhr
Goto Top
Die grundsätzliche Frage wie die IP eingerichtet ist auch noch nicht geklärt. Also ob das z.B. einen reine Secondary IP ist die Mac Adresse mit der primary shared und keinerlei ICMP damit senden kann oder ob das ein eingenständiges 2tes Interfaces ist entweder als separate NIC oder als eigenständiges VLAN Subinterface.
Mit nur einer secondary IP wird das sicher nicht gehen auch nicht mit iptables, da das ja immer das gleiche physische Interface ist.
3nte92
3nte92 07.09.2015 um 04:11:23 Uhr
Goto Top
Hi,

würde behaupten - da es sich um einen VS handelt - das es eine reine Secondary IP ist.

Vielen Dank auf jeden Fall für eure Hilfe. Ich have das Problem jedoch anders gelöst. Habe deb ganzen SchnickSchnack gelassen und arbeite nun einfach mit den Ports.

LG Toby
aqui
aqui 07.09.2015 um 11:11:56 Uhr
Goto Top
Dann fehlt ja eigentlich nur noch:
Wie kann ich einen Beitrag als gelöst markieren?