neofox
Goto Top

Routing auf eine VM direkt auf einem Server

Hallo zusammen,

folgendes:

Debian Linux Server mit Kernel 2.6.8-3-686
Feste IP Adresse
Ip_forward=yes
VMWare Virtual Server 1.0.0
Eine VM mit Windows 2003 Web Edition (IP 172.16.43.10)

Netzwerktechnisch gibt es eth0 (fest IP) vmnet1(host only ip 172.16.43.1) und vmnet 8 (nat)

Die VM nutzt vmnet1 da iptables das Nat & Forwarding machen soll.

Hier ein Ausschnitt aus dem Script für iptables

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 8099 -j DNAT --to-destination 172.16.43.10:8099
iptables -A FORWARD -i eth0 -d 172.16.43.10 -p tcp --dport 8099 -j ACCEPT

iptables -A FORWARD -i vmnet1 -s 172.16.43.10 -j ACCEPT
iptables -A FORWARD -o vmnet1 -d 172.16.43.10 -j ACCEPT


Das W2003 System kann ohne Probleme auch aufs Internetzugreifen.

Es soll vom Internet her auf bestimmte Dienste des W2003 Systems zugegriffen werden doch das klappt leider nicht.

Wie oben zu erkennen ist das Prerouting & Forwarding eingetragen nur kann man auf den Dienst nicht zugreifen.

Jemand eine Idee? Hab ich was übersehen? Vielen Dank für eure Hilfe.

Content-Key: 34936

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

Printed on: April 16, 2024 at 22:04 o'clock

Mitglied: 27119
27119 Aug 01, 2006 at 10:29:46 (UTC)
Goto Top
Also, ich sehe das so:

  • du hast eine Netzwerkkarte (eth0)
  • du hast virtuelle Switches (vmnet 1-8)
  • du machst auf dem Host Rechner NAT um die privaten IPs der VM von aussen erreichen zu können


Erstmal verstehe ich nicht, wiso du vmnet1 nutzt (host-only).
Host-only bedeutet, der Host kommuniziert mit der VM, die VM jedoch nicht mit dem normalen Netz. Gedacht zum Aufbau eines virtuellen Netzes im Host, ohne Zugang zum normalen Netz. Für Deine Zwecke könntest du VMnet8 nutzen - doch du willst ja nicht das VMWare NAT nutzen, sondern IPTABLES soll NAT machen.
Also würde ich spontan sagen - schliesse eth0 und die VM per VMnet0 zusammen.
Gib der VM eine IP aus dem selben IPBereich in dem sich auch eth0 befindet (z. B. 172.16.43.3). Ändere im IPTABLES script die "vmnet" einträge durch die IP der VM.

Ob das so hinhaut kann ich allerdings nicht sagen, da ich iptables in Verbindung mit VMWare nicht getestet habe. Forwarding müsste ok sein, bzw. notwendig (die VM ist schliesslich nichts anderes als "virtueller PC", auf den der Host forwarden soll.

Könnte mich aber auch irren. 'face-wink
Member: Neofox
Neofox Aug 01, 2006 at 11:24:55 (UTC)
Goto Top
Gib der VM eine IP aus dem selben IPBereich
in dem sich auch eth0 befindet (z. B.
172.16.43.3). Ändere im IPTABLES script
die "vmnet" einträge durch die
IP der VM.

Wie ich oben erwähnte handelt es sch bei der IP Adresse die eth0 benutzt um eine Feste IP, was ich vergaß zu erwähnen es ist eine öffentliche IP Adresse, der Server ist direkt mit dem Internet verbunden.

Und da ich nur eine feste habe wird es schwierig der Vm noch eine zu geben. Somit fällt Bridged wohl raus.

Für das Portforwarding muss iptables auch das Nat machen zumindest hatte ich das so gelesen.

Nun dacht ich mir halt ,ich bau mir mit Hilfe von vmnet1 eine virtuelles netz zwischen Host und VM und lasse den Host aber gleichzeitig ins öffentliche Netz routen. (hoffe habe mich verständlich ausgedrückt;))

Es muss doch irgendwie gehen eine VM auf einem Server zu betreiben der direkt mit dem Internet Verbunden ist, und das mit Portforwarding. Wie gesagt die VM kann schon aufs Internet zugreifen, das Forwarding ins Internet geht ja bereits schon jetzt muss es nur noch in die andere Richtung klappen.
Member: Neofox
Neofox Aug 01, 2006 at 11:44:37 (UTC)
Goto Top
Das Problem hat sich gerade erledigt!

Die Lösung war recht simpel. Ich hatte eine neue route angelegt auf das Netzwerk am vmnet1, hatte aber leider den falschen Gateway angegeben, anstelle die meines Hosts habe ich die Gatewayadresse des Providers angegeben.

Jetzt nachdem ich die Route geändert habe klappt alles so wie es soll face-smile
Member: NySoft
NySoft May 05, 2009 at 21:16:20 (UTC)
Goto Top
guten nabend erstmal,

könntest du mir mal das iptables script ( natürlich ohne deine ips face-wink ) zukommen lassen per pm oder so?! mir fehlt nur noch ein fünkchen bei unserem

Vielen dank im Vorraus

Mfg Team NySoft