Wie greife ich auf meinen lokalen Server auf meiner virtuellen VirtualBox-Maschine zu?


9

Hier ist mein Setup:

  • Auf meinem Computer läuft ein lokaler Server (Mac OS, Snow Leopard). Ich kann über meinen Browser darauf zugreifen

    localhost: 3000

  • Ich habe eine virtuelle Maschine mit Virtual Box unter Windows XP. Wenn ich versuche, mit localhost: 3000 darauf zuzugreifen, schlägt dies fehl. Gleiches gilt, wenn ich die IP des Mac verwende.

  • Die virtuelle Maschine hat Zugriff auf das Internet.

Wie kann ich in meiner virtuellen Maschine auf meinen lokalen Server zugreifen?


Wenn Sie versuchen, auf "localhost" auf der virtuellen Maschine zuzugreifen, wird versucht, eine Verbindung zu sich selbst und nicht zum Macosx-Server herzustellen. Ich denke, die
bisherigen

1
Ich weiß, dass dies ein alter Thread ist, aber hier ist die Antwort stackoverflow.com/questions/1261975/…
deiga

Antworten:


16

Wie haben Sie Ihr Netzwerk in der virtuellen Maschine eingerichtet?

Es hört sich so an, als hätten Sie es möglicherweise mit NAT eingerichtet. In diesem Fall können Sie den Host nicht über die virtuelle Maschine erreichen, wenn Ihr Host-Computer (Mac) über eine nicht routbare (private) IP-Adresse wie 192.168.xx verfügt. Der Grund, warum Sie den Host nicht vom Gast aus erreichen können, besteht darin, dass Sie im Wesentlichen zwei separate private Netzwerke einrichten. Ihr Mac-Computer befindet sich auf einem (192.168.xx) und Ihre VM auf einem anderen (möglicherweise 10.xxx), und Sie haben im Wesentlichen einen Router zwischen sich. Da Router keine privaten IPs weiterleiten, können die beiden Netzwerke niemals direkt miteinander kommunizieren.

Wenn Sie möchten, dass Ihre Host- und Gastcomputer kommunizieren können, möchten Sie wahrscheinlich Ihren VirtualBox-Netzwerkadapter so einrichten, dass er an den "Bridged Adapter" angeschlossen wird. Dadurch wird Ihre Internetverbindung mit der virtuellen Maschine geteilt und Ihre Gastmaschine kann mit dem Host kommunizieren. In dieser Situation fügen Sie Ihre VM im Wesentlichen als zusätzlichen Knoten zum lokalen Netzwerk hinzu, in dem sich Ihr Mac bereits befindet.


Unter "Bridged Adapter" haben sowohl der Host als auch der Gast IP-Adressen unter demselben Subnetz (dh 192.168.xx), richtig?
Kdbanman

@kdbanman, richtig (vorausgesetzt, das Host-Netzwerk verwendet DHCP), wird die VM als ein anderer Computer im Host-Netzwerk angezeigt.
schwer

Das scheint eine viel natürlichere Art zu sein, eine VM einzurichten. Warum sollte man ein separates privates Netzwerk mit NAT verwenden? Sicherheit?
Kdbanman

1
Ja, NAT bietet Isolation. In einigen Netzwerken kann nicht jeder Host eine Verbindung herstellen, sodass die VM mithilfe von NAT über die Hostschnittstelle auf Netzwerkressourcen zugreifen kann. Aus diesem Grund wird es auch als Standard verwendet, es ist ein weniger fehleranfälliges Setup, aber ich stimme zu, dass ich es in den meisten Situationen vorziehe, überbrückt zu werden.
schwer

1

Abhängig von den Netzwerkeinstellungen Ihrer VM müssen Sie dem Host-Betriebssystem, das sich im selben Subnetz wie Ihre VM befindet, wahrscheinlich eine zusätzliche IP hinzufügen, damit sie kommunizieren können. Ihr VM hat wahrscheinlich eine 192.168.xx-Adresse. Fügen Sie dem Mac-Computer also eine ähnliche Adresse hinzu:

Wenn die VM beispielsweise über 192.168.1.99 und die Subnetzmaske 255.255.255.0 verfügt, können Sie dies für Ihren Host tun:

ifconfig eth0: 0 192.168.1.199 netmask 255.255.255.0 up

Sie müssen wahrscheinlich auch den Adapter neu starten.


1

Ich hatte genau das gleiche Problem, nur ich habe Windows 7 als Gast verwendet.

Was ich getan habe war Start -> Ausführen -> cmd, um die Befehlszeile aufzurufen.

ipconfigVerbindungsdetails aufrufen. Suchen Sie nach der Adresse, die wie 10.xxx aussieht, das ist Ihr Mac.

Verwenden Sie dies nun, um eine Verbindung zu Ihrem lokalen Server auf Ihrem Mac herzustellen.

Für mich ist es normalerweise so etwas wie http://10.0.2.2:80/blah

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.