Ricerca

lunedì 20 ottobre


VirtualBox: condividere file e cartelle tra sistemi host e macchine virtuali

VirtualBox: condividere file e cartelle tra sistemi host e macchine virtuali

di Michele Nasi (31/10/2011)


VirtualBox è un software che ormai non ha bisogno di presentazioni: inizialmente sviluppato dalla tedesca InnoTek, successivamente acquistata (febbraio 2008) da Sun Microsystems, a sua volta entrata nel portafoglio di Oracle (gennaio 2010), si tratta di una soluzione per la virtualizzazione di sistemi operativi ed applicazioni. Sono tanti gli articoli che, nel corso del tempo, abbiamo dedicato a VirtualBox (vi invitiamo a far riferimento a queste pagine) illustrandone le principali caratteristiche oltre ad alcuni aspetti meno conosciuti.

In quest'articolo desideriamo soffermarci in modo più approfondito sulle funzionalità di VirtualBox volte all'accesso di risorse disponibili all'interno della rete locale ed alla condivisione dei dati.

Ciascuna macchina virtuale VirtualBox può essere equipaggiata con un numero massimo di quattro schede di rete, ciascuna delle quali impostata per l'utilizzo di una differente configurazione. Una volta selezionata la macchina virtuale sulla quale operare dalla schermata principale di VirtualBox, cliccando sul pulsante Impostazioni della barra degli strumenti quindi su Rete, è possibile accedere alla finestra di configurazione delle impostazioni di rete.

Per impostazione predefinita, ciascuna macchina virtuale VirtualBox utilizza un'unica scheda di rete regolata in modalità NAT (menù a tendina Connessa a).

Proprio l'impostazione Connessa a è la più importante perché permette di stabilire in che modo l'interfaccia di rete virtuale dovrà interagire con l'hardware "fisico" installato sul sistema host. Scegliendo NAT, VirtualBox assegnerà alla macchina virtuale un indirizzo IP privato, del tutto inaccessibile dalla rete locale così come dal sistema host. Supponendo che al sistema host sia attribuito l'IP 192.168.1.2 (il router "fisico" si supponga abbia l'indirizzo 192.168.1.1), in modalità NAT, VirtualBox attribuirà alla virtual machina un IP 10.0.2.x. E' possibile verificarlo aprendo, da una macchina guest Windows, il prompt dei comandi e digitando ipconfig /all:

La configurazione NAT permette di accedere senza problemi alla rete Internet dalla macchina virtuale e si rivela la più adatta se non si è interessati all'indirizzo IP che sarà utilizzato dal sistema guest virtualizzato con VirtualBox.

Ovviamente, non si tratta invece della configurazione migliore se fosse necessario inoltrare determinati pacchetti dati oppure se si debbono rendere visibili dalla rete locale o da utenti remoti certe risorse presenti nella macchina virtuale.

Scegliendo Scheda con bridge, invece, la macchina virtuale cercherà di ottenere un indirizzo IP dalla medesima sorgente che solitamente fornisce gli indirizzi ai vari sistemi client che compongono la rete locale. Il termine bridge fa semplicemente riferimento al fatto che la macchina virtuale VirtualBox risulterà connessa alla rete locale, così come se lo fosse "fisicamente".

Nel nostro caso, come si vede, la scheda di rete installata sul sistema host che viene utilizzata dalla macchina virtuale, è un'interfaccia wireless Broadcom (Nome). "Agli occhi" della virtual machine, però, tale dispositivo di rete apparirà con una normale scheda ethernet Intel. Ecco infatti il responso che si ottiene, questa volta, digitando il comando ipconfig /all:

Com'è possibile notare, la macchina virtuale questa volta ha ricevuto un indirizzo IP (192.168.1.51) dal server DHCP all'indirizzo 192.168.1.1 (il router).

D'ora in poi, la macchina virtuale in modalità scheda con bridge risulterà come se fosse una workstation fisicamente connessa alla rete locale alla quale è collegato anche il sistema host.
Digitando, nel nostro esempio, il comando ping 192.168.1.51 da un qualunque sistema collegato alla LAN, si dovrebbe immediatamente ottenere una serie di risposte dalla macchina virtuale VirtualBox.
La virtual machine è adesso potenzialmente in grado di accedere a qualunque risorsa condivisa presente sui sistemi connessi in rete locale e di accettare le richieste di connessione provenienti dagli altri terminali. Condividendo una risorsa (ad esempio, una cartella) dalla macchina virtuale, si potrà così comodamente accedervi da qualsiasi sistema sia collegato alla LAN previa impostazione delle opportune condivisioni e dei relativi diritti d'accesso.

La modalità Scheda solo host è molto simile alla Scheda con bridge eccezion fatta per l'uso di un dispositivo di rete dedicato, chiamato vboxnet0: tale device è responsabile dell'assegnazione degli IP. Di fatto, il sistema host diventa un router con IP 192.168.56.1 mentre alla macchina virtuale viene assegnato un IP 192.168.56.101. Si tratta di uno schema utile per allestire reti private all'interno delle quali le macchine debbono potersi vedere senza però necessariamente dover accedere a risorse esterne (ad esempio la rete Internet).

La scelta Rete interna è simile alle opzioni NAT + Scheda solo host. In questo caso, però, lo scambio di dati può avvenire esclusivamente all'interno della rete virtuale creata tra macchine virtuali, senza alcun dialogo con il sistema host. Ciò che si otterrà sarà una LAN privata appannaggio delle sole virtual machine, senza alcun accesso "al mondo esterno".

Per condividere file e cartelle in VirtualBox, è possibile utilizzare due soluzioni: la prima consiste nell'accesso diretto attraverso la rete virtuale mentre l'altra nell'impiego della funzionalità Cartelle condivise.

Noi, di solito, preferiamo il primo approccio perché è ciò che facciamo abitualmente tutti i giorni. La condivisione di file e cartelle su sistemi Windows e Linux è un'operazione che dovrebbe essere ormai conosciuta alla stragrande maggioranza degli utenti: perché non continuare ad utilizzarla anche in una macchina virtuale?
Come precedentemente chiarito, l'accesso alle risorse condivise attraverso la rete virtuale è possibile solo se l'interfaccia di rete di VirtualBox è regolata su Scheda con bridge oppure su Scheda solo host.

Di contro, la funzionalità Cartelle condivise consente di creare una cartella sul sistema host che verrà poi "montata" all'interno della macchina virtuale VirtualBox. Si tratta, questo, di un "espediente" che funziona con qualsiasi configurazione scelta per l'adattatore di rete virtuale e che sfrutta un server di condivisione allestito da VirtualBox per l'accesso delle macchine guest ai dati condivisi sull'host.

La caratteristica Cartelle condivise si regola semplicemente accedendo alle impostazione della macchina virtuale, da VirtualBox, quindi cliccando sulla voce omonima.

Nell'area di destra della finestra, si otterrà la lista delle risorse condivise sulla macchina host. Cliccando sul piccolo pulsante Aggiungi cartella condivisa, è possibile specificare la cartella che si desidera condividere con la macchina virtuale:

Dopo aver confermato le proprie scelte mediante la pressione del pulsante OK, a questo punto, nel caso in cui la macchina guest sia un sistema Windows, accedendo a Risorse di rete si dovrebbe trovare il server virtuale VBOXSVR ed al suo interno la risorsa appena condivisa.

Per assegnare una lettera di unità alla risorsa condivisa, si può invocare il comando \\net use lettera_unità \\vboxsvr\nome_condivisione.
Se si ha a che fare con una macchina virtuale Linux, si può ricorrere al comando mount -t vboxsf nome_condivisione percorso_in_cui_montare_la_risorsa.

Abilitando la casella Rendi permanente di VirtualBox, la "cartella virtuale" sarà inserita nella sezione Cartelle della macchina. Ciò significa che la directory dell'host posta in condivisione col sistema guest resterà automaticamente a disposizione di quest'ultimo ad ogni riavvio della macchina virtuale. Diversamente, nel caso in cui la casella Rendi permanente venisse lasciata non spuntata, la configurazione verrà persa ad ogni arresto o reboot del sistema virtuale.

Articolo seguente: GFI Backup: un software per la gestione dei backup all'interno della rete locale
Articolo precedente: Personalizzare il disco di ripristino di Windows 7 inserendovi altre utilità ed applicazioni
68633 letture
Ultimi commenti
inviato da Michele Nasi > pubblicato il 03/09/2014 17:04:40
Le cartelle condivise di Virtualbox non permettono di condividere i file su Windows 98. Attiva quindi la condivisione file e cartelle di Windows 98 accedendo alle impostazioni di rete, dal Pannello di controllo. Non ho davanti un vecchio Windows 98 ma nelle proprietà della connessione di rete troverai il pulsante "condivisione file e cartelle". Da lì potrai attivare le due caselle che consentiranno di condividere file e cartelle dal sistema virtuale Windows 98. A questo punto, basterà cliccare col tasto destro del mouse sulla cartella da condividere e scegliere "Condivisione". In alternativa, puoi accedere da Windows 98 ad una risorsa condivisa su Windows 8.x. Come hai configurato la scheda di rete virtuale della VM Virtualbox dove hai installato Windows 98?
inviato da Makenor13 > pubblicato il 03/09/2014 16:46:34
Ho Windows 8 (host) e Windows 98 (guest) e non riesco a condividere le cartelle! Aiuto!
inviato da Michele Nasi > pubblicato il 24/02/2012 11:38:41
Hai verificato con il comando ifconfig gli IP che vengono assegnati alla macchina virtuale ("guest")? Seguendo le indicazioni dell'articolo non puoi sbagliare. In caso di dubbi, ti chiederei di aprire una discussione dedicata sul nostro forum (previa iscrizione). Grazie.
inviato da Massimo B. > pubblicato il 24/02/2012 11:20:01
Ottimo e chiaro articolo, è stato fondamentale per configurare la mia VBox (host Win7, guest Linux Scientific), che ora accede alla rete. Preciso che con le impostazioni predefinite della VBox (rete interna) le interfacce di rete non venivano inizializzate. Tuttavia: con IPCONFIG da Win7, in nessun caso leggo la configurazione di guest, come descritta nell'articolo sia nel caso NAT che BRIDGE. Preciso che la mia LAN e il mio router hanno la stessa configurazione ipotizzata nell'articolo. La scheda di rete predefinita nelle ozioni generali di VBox (Virtual Box Host-Only) non ha forse la configurazione adatta ? Anche se questi valori dovrebbero valere solo per l'utilizzo solo-host. La scheda virtuale, nel mio caso, ha IP 192.168.56.1, senza Gateway né DNS (e questi valori si rilevano nell'output di ipconfig). Grazie e saluti Massimo
inviato da Lettore anonimo > pubblicato il 18/11/2011 05:49:46
Ho condiviso la cartella in Windows 7 (sistema reale) ma, in VB con Ubuntu 11.10, quando clicco sulla cartella con il pulsante destro e seleziono "Opzioni di condivisione" mettendo il flag sulla voce "Condividere questa cartella" mi ritorna il seguente errore: «net usershare» ha restituito l'errore 255: net usershare add: cannot share path /mnt/condivisa_vbox as we are restricted to only sharing directories we own. Ask the administrator to add the line "usershare owner only = false" to the section of the smb.conf to allow this. Come posso risolvere?
inviato da Michele Nasi > pubblicato il 17/11/2011 18:05:11
Nella modalità Bridge, come spiegato nell'articolo, devi usare le funzionalità di condivisione classiche di Windows e Linux. La funzionalità "cartelle condivise" (trovi informazioni nella parte finale del pezzo), invece, consente di condividere file tra sistema host e guest utilizzando delle cartelle d'appoggio.
inviato da Stevie > pubblicato il 17/11/2011 17:30:25
Buona sera Ho modificato in VirtualBox la scheda di rete da NAT a Bridge come descritto ma non riesco a trovare la cartella che viene condivisa tra il mio sistema operativo host (Windows 7) e quello montato virtualmente (Ubuntu 11.10) Potete darmi una mano? Grazie
inviato da Roby22 > pubblicato il 02/11/2011 19:18:06
Ottime spiegazioni e come sempre molto bravi, complimenti.


Leggi tutti i commenti

Commenta anche su Facebook

Link alla home page de IlSoftware.it

P.IVA: 02472210547 | Copyright © 2001 - 2014

Pubblicità | Contatti | Informazioni legali | Cookies | Storia | Supporta | Credits

Segui i nostri Feed RSS de IlSoftware.it Segui i nostri Feed RSS