2015-02-09 19 views
8

Lo scenario è che il mio ambiente di sviluppo si trova su una scatola di Vagrant sul mio laptop (host) e mi piacerebbe fare test del browser in un vm di vitualbox, quindi ho bisogno di vedere un vm da un altro.Come posso accedere a un ospite vagabondo da un altro guest virtualbox?

La porta della casella del vagabondo è: 8080 che viene inoltrata all'host sulla stessa porta: 8080. Quindi posso vedere il server dall'host su localhost: 8080

Quale indirizzo dovrei usare per il browser di prova vm?

Il gateway predefinito di test di vm? L'ip vagabondo di ip? L'IP della rete virtuale dell'host?

E dovrei utilizzare un adattatore NAT o host solo sul browser che esegue test vm?

Questo rende molte combinazioni, tutte cose che credo di aver provato. Cos'altro devo capire qui?

risposta

11

Nel tuo caso d'uso, dovresti utilizzare la rete Bridged (rete pubblica in Vagrant). Se le macchine virtuali risiedono sullo stesso host, è anche possibile utilizzare interni (rete privata in Vagrant).

Se si utilizza la rete pubblica, la seconda scheda di rete della macchina virtuale sarà in grado di ottenere un indirizzo IP dal server DHCP nella rete (ad esempio il router di casa).

È sufficiente aggiungere il seguente blocco di codice nel tuo Vagrantfile e fare un vagrant reload

Vagrant.configure("2") do |config| 
    config.vm.network "public_network" 
end 

Si dovrebbe essere in grado di ottenere l'indirizzo IP utilizzando vagrant ssh e ifconfig/ip addr show.

0

Aggiunta alla risposta accettata, è possibile impostare l'IP e specificare l'interfaccia di rete da utilizzare.

La mia configurazione su linux box tramite Wi-Fi e IP statico: È possibile trovare il nome dell'interfaccia wifi eseguendo il comando ifconfig.

Vagrant.configure("2") do |config| 
    config.vm.network "public_network", :bridge => 'wlp8s0', ip: "192.168.1.199" 
end 
1

Nel caso in cui non si vuole andare con public_network proprio come me, allora si dovrebbe fare il seguito utilizzando private_network:

  1. Aperto Vagrantfile dalla radice del progetto
  2. Cerca config.vm.network
  3. Aggiungi questa riga config.vm.network "private_network", ip: "192.168.33.10". Ricorda che questo non è l'IP della tua macchina base, è un indirizzo IP della casella virtuale e l'IP della tua macchina dovrebbe essere diverso. Puoi dire che è un falso indirizzo IP, quindi cambialo in qualsiasi altra cosa come 192.168.30.20.
  4. Ricarica il tuo vagabondo usando vagrant reload.
  5. Ora vai al tuo altro ospite virtuale nel mio caso è il Windows Guest 2. La mia base è Linux Mint La scatola di Vagrant è il Ubuntu Guest 1. Aprire il file C:\Windows\System32\drivers\etc\hosts come amministratore e inserire la voce IP sopra indicata come 192.168.33.10 local.youralias.com. E salva il file, dopo di che ora puoi navigare nel sito ora allo http://local.youralias.com/.
  6. Nel caso in cui il guest 2 sia anche Linux, modificare questo file sudo vi /etc/hosts e aggiungere questa riga nella parte superiore di esso 192.168.33.10 local.youralias.com. Ora salva ed esci e cerca l'URL :)

Divertiti! Buona programmazione.

Problemi correlati