854 Stimmen

Adressierung von localhost von einer virtuellen VirtualBox-Maschine aus

Ich habe einen lokalen Test-/Entwicklungsserver (HTTP, natürlich), der auf Port 8000 hört.

Ich arbeite mit Linux, also kann ich die Seite mit Internet Explorer 6, 7, 8 usw. testen. Ich führe eine virtuelle Maschine mit VirtualBox; ich muss auch sehen, wie es auf Firefox in einer Windows-Umgebung aussehen (Schriften zum Beispiel sind anders).

Auf meinem echten Rechner öffne ich die Website einfach über die URL http://localhost:8000 Wie kann ich diesen localhost von der virtuellen Maschine aus ansprechen?

Im Moment besteht meine Lösung darin, die IP-Adresse zu verwenden. Gibt es bessere Ideen?

55 Stimmen

Ich kann nicht glauben, dass das immer noch so mühsam ist. Ich benutze VB seit Jahren, und obwohl es um ein Haar einfacher geworden ist, ist es immer noch die größte Hürde, und die Netzwerkoptionen sind immer noch schwer zu verstehen, und es funktioniert immer noch nicht ohne weiteres für das, wofür die große Mehrheit der Benutzer es benutzen will. Wahrscheinlich benutzen Hunderttausende VB, um Websites (oder Anwendungen) für verschiedene Plattformen auf localhost zu testen. Es ist unglaublich, wie viel Zeit und Ärger man sich sparen kann, wenn man diesen speziellen Aspekt der Software verbessert.

1 Stimmen

Siehe auch die gleiche Frage auf superuser.com: superuser.com/questions/310697/

48voto

Pytth Punkte 3764

Ich musste in Virtualbox meine Netzwerkeinstellungen auf 'NAT' umstellen. Danach war ich in der Lage, die localhost auf meinem Host-Rechner von meinem Emulator auf Virtualbox durch http://10.0.2.2:3000

1 Stimmen

Vor kurzem (2019) habe ich die Gast-VM von Microsoft Windows 7 IE10 heruntergeladen (mein Host ist MacOS Sierra) und hatte eine Menge Probleme mit der Netzwerkeinrichtung. Also habe ich sie schließlich einfach gelöscht und die Gast-VM von Microsoft Windows 7 IE11 heruntergeladen. Dann habe ich sie auf 'NAT'-Netzwerk eingestellt und konnte den lokalen Host des Hosts über http://10.0.2.2 genau wie hier von @Pytth beschrieben.

42voto

Boris Brdarić Punkte 4614

Wenn Sie einen Adapter haben, der an NAT Heutzutage ist es eine bessere und elegantere Lösung, die Portweiterleitung auf lokale Ports zu setzen.

Settings > Network > Adapter > Advanced > Port forwarding

Fügen Sie einfach eine neue Regel ein und setzen Sie Host port y Guest port a 80 (für http) oder 22 (für ssh), und so weiter.

Dann können Sie auf diesen Rechner zugreifen, indem Sie einfach http://localhost

Sie können NAT auch in den transparenten Modus schalten.

8 Stimmen

@Boris Was du hier beschreibst, ist wie man vom Host zum Gastserver (Port) kommt. Die Frage bezog sich aber auf den umgekehrten Weg.

0 Stimmen

Da ich über einen BT Home Hub verfüge, war dies die einzige Option, die bei mir funktionierte

0 Stimmen

Sehr einfache Lösung! Danke

37voto

bluehazetech Punkte 1151

Ich habe festgestellt, dass 10.0.2.2:<port> funktioniert, aber nur, wenn der Promiscuous Mode richtig eingestellt ist. Nachdem ich meine VM installiert hatte, ging ich zu Einstellungen > Netzwerk > Adapter 1.

NAT ist standardmäßig eingestellt, und das Dropdown-Menü Promiscuous Mode ist deaktiviert. Ich wechselte von NAT zu Bridged Adapter, wodurch das Dropdown-Menü "Promiscuous Mode" aktiviert wurde, und änderte dann den Wert von "Deny" in "Allow VMs". Dann wechselte ich wieder zu NAT, wodurch der Promiscuous Mode wieder deaktiviert wurde, der neue Wert aber beibehalten wurde.

Nach nur dieser Änderung konnte ich meine VM starten und meine Host-Maschinen sehen localhost:<port> auf meiner VM unter 10.0.2.2:<port> .

2 Stimmen

Ich betreibe Windows 7 als Host und Windows 10 als Gast, schließlich hat diese Lösung für mich in VirtualBox 4.3.30 r 10.16.10 funktioniert. Danke!

0 Stimmen

Ich habe gerade Windows 10 auf einer virtuellen Box installiert, und das hat den Trick gemacht!

0 Stimmen

Dies funktionierte bei mir auch in Kombination mit den Anweisungen von spsaucier weiter oben. Ich folgte seinen Anweisungen und aktivierte dann den Promiscuous Mode - Enable All

26voto

Artipixel Punkte 1236

MacOS

Wenn Sie eine Windows-Umgebung mit Virtualbox auf einem Mac einrichten möchten, verwenden Sie einfach die Standard-NAT-Einstellungen des Adapters, und fügen Sie in Ihrer Windows-VM in der Datei hosts folgendes hinzu:

10.0.2.2       localhost
10.0.2.2       127.0.0.1

Anders als bei den obigen Antworten ist es wichtig, beide Zeilen einzuschließen, sonst funktioniert es nicht.

7 Stimmen

Dies funktioniert hervorragend mit den modern.ie-Images zum Debuggen von ie/edge auf dem Mac, und so bin ich zu dieser Frage gekommen. Es gibt eine Ausnahme: Windows 10. Windows 10 verbietet die Änderung der localhost-Domäne über die Hosts-Datei (Wahnsinn). Die Abhilfe besteht darin, IIS zu aktivieren und einen Reverse-Proxy über ihn einzurichten, der das Gleiche in vielen weiteren Schritten erreicht: developer.microsoft.com/de-us/microsoft-edge/platform/issues/

0 Stimmen

@MaxPRafferty Konnten Sie das zum Laufen bringen? Ich habe alles andere in diesem Thread ausprobiert, ohne Erfolg. Ich habe meine Hostdatei wie in dieser Antwort vorgeschlagen aktualisiert und die Schritte in diesem Link befolgt. Es war etwas unklar, wo 10.0.2.2 in Schritt 7 angegeben werden sollte. Wo muss das in der Regel stehen? Ich werde jetzt unerbittlich auf die IIS-Seite auf meiner Windows-VM Localhost weitergeleitet

0 Stimmen

@DavidWeber ja, das war ich - ich habe den Fehler tatsächlich gemeldet, so dass ich das Bild immer noch zur Verfügung habe. 10.0.2.2 muss in die "action url" eingegeben werden, die als "rewrite url" im Bearbeitungsbildschirm aufgeführt ist: Haupt-Rewrite-Seite: user-images.githubusercontent.com/1894398/ , user-images.githubusercontent.com/1894398/ Regelseite bearbeiten: user-images.githubusercontent.com/1894398/

25voto

marlonjuc Punkte 351

Sie müssen weder die hosts-Datei noch die Konfiguration der Virtual Box ändern. Behalten Sie die Einstellungen in NAT bei. Gehen Sie zu Ihrer Windows-Instanz und führen Sie "cmd" aus oder öffnen Sie cmd.exe. Führen Sie den Befehl "ipconfig" aus und erhalten Sie die Standard-Gateway IP-Adresse. Durchsuchen http://10.0.2.2:8080 auf Windows IE sehen Sie das Gleiche wie auf Ihrem Mac Safari http://localhost:8080/ o http://127.0.0.1:8080

1 Stimmen

Wenn ein lokaler Entwicklungsserver Entwicklungsabhängigkeiten hat, die mit localhost . (z. B. webpack-dev-server)

0 Stimmen

Was ist 10.2.2.3 or .4 ? Ich kann anpingen .2 sowie die - VM ist Windows Server, der unter Windows Server läuft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X