Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

VirtualBox, VMWare, KVM, XEN, OpenVZ, Virtuozzo, etc.
Anonymous

Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by Anonymous » 2009-08-11 18:16

Hallo,

ich habe auf einem Rootserver von Strato VMWare Server 2 installiert, und zunächst mal eine virtuelle Maschine über das VMWare-Webinterface installiert. Als Netzwerkverbindung für die virtuelle Maschine habe ich NAT gewählt. Über das Webinterface komme ich auch an die Maschine, und kann alle erdenklichen Aufgaben durchführen, z.B. Updates durchführen, Programme installieren, etc.. Sowohl auf dem Rootserver, als auch in der virtuellen Maschine laufen jeweils Ubuntu Server 8.04.3 LTS inklusive aller Updates.

Dann habe ich auf dem Rootserver iptables gemäß dieser Anleitung konfiguriert: http://www.rootforum.org/wiki/NAT-Netzw ... guration_für_verschiedene_Virtualisierungslösungen_(de)

Einiges zum besseren Verständnis. Die tatsächliche IP-Adresse des Rootservers gebe ich natürlich nicht an, daher dann eine IP-Adresse in Form von xx.xxx.xxx.xxx. Die virtuelle Maschine bekommt via NAT durch VMWare die lokale Adresse 192.168.137.128. Feste IP-Adressen kann ich immer noch vergeben, sobald alles funktioniert.


Folgendes habe ich also gemacht.

1) IP-forwarding sowohl direkt, als auch permanent aktiviert:
echo '1' > /proc/sys/net/ipv4/ip_forward
Eintrag in die Datei "/etc/sysctl.conf"

2) Den eingehenden Traffic auf TCP-Port 6501 auf dem Rootserver auf den Port 22 der virtuellen Maschine umgeleitet:
iptables -t nat -A PREROUTING -p tcp -d xx.xxx.xxx.xxx --dport 6501 -i eth0 -j DNAT --to-destination 192.168.137.128:22

3) Den gesamten ausgehenden Traffic der virtuellen Maschine an den Rootserver weitergeleitet:
iptables -t nat -A POSTROUTING -s 192.168.137.128 -o eth0 -j SNAT --to xx.xxx.xxx.xxx

4) iptables -L -n -t nat bringt nun folgendes Ergebnis:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 xx.xxx.xxx.xxx tcp dpt:6501 to:192.168.137.128:22
- - - - - - - - - - - - - - - - - -
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 192.168.137.128 0.0.0.0/0 to:xx.xxx.xxx.xxx
- - - - - - - - - - - - - - - - - -
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

5) Mittels VMWare-Console aus dem Webinterface auf der virtuellen Maschinen den SSH-Server installiert und gestartet. Den Standardport 22 habe ich hier NICHT verändert.

Folgendes funktioniert derzeit:
1) Ich kann mich via ssh auf dem Rootserver anmelden (logisch, sonst könnte ich ja nichts machen).
2) Von der VMWare-Console aus dem VMWare-Webinterface heraus kann ich mich auf der virtuellen Maschine anmelden.
3) Die virtuelle Maschine bekommt Kontakt ins Internet, Programme installieren. etc. funktioniert ohne Probleme.
4) Wenn ich via ssh auf dem Rootserver angemeldet bin, kann ich mich von dort aus ebenfalls via ssh auf der virtuellen Maschine anmelden, der Kontakt zwischen den Maschinen funktioniert also auch.

Was aber nicht funktioniert, ist der Kontakt von außen auf die virtuelle Maschine. Wenn ich also versuche, mittels ssh auf den Port 6501 des Rootservers (xx.xxx.xxx.xxx) zu gelangen, der dann an die virtuelle Maschine geroutet werden sollte, erhalte ich lediglich eine Fehlermeldung "Connection refused".

Im englischsprachigen Ubuntu-Wiki habe ich bei KVM zwar noch den Hinweis gefunden, daß man die bridge-utils installieren soll, doch dieser Versuch hat leider ebenfalls nichts gebracht.

Entweder werden da die Ports bei Strato geblockt (einen anderen Port habe ich allerdings ebenfalls vergeblich ausprobiert), oder das IP-forwarding funkioniert nicht, oder ich habe einen generellen Denkfehler.

Hat jemand vielleicht eine Idee, wo das Problem liegen könnte?

Gruß,

rpw

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by oxygen » 2009-08-11 21:51

Deine INPUT Policy lautet auch ACCEPT?
Ansonsten bräuchtest du noch sowas in der Art:

Code: Select all

iptables -A INPUT -p tcp -m state --state NEW --dport 6501 -i eth0 -j ACCEPT

Anonymous

Re: Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by Anonymous » 2009-08-12 09:42

Hallo oxygen,

vielen Dank für Deine Antwort.

Hatte ich nicht gesetzt, aber auch das hat leider nichts gebracht. Die Fehlermeldung "Connection refused" erscheint leider immer noch.

Gruß,

rpw

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by Roger Wilco » 2009-08-12 20:08

http://serversupportforum.de/forum/virt ... erver.html


Wie lautet die Ausgabe von `iptables -L`? Läuft evtl. noch ein zweiter Paketfilter, der den Zugang blockiert?
Kannst du von dem System selbst aus auf Port 6501 verbinden?

Anonymous

Re: Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by Anonymous » 2009-08-12 20:20

Hallo Roger,

danke für die Antwort. Die Ausgabe von 'iptables -L' bringt folgendes Ergebnis:

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


ufw ist noch installiert, aber nicht gestartet.


Die Frage mit dem Port 6501 verstehe ich nicht so ganz (sorry). Ich versuche von außen auf den Port 6501 des Servers zu gelangen, der dann auf den Port 22 der virtuellen Maschine weitergeleitet werden soll. Hier berühre ich Port 6501 ja garnicht. Von Rootserver aus verbinde ich mich ja nur mit Port 22 der virtuellen Maschine, das funktioniert auch. Nur leider eben nicht von draußen... :(

Gruß,

rpw

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by Roger Wilco » 2009-08-12 20:28

rpw wrote:Die Ausgabe von 'iptables -L' bringt folgendes Ergebnis

Und daran fällt dir gar nichts ungewöhnliches auf? Wirklich nicht? Zum Beispiel, dass die von dir im ersten Beitrag genannten Regeln gar nicht vorhanden sind?

Das nächste mal solche Ausgabe bitte in CODE-Tags packen.

rpw wrote:Von Rootserver aus verbinde ich mich ja nur mit Port 22 der virtuellen Maschine, das funktioniert auch.

Aber funktioniert auch eine Verbindung auf localhost:6501 (welche dann natürlich auf Port 22 der VM leiten sollte)?
Das kann natürlich erst funktionieren, wenn obiges Problem gelöst ist...

Anonymous

Re: Virtuelle Maschine unter VMWare auf Strato-Rootserver nicht aus Internet erreichbar

Post by Anonymous » 2009-08-12 20:50

Hallo Roger,

ich habe mal den Tipp von oxygen befolgt, und die INPUT-Policy erstellt:

Code: Select all

iptables -A INPUT -p tcp -m state --state NEW --dport 6501 -i eth0 -j ACCEPT


Danach sieht die Ausgabe von 'iptables -L' wie folgt aus:

Code: Select all

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:6501

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination



Muß ich noch weitere Policies erstellen (sorry, stehe momentan etwas auf dem Schlauch)? Die lokale Verbindung funktioniert so jedenfalls auch nicht.

Gruß,

rpw