Come fare il networking tra macchine virtuali in VirtualBox?


92

Ho due macchine virtuali in VirtualBox. Vorrei fare rete tra di loro. Per il momento ho la configurazione predefinita su entrambi, ma sembrano avere lo stesso indirizzo IP 10.0.2.15. Vorrei anche poter usare Internet con entrambi, e questo è possibile ora.

Per impostazione predefinita, l'impostazione di rete è NAT, ma sembra che non possano connettersi internamente poiché hanno lo stesso IP. Ma se cambio a internal networkingsuppongo di non poter accedere a Internet con le macchine virtuali.

Come posso impostare una rete tra guest virtuale E avere accesso a Internet su di essi?

Risposte:


57

Hai provato questa guida alla rete virtuale ?

La macchina virtuale riceve il suo indirizzo di rete e la sua configurazione sulla rete privata da un server DHCP integrato in VirtualBox. L'indirizzo IP così assegnato alla macchina virtuale si trova generalmente su una rete completamente diversa dall'host. Poiché è possibile configurare più di una scheda di una macchina virtuale per utilizzare NAT, la prima scheda è connessa alla rete privata 10.0.2.0, la seconda scheda alla rete 10.0.3.0 e così via.

Penso che quello che stai cercando sia " Internal Networking ", connettendo l'un l'altro le VM interne.

È possibile utilizzare la finestra di dialogo "Impostazioni" di una VM nell'interfaccia utente grafica di VirtualBox. Nella categoria "Rete" della finestra di dialogo delle impostazioni, seleziona "Rete interna" dall'elenco a discesa delle modalità di rete. Ora seleziona il nome di una rete interna esistente dal menu a discesa in basso o inserisci un nuovo nome nel campo di inserimento.


1
Grazie, esatto. La rete interna funziona ma non viene fornita con DHCP, quindi ho provato la soluzione Bridged e funziona perfettamente. Grazie.
Jonas


3
@Joe Internet il tuo link è OK, ma l'ho capito solo dopo aver letto blog.techprognosis.com/2011/02/28/… . Detto questo, ho avviato la rete interna. Non sono stato in grado di selezionare la modalità solo host o con bridge perché mancano adattatori adeguati.
bernd_k,

1
Il link nel commento precedente non ha funzionato per me, questo sembra essere quello corretto: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Nicola Musatti

Questo non ha funzionato per me fino a quando non ho impostato un IP statico.
Va

31

Ho trovato la seguente soluzione per il mio ambiente:

  • primo adattatore con rete interna per accedere all'altra VM-
  • secondo adattatore con NAT per accedere a Internet.

Tali impostazioni possono essere eseguite dalla GUI Oracle VM VirtualBox Manager. Inizialmente avevo lo stesso problema di Jonas, mi mancava il DHCP. Alla fine ho trovato questo articolo (copia archiviata, il link originale è morto) e ho usato:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

dalla riga di comando. Successivamente ha funzionato bene.

Oserei dire che il manuale è una risorsa scadente, poiché la maggior parte della configurazione di VirtualBox su un host Windows può essere eseguita dalla GUI ed è un grave inconveniente che non è possibile configurare DHCP con la GUI.

Il mio ambiente: sto eseguendo VirtualBox 4.1.2r73507 portatile su Windows 7 a 64 bit. Attualmente la modalità solo host e con bridge non funziona perché manca l'adattatore solo host. Ho un problema simile a quello descritto in una domanda tedesca sul forum di Virtual Box , non ho un adattatore solo host.


Ho già un dhcpserver intnet che in qualche modo è arrivato di default quando ho installato virtualbox 4.3.x, ma non si connette a Internet quando uso nat con quello.
presentò il

11

Questo è il modo in cui collego i guest vbox solo in modalità NAT (testato su VirtualBox 4.2.4).

Basta usare l'IP del gateway per passare da un ospite all'host. Quindi utilizzare il port forwarding per "proxy" il traffico host verso l'altro guest.

Ad esempio, se l'ospite A desidera raggiungere un servizio ospite B in ascolto sulla porta 1000, A deve utilizzare l'IP del gateway (per la prima interfaccia NAT è 10.0.2.2). Quindi è necessario configurare il port forwarding sul guest B in modo che tutto il traffico ricevuto dall'host sulla porta 1000 sia indirizzato al guest B sulla porta 1000.

Questo potrebbe non funzionare per ogni servizio ma sembra funzionare bene per ssh, salt, ...

In conclusione, non è necessario disporre della modalità solo host per connettere più ospiti, ma non intendo dire che la modalità solo host non sia l'opzione migliore per il tuo caso d'uso.


1
Questo ha funzionato perfettamente per il mio caso d'uso (testare ie8 su un guest xp che si collega a un server in un guest linux).
Ted

+1 per semplicità ed essere molto semplice!
Emre Sevinç,

9

È necessario il tipo di LAN di connessione host (qualcosa del genere nella versione inglese) sui computer guest e la connessione bridge sul computer host.


3

(risposta alla domanda di bernd_k)

Per la condivisione di file tra host e guest, si condividono effettivamente directory anziché file.

Se la modalità di rete è a ponte o NAT, l'host e i guest sono partner di rete uguali. Sebbene l'intera configurazione sia contenuta in un solo host, per quanto riguarda la rete sono tutti uguali sulla rete, come se fossero macchine fisiche. (NAT è talvolta più problematico da utilizzare rispetto al bridge.)

In questo modo, qualsiasi cartella condivisa in qualsiasi computer, virtuale o fisico, è disponibile per tutti. Poiché non tutte le macchine virtuali possono essere accese in qualsiasi momento, ha senso impostare una cartella dell'host come cartella condivisa. L'host quindi condivide la cartella e le macchine virtuali la usano così com'è o come unità mappata.

Il seguente articolo spiega in modo dettagliato come condividere le cartelle in Windows:
Come posso condividere le cartelle in Windows 7 con la procedura guidata Cartella condivisa?


2
I tuoi suggerimenti sono preziosi in una fase successiva, ma prima di condividere file o cartelle devi essere in grado di eseguire il ping dell'altro computer.
bernd_k,

2

Ho due schede di rete sul mio PC Oracle VM XP

1o Bridged con un indirizzo IP veloce come sto usando questo come client con una configurazione di rete del server. Modificato il gateway predefinito con lo stesso della scheda di rete due (Nat 2nd)

2nd Nat Con ottenere l'indirizzo IP da Oracle VM

funziona bene!


2

Ho fatto i seguenti passi e alla fine ha funzionato bene con me (su CentOS VB):

  • Utilizzare il NAT per la scheda di rete principale (Impostazioni -> Rete -> Scheda1 "collegata a NAT").
  • Aggiungi un altro adattatore (Impostazioni -> Rete -> abilita Adapter2 "collegato all'adattatore solo host") -> imposta "Modalità promiscua" su "Consenti tutto".
  • Avviare VB.
  • Aggiungi un'altra interfaccia di rete (cp / etc / sysconfig / network-scripts / ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth1).
  • Modificare l'indirizzo MAC per eth1 in base a quello visualizzato in Adapter2 ((Impostazioni -> Rete ->).
  • Riavvia la rete "riavvio della rete di servizio"

Quindi questo VB dovrebbe accedere a Internet e potrebbe essere accessibile dagli altri (VB e macchina locale).

Nota:

L'adattatore NAT verrà utilizzato per accedere a Internet mentre l'adattatore Solo host verrà utilizzato per l'accesso alla rete tra qualsiasi altro VB e il computer locale.


0

Non so se funzionerà, ma la mia idea è:

  1. Cambia IP in numero diff in una sola macchina virtuale (in modalità NAT).

  2. Cambia altra macchina virtuale in Bridged.

  3. Configurare le impostazioni su entrambi i sistemi affinché le macchine si trovino. Riavvia tutto.

Se 1 + 3 o 1 + 2 + 3 non funzionano, prova questo: crea una cartella condivisa sul computer host e condividi la cartella con i 2 computer virtualbox nelle impostazioni di virtualbox. Riavvia e voilá?

So che la seconda opzione è una soluzione alternativa.


0

Modificare la rete collegata all'adattatore con ponte nella rete in Impostazioni.

Questo è tutto; Può collegare due PC virtuali.

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.