Sistema operativo guest VirtualBox che accede al server locale sul sistema operativo host


107

Sul mio host Ubuntu ho il mio server web locale. Ho installato VirtualBox e Debian come ospite.

Vorrei che l'ospite Debian fosse in grado di colpire il mio server web in esecuzione sul mio host Ubuntu (per esempio, ho appena digitato http://localhost:8080/il browser sotto Debian).

Come si può fare?

Risposte:


177

Abilita UN adattatore di rete. Impostalo su NAT e avvia la tua macchina. Non è necessario configurare nulla.

Sul browser della macchina guest digitare http://10.0.2.2 che mostrerà lo stesso contenuto di "localhost" nel sistema operativo host.

10.0.2.2 è il "gateway predefinito" per le connessioni NAT e l'IP del sistema operativo guest è 10.0.2.15

Ovviamente puoi impostare un "SOLO OSTANTE" o una "Rete interna" che ti permetteranno altre configurazioni avanzate. Consiglio di stare con NAT.

Godere

M.


1
"Abilita UN adattatore di rete". Dove viene fatto?
jshen,

1
Nota: se hai host virtuali basati sul nome configurati in apache sul tuo computer host, puoi accedervi semplicemente creando un mapping nel file host dei computer del guest per10.0.2.2 yourvirtualhostname.local (or whatever)
Utente

@User sei sicuro che il tuo ultimo commento funzionerà? Ho un host virtuale sul mio host VB impostato su http://example.deve mappare 10.0.2.2qualsiasi cosa sul mio guest VB non aiuta affatto ad accedervi.
Томица Кораћ,

1
@ ТомицаКораћ funziona. Ad esempio, vedi: askubuntu.com/questions/36183/… tuttavia, probabilmente dovresti aprire una domanda separata per risolvere questo problema.
Utente

1
"Abilita UNA scheda di rete" significa che nelle impostazioni di rete della tua macchina virtuale (all'interno di VirtualBox) abilita solo una delle schede. Mi ha confuso un po 'quando l'ho letto per la prima volta.
Marquez,

5

Anche un punto da sottolineare quando si utilizza l'indirizzo IP di 10.0.2.2 è se si utilizza MAMP, ad esempio aggiungere il numero di porta: 8888 in modo che l'indirizzo completo indichi http://10.0.2.2:8888


3

Il modo più semplice per consentire l'accesso ininterrotto al tuo computer VirtualBox Guest è impostare il dispositivo di rete come "bridge" sul tuo eth0 sulla tua LAN.

Il computer guest acquisirà un IP LAN tramite DHCP dal router.


Per chiarire: questa è un'impostazione nell'app client. Ha funzionato per me — mi ci è voluto solo un po 'per realizzarlo, perché IE era troppo stupido per presumere che volevo una connessione HTTP quando ho digitato un indirizzo IP e una porta nella barra degli indirizzi.
Michael Scheper,

2

Quello che ho trovato risolto il problema per me è stato assicurarmi che l'adattatore Windows VirtualHost-Only fosse impostato sull'indirizzo .1 per l'intervallo ip, quindi il mio adattatore solo per l'host della scatola virtuale era 192.168.58.20 ma l'ip per l'adattatore Windows è 192.168. 58.1


2

Se la soluzione di @Melvyn non funziona, in alternativa è possibile impostare il collegamento dell'adattatore di rete.
Vai a Settings-> Network-> quindi Attached topassa a Bridged Adapter.

inserisci qui la descrizione dell'immagine

Dovresti essere in grado di chiamare parent tramite il suo nome host o indirizzo IP esterno che puoi ottenere andando al prompt dei comandi e digitando ipconfig /all inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Aggiornamento Se si esegue il debug con Visual Studio e si utilizza IIS Express.

vai a C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

trova il tuo sito web <configuration>/<system.applicationHost>/<sites>/<site> (il nome può essere ingannevole prova a controllare la posizione sul disco physicalPathnell'attributo)

quindi aggiungere nella <bindings>sezione nuova rilegatura

<bindings>
    <binding protocol="http" bindingInformation="*:50766:localhost" />
    <binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>

dove bindingInformation è *:[port]:[machineName]

Spero che questo ti faccia risparmiare un po 'di tempo.


-1

Bene, puoi far sì che Debian colpisca il tuo server web, ma non usando localhost. Dovrai utilizzare l'indirizzo IP dell'host Ubuntu.

Supponendo che il sistema operativo guest sia connesso alla rete, per afferrare l'IP aprire un terminale e digitare ifconfig. Dovrebbe assomigliare a qualcosa 192.168.0.2.


Ciao! Ci scusiamo per la risposta troppo tardi. ifconfig sul mio host mostra 192.168.0.102 per eth0. Quando inserisco questo ip in firefox come guest, sta provando a connettersi per un po 'e poi la connessione viene interrotta: "Il server su 192.168.0.102 sta impiegando troppo tempo a rispondere" ... Quindi cosa devo provare dopo? Grazie in anticipo.
Massimo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.