Virtualbox: Wie greife ich vom Host-Betriebssystem auf den Webserver im Gastbetriebssystem zu?

Virtualbox: Wie greife ich vom Host-Betriebssystem auf den Webserver im Gastbetriebssystem zu?

Nach vielem RTFM und dem Lesen von Foren habe ich immer noch Probleme und brauche Rat. Ich verwende Virtualbox auf Ubuntu und habe einen Centos-Server als Gast installiert. Mein Problem ist, dass ich vom Host-Betriebssystem aus nicht auf den Webserver auf dem Gast-Betriebssystem zugreifen kann.

Hier sind die Details: Das Host-Betriebssystem ist Ubuntu 12.04 LTS (Kernel 3.2.0-24-generic) 64 Bit.

Ich verwende Virtualbox 4.1.12.

Ich erhalte meine IP-Adresse von meinem WLAN-Router:

eth0      Link encap:Ethernet  HWaddr 18:03:73:42:3d:ac  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:47 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3784 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3784 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:378673 (378.6 KB)  TX bytes:378673 (378.6 KB)

wlan0     Link encap:Ethernet  HWaddr 64:27:37:69:c5:d2  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6627:37ff:fe69:c5d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124013 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:164307087 (164.3 MB)  TX bytes:9744555 (9.7 MB)

Ich habe CentOS als Gastbetriebssystem installiert und möchte auf dessen HTTP-Server zugreifen. In den Netzwerkeinstellungen in Virtualbox habe ich Folgendes: An Bridged Adapter angeschlossen

Name: wlan0

Ich erlaube den Promiscuous-Modus für die VMs.

Und „Kabel angeschlossen“ angekreuzt.

Auf der CentOS-Maschine hat die eth0-Schnittstelle die IP-Adresse 192.168.1.20 mit der Maske 255.255.255.0 empfangen. Bislang sieht alles in Ordnung aus, die beiden Systeme können sich gegenseitig anpingen. Ich habe den Webserver gestartet und er lauscht auf Port 80 – geprüft mit netstat. (Die Standardkonfigurationsdatei des Webservers wurde jedoch nicht geändert.)

Wenn ich eine Verbindung zum Webserver auf der CentOS-Maschine herstellen möchte, kann ich das nicht. „Verbindung nicht möglich“, sagt Firefox. Chrome ist auch unglücklich: Chrome konnte keine Verbindung zu 192.168.1.20 herstellen. (Ich verwende hier keinen Proxy.)

Ich habe versucht, per Telnet eine Verbindung zum Port 80 des Gastsystems herzustellen – ohne Erfolg:

:~$ telnet 192.168.1.20 80
Trying 192.168.1.20...
telnet: Unable to connect to remote host: No route to host

Ich bin nicht sicher, ob es wichtig ist, aber die Routentabelle auf dem Gastbetriebssystem befindet sich hier:

[root@centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

(Es ist lustig, habe gerade herausgefunden, dass ich per SSH von Ubuntu auf CentOS zugreifen kann.)

Ich habe verschiedene Einstellungen in Virtualbox ausprobiert, aber die oben genannten kommen dem am nächsten, was Leute in verschiedenen Foren vorschlagen. Habe NAT mit Portweiterleitung und Host-Only-Adapter ausprobiert, aber ich konnte es nicht reparieren.

Kann mir bitte jemand Licht ins Dunkel bringen? Prost

Antwort1

Die Lösung bestand darin, den Port in der Firewall des Gastbetriebssystems zu öffnen, wie hier beschrieben: http://wiki.centos.org/HowTos/Network/IPTables

Die Netzwerkeinstellungen in Virtualbox waren in Ordnung – „Bridged Network“ ist die richtige Einstellung.

Antwort2

Wenn Sie die interne Firewall des Gastbetriebssystems wie unten beschrieben deaktivieren, sollte Ihnen der Zugriff möglich sein. Geben Sie

service iptables stop
chkconfig iptables off

in der Befehlszeile, wenn Sie sich im Gastbetriebssystem befinden.

verwandte Informationen