
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.