
Was ich möchte:
Ich möchte einen virtuellen Gastcomputer mit Ubuntu (auf VirtualBox) für verschiedene Testserver zur Webentwicklung (die auf unterschiedlichen Ports laufen, z. B. läuft Grunt.js auf Port 9000).
Ich möchte Webanwendungen testen, die auf diesen Servern laufen: a) vom Gast aus, b) vom Host aus (auf dem übrigens Windows 7 läuft), c) von anderen Geräten im selben Netzwerk aus, die über WLAN verbunden sind (z. B. Mobilgeräte).
Ich möchte vom Gast aus auf das Internet zugreifen können
Ich habe zunächst eine Lösung ausgeführt, bei der ich in VirtualBox sowohl einen NAT- als auch einen Host-Only-Adapter konfiguriert hatte. Damit konnte ich vom Host aus auf den Gast und vom Gast aus auf das Internet zugreifen.
Da ich nun möchte, dass andere Geräte auf die virtuelle Maschine zugreifen können, funktioniert diese Lösung nicht mehr. Vor Jahren konnte ich dies mit einem überbrückten Netzwerkadapter tun, aber das scheint hier nicht zu funktionieren, da ich mich in einem Unternehmensnetzwerk befinde.
Was ich getan habe:
Also habe ich in VirtualBox einen überbrückten Netzwerkadapter mit Standardeinstellungen eingerichtet. Beim Starten der VM fiel mir als erstes auf, dassIch habe keinen Internetzugang, und das Ausführen ifconfig
ergibt:
eth0 Link encap:Ethernet HWaddr 08:00:27:d1:1f:98
inet6 addr: fe80::a00:27ff:fed1:1f98/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:139 errors:0 dropped:0 overruns:0 frame:0
TX packets:658 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11274 (11.2 KB) TX bytes:140266 (140.2 KB)
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:65536 Metric:1
RX packets:1728 errors:0 dropped:0 overruns:0 frame:0
TX packets:1728 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1001564 (1.0 MB) TX bytes:1001564 (1.0 MB)
Wie Sie sehen, ist kein IPv4 verfügbar und ich kann weder einen Ping senden noch etwas von außerhalb des Gastes anfordern. Ich bin mir nicht ganz sicher, ob es daran liegt, dass etwas falsch konfiguriert ist oder ob das Unternehmensnetzwerk so etwas nicht zulässt – ich bekomme auch keine Hilfe von der IT-Abteilung …
BEARBEITEN:Ich habe festgestellt, dass die überbrückte Verbindung funktioniert, wenn ich ein anderes Netzwerk verwende, nicht das Unternehmensnetzwerk. Ich kann auch von anderen Geräten aus auf den Gastserver zugreifen.
Wie kann ich das weiter debuggen? Und was könnte der Grund für ein solches Verhalten sein?
Antwort1
Leider bin ich mit IPv6 nicht vertraut genug, um zu sagen, ob Ihre VM ihre eigene IP abruft oder nicht. Ich sage also nur, dass eine überbrückte Verbindung so funktioniert, dass die VM ihre eigene IP anfordert, wodurch Ihre physische Maschine im Wesentlichen über zwei IPs im Netzwerk verfügt. Wenn das Unternehmensnetzwerk DHCP deaktiviert hat, wie es in den meisten Fällen der Fall ist, oder wenn IPs auf andere Weise eingeschränkt sind, müssen Sie der VM ihre eigene IP zuweisen, damit sie wie gewünscht funktioniert.
Allerdings ist es möglich, in VirtualBox eine „Portweiterleitung“ für den NAT-Netzwerkmodus einzurichten. Auf diese Weise leitet Ihr physischer Computer eine Anfrage an dem von Ihnen angegebenen Port an Ihre VM weiter.
Da die virtuelle Maschine mit einem privaten Netzwerk innerhalb von VirtualBox verbunden und für den Host unsichtbar ist, sind Netzwerkdienste auf dem Gast für den Host oder andere Computer im selben Netzwerk nicht zugänglich. Wie ein physischer Router kann VirtualBox jedoch durch Portweiterleitung ausgewählte Dienste der Welt außerhalb des Gasts zur Verfügung stellen. Dies bedeutet, dass VirtualBox bestimmte Ports auf dem Host abhört und alle dort ankommenden Pakete über denselben oder einen anderen Port an den Gast weiterleitet.
Wenn Sie detailliertere Informationen wünschen, finden Sie diese im Abschnitt „Network Address Translation (NAT)“ unter „Virtuelles Netzwerk“ in der VirtualBox-Hilfedatei. Unter den erweiterten Netzwerkeinstellungen für Ihre VM finden Sie eine nette kleine GUI, die Ihnen dabei hilft.