Addressing localhost aus einer VirtualBox virtuellen Maschine
-
12-09-2019 - |
Frage
Ich habe einen lokalen Test / Entwicklungs-Server (HTTP, natürlich), hört Port 8000.
Ich arbeite auf Linux, so die Seite 6 auf Internet Explorer 7 zu testen, 8 usw. Ich betreiben eine virtuelle Maschine mit VirtualBox; Ich muß auch sehen, wie es in einer Windows-Umgebung auf Firefox aussieht (Schriften zum Beispiel sind unterschiedlich).
In meiner realen Maschine, ich öffne die Website einfach die URL http://localhost:8000
verwenden, wie spreche ich dieses localhost aus der virtuellen Maschine?
Im Moment meine Abhilfe ist, die IP-Adresse zu verwenden. Eine bessere Idee?
Lösung
Googeln gedreht auf den Punkt: http://data.agaric.com / localhost-from-virtualbox-xp-install-ubuntu
Er schlägt vor, mit IP: http://10.0.2.2
, und es funktioniert für mich
Also, ich bearbeiten die Hosts-Datei, C:\windows\system32\drivers\etc\hosts
und fügte diesen Eintrag:
10.0.2.2 outer
Wenn Sie auf IE8 sind testen, denken Sie daran http://
in der Adressleiste zu setzen. Nur darum, die IP direkt wird nicht funktionieren.
Zum Beispiel:
http://10.0.2.2:3000/
Andere Tipps
macOS
Ich bin mit Virtual Box auf macOS (frühes O X), Virtual Box mit IE unter Windows zu testen, etc.
IE gehen in Virtual Box und Zugang localhost
über http://10.0.2.2
für localhost
oder http://10.0.2.2:3000
für localhost:3000
.
Ich hielt Netzwerkeinstellungen wie NAT, da keine Notwendigkeit für Brücke in meinem Fall oben vorgeschlagen. Es gibt keine Notwendigkeit, irgendwelche Konfigurationsdateien zu bearbeiten.
Um dies zu ermöglichen auf OSX hatte ich folgendes zu tun:
- Schließen Sie Ihre virtuelle Maschine herunter.
- Gehen Sie auf das "+" Symbol
VirtualBox Preferences -> Network -> Host-only Networks ->
klicken. Klicken Sie auf OK. - Ihre Box auswählen und
"Settings" icon -> Network -> Adapter 2 ->
klicken Sie auf „An:“ Drop-Down, wählen Sie „Host-Only Adapter“ und Ihr Netzwerk (vboxnet0
) standardmäßig unten zeigen sollte. Klicken Sie auf OK. - Sobald Sie Ihre Box wieder starten, sollten Sie in der Lage sein, localhost auf
http://10.0.2.2/
zugreifen
Sie können von localhost
und Zugriff auf andere Websites localhosted darauf verweisen durch ihre Verweise auf die Hosts-Datei hinzufügen (C:\windows\system32\drivers\etc\hosts
) wie folgt aus:
10.0.2.2 localhost
10.0.2.2 subdomain.localhost
Sie höchstwahrscheinlich Ihre virtuelle Maschine Networking NAT eingestellt. Wenn Sie Ihr Netzwerk auf Bridged setzen sollten Sie in der Lage sein, Ihre Host-Maschine durch die Hostnamen zuzugreifen. Zum Beispiel, wenn der Hostname ist „jsmith-Precision-7510“ und Sie öffnen mögen http: // localhost: 3000 / , können Sie die Seite unter http anzuzeigen: // jsmith-Precision-7510: 3000 / .
Ihre Host-Namen zu finden, öffnen Sie einen Terminal / Konsole und dann den Befehl hostname
laufen. Ihr Host-Name wird in der nächsten Zeile ausgegeben werden.
Sehen Sie die VirtualBox Dokumentation für Anweisungen, wie die Vernetzung setzen setttings zu Bridged.
hatte ich in VirtualBox gehen und meine Netzwerkeinstellungen ändern zu ‚NAT‘. Danach war ich in der Lage localhost
läuft auf meinem Host-Rechner von meinem Emulator auf virtualbox durch http://10.0.2.2:3000
Ich fand, dass 10.0.2.2:<port>
funktioniert, aber nur, wenn Promiscuous Mode richtig eingestellt ist. Nach meiner VM installiert, ging ich zu Einstellungen> Netzwerk> Adapter 1.
NAT ist standardmäßig eingestellt und der Promiscuous Mode Drop-Down ist deaktiviert. Ich wechselte von NAT zu Bridged-Adapter, die die Promiscuous Mode Drop-Down-Option aktiviert ist, und verändern dann den Wert von „Verweigern“ auf „VMs zulassen“. Ich wechselte dann wieder auf NAT, die deaktiviert Promiscuous Mode wieder, behielt aber den neuen Wert.
Nach nur diese Änderung konnte ich meine VM starten und meine Host-Maschinen sehen
localhost:<port>
auf meiner VM bei 10.0.2.2:<port>
.
Wenn Sie Adapter an NAT , heute ist es besser, und elegantere Lösung Portweiterleitung an den lokalen Ports zu setzen.
Settings
> Network
> Adapter
> Advanced
> Port forwarding
Just neue Regel einfügen und setzen Host port
und Guest port
80
(für http) oder 22
(für ssh), und so weiter.
Dann können Sie diese Maschine zugreifen, indem Sie nur http://localhost
MacOS
Wenn Sie eine Windows-Umgebung mit Virtualbox auf einem Mac einzurichten, benutzen Sie einfach die Standard-NAT-Einstellungen auf dem Adapter, und in Ihrem Windows-VM, gehen Sie auf Host-Datei und fügen Sie den folgenden:
10.0.2.2 localhost
10.0.2.2 127.0.0.1
Im Unterschied zu den Antworten oben, dann ist es wichtig, beide Linien enthalten, sonst wird es nicht funktionieren.
Sie müssen Ihre Hosts-Datei auf Ihrer virtuelle Windows-Maschine auf die gleiche Weise tut für die lokale Host-Maschine bearbeiten:
C: \ WINDOWS \ system32 \ drivers \ etc \ hosts
Und verknüpfen Sie Ihre virtuellen Hosts zu 10.0.2.2, wenn Sie nur verwenden localhost dann ersetzen
127.0.0.1 localhost mit 10.0.2.2 localhost
Zum Beispiel:
10.0.2.2 localhost
10.0.2.2 local.site1.com
10.0.2.2 local.site2.com
Das sagt die virtuelle Maschine auf dem lokalen Computer für den Domain-Namen zu verweisen.
Sie müssen keine Hosts-Datei oder eine Virtual Box-Konfiguration ändern. Halten Sie die Einstellungen in NAT. Gehen Sie zu Ihrem Windows-Instanz und führen Sie „cmd“ oder offen cmd.exe. Execute Befehl "ipconfig" und nutzen Sie die Standard-Gateway IP-Adresse. Durchsuchen http://10.0.2.2:8080 unter Windows IE sehen Sie, ist das gleiche als Mac Safari http: // localhost: 8080 / oder
Eine Kombination von ein paar Dingen bekam schließlich Dinge an meinem Ende arbeiten.
Ausführen eines Kolben-Server auf Mac OS X. In meinem Windows-VM Ich bearbeitete die Hosts-Datei: Shutdown VM und auf meinem Mac in VirtualBox: Dann ging ich begann ich meinen Server auf meinem Mac, auf Man, was für ein Alptraum auf IE auf dem Mac zu testen. Wie ist es nicht ein einfacherer Weg?
C:\windows\system32\drivers\etc\hosts
10.0.2.2 outer
VirtualBox > preferences > Network > Host-only Networks > +
ein Netzwerk vboxnet1
hinzufügen My_VM > settings > Network > Adapter 1
. Enable Network Adapter
und setzen Attached to:
Bridged Adapter
. Advanced > Promiscuous Mode:
Allow VMs
. OK
My_VM > settings > Network > Adapter 1
. Attached to:
zurück zu NAT
. Adapter 2
Attached to:
Host-only Adapter
und das vorherige Netzwerk hinzugefügt vboxnet1
zu wählen. 127.0.0.1:5000
laufen und das war jetzt zugänglich auf meiner vm bei http://10.0.2.2:5000
ich durch Hinzufügen eines Port-Forwarding in Virtualbox Einstellungen unter Netzwerk gelöst. Host IP Set 127.0.0.1 Port: 8080 Gast ip: Geben Sie eine beliebige IP für die Website (zB 10.0.2.5) port: 8080 Jetzt von Gastmaschine Zugang http://10.0.2.5:8080 mit IE
In der virtuellen Box als die oberen, können Sie diese Zeile hosts-Datei hinzufügen
10.0.2.2 outer
aber um sie zu speichern, wenn Sie Administratoren nicht Recht haben, in Ihrem VM nur Hosts bewegen, um Desktop-Datei, dann bearbeiten sie die Leitung 10.0 .... äußere, speichern Sie die Datei, hinzuzufügen und zu seinem ursprünglichen Platz bewegen .
, wenn Sie Ihre Muttermaschine treffen kann mit:
ipconfig
(erhalten Sie Ihre IP-Adresse)
ping <ip>
oder telnet <ip> <port>
Wenn Sie nicht in den Hafen bekommen, versuchen, eine neue eingehende Regel in Ihrer Mutter Firewall Hinzufügen ermöglichen lokale Ports.
Ich war dann in der Lage http://<ip>:<port>
zugreifen
In Virtual Box
- Stellen Sie Ihr Netzwerk Bridge Networking
- Erweiterte Go Set Promiscuous Mode: Alle zulassen
Jetzt kommt der schwierige Bit ist localhost, wenn Sie von Node.js laufen die IP-Adresse auf 0.0.0.0, dann Nachschlag Ihre eigene IP-Adresse, zum Beispiel cmd: ipconfig -> 10.0.1.3
Geben Sie die Adresse in der Port-Nummer. Und es wird funktionieren.
Allgemeine Schritte:
- Ein gemeinsames Netzwerk (Add Host-Only oder Brücke NIC)
- bevorzugten Dienst so konfiguriert, auf entsprechende Schnittstelle (Interface zur gemeinsamen NIC verbunden) hören
- Verwenden Sie IP:. Hafen gezielten Service zu erreichen, verwenden Sie eine IP, die gemeinsam genutzten Netzwerk gehören
Unter Windows mit einem virtuellen Windows 7 das einzige, was für mich gearbeitet wurde mit NAT und Port-Forwarding (nicht überbrückte Verbindung zum Laufen bringen könnte). Ich fand ein Tutorial hier: http://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/ (blättern Sie zu dem Teil nach unten mit " Forwarding Ports zu einer virtuellen Maschine ").
Mit diesen Änderungen konnte ich die xampp Website mit „ http erreichen: //192.168.xx.x: 8888 / mywebsite “im Internet Explorer 10 auf meiner virtuellen Maschine.
fand ich die IP in XAMPP Control Panel> Netstat ( "System").
Wenn Sie Virtual Box verwenden, können Sie Mac OSX verbinden (und ich denke, Linux) in Ihre virtuelle Windows-Maschine eine Zeile Code verwenden. -> Ich schlage vor, die Box zu stoppen, bevor diese im Terminal läuft
VBoxManage modifyvm "YOUR VM NAME" --natdnshostresolver1 on
Ich werde beachten Sie, dass diese von dem Dinghy docs, die ich laufen werde, aber es ist ein virtueller Box-Befehl so sollte es nicht eigentlich egal, was du so lange seine Virtual Box verwendest
Ich brauche auf localhost laufen, nicht einige seltsame IP.
1) von Ihrem Mac-Terminal, tun iconfig -a
Ihre lokale IP-Adresse zu finden. Es ist wahrscheinlich der letzte.
en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
ether 38:c9:86:32:0e:69
inet6 fe80::ea:393e:a54f:635%en7 prefixlen 64 secured scopeid 0xe
inet 10.1.5.60 netmask 0xfffffe00 broadcast 10.1.5.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (1000baseT <full-duplex,flow-control>)
status: active
z. 10.1.5.60
2) booten Windows-Abbilds. Start> Typ cmd
einen Terminal erhalten
3) notepad c:\windows\system32\drivers\etc\hosts
4) fügen Sie die folgende Zeile
10.1.5.60 localhost
5) offen IE, und die folgende URL soll den Server läuft auf dem Mac getroffen: http://localhost:3000/
Holen Sie sich das IP für die Maschine läuft Apache (inet addr: in ifconfig
). Und geben Sie, dass in der virtuellen Browser-Adressleiste Feld
Eigentlich Antwort, user477494 ist im Prinzip richtig.
und dass der Trick -Ich habe die gleiche Logik in anderen Umgebungen (Virtual Windows XP OS X-Host) angewandt. Ich habe zu Zyklus haben den Host LAMP stapeln die IP-Adresse und Apache zu erhalten Port zu lösen, aber sobald ich das heraus würde ich lache.