Repository 32bit  Forum
Repository 64bit  Wiki

[RISOLTO] Qemu semplice metodo per scambio files host guest.

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

[RISOLTO] Qemu semplice metodo per scambio files host guest.

Messaggioda joe » mer ott 09, 2013 18:30

Mi sto un po' perdendo nella ricerca di un modo quanto più semplice per condividere il contenuto di una directory tra due sistemi:
1- il nostro sistema Linux
2- un sistema guest (ms win) installato sul primo grazie a qemu

Ricordo che anni fà avevo trafficato con tun/tap e roba del genere e passavo files via ssh.
Però erano 2 pinguini.
Leggo in rete che lanciando qemu col comando seguente:
Codice: Seleziona tutto
~$ qemu -m 1024 Windows.img -net nic -net user,smb=/tmp

Si dovrebbe riuscire ad accedere alla nostra dir /tmp del sistema host dal guest.
Basterebbe collegarsi con exploer all'indirizzo "\\10.0.2.4\qemu".
Ho provato ma sinceramente non riesco a collegarmi a nulla. Nel guest anche internet non và, niente ping ecc... Non che mi interessi internet sul guest, ma per dare qualche dettaglio in più alla situazione.

Dove sto sbagliando?
Non ho samba sul sistema host, perchè non mi serve. Per questa cosa serve oppure non c'entra?

Mi sarei risparmiato questo topic vista la frequenza delle mie domande.. sorry :roll:
Vi ringrazio in anticipo! :D
Ultima modifica di joe il dom ott 13, 2013 18:16, modificato 1 volta in totale.
Avatar utente
joe
Master
Master
 
Messaggi: 1997
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: Quemu semplice metodo per scambio files host guest.

Messaggioda joe » ven ott 11, 2013 18:57

Dal man di qemu vedo che l'opzione:
Codice: Seleziona tutto
-net user,smb=/path/to/share

dovrebbe crearmi nel Guest, cioè sotto windows (XP nel mi caso) la possibilità di accedere all'host sulla dir /path/to/share per leggere e scrivere dati.

Però avviando XP con qemu non ottengo niente di tutto ciò: se apro explorer e dentro scrivo \\10.0.2.4\qemu non riesce a trovare nulla. Non riesce proprio a raggiungere l'host.
Infatti se provo un ping sempre al 10.0.2.4 mi ritorna "host di destinazione irraggiungibile"...
Dal man vedo anche che sul sistema Host (nel mio caso Slackware) deve girare samba. Allora l'ho avviato con
Codice: Seleziona tutto
/etc/rc.d/rc.samba start

Da quello che ho capito però, l'opzione "-net user,smb" dovrebbe essere sufficiente per fare tutto da sola senza dover configurare samba sull'Host, l'importante è che il demone stia girando.
Vi posto un po' di configurazione ad ogni modo:
Codice: Seleziona tutto
root@darkstar:/etc/samba# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[qemu]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        workgroup = MYGROUP
        server string = Samba Server
        log file = /var/log/samba.%m
        max log size = 50
        dns proxy = No
        idmap config * : backend = tdb

[homes]
        comment = Home Directories
        read only = No
        browseable = No

[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        print ok = Yes
        browseable = No

[qemu]
        comment = Windows file space
        path = /mnt/share
        read only = No
        guest ok = Yes

Io mi sono limitato ad aggiungere la sezione "qemu".
Andando oltre...
Ecco come ho lanciato qemu:
Codice: Seleziona tutto
$ qemu-system-i386 -net user,smb=/mnt/share,smbserver=10.0.2.4 -enable-kvm -m 800 -hda newXP-15G.img

Il problema è che davvero in windows sembra proprio assente la rete, samba a parte. Sembra proprio che sia la scheda di rete virtuale a non esserci. Oppure manca qualche componente di windows. Francamente sono molto inesperto perchè in windows non ho mai avuto a che fare con reti locali e simili.
Se così ad occhio vedete qualcosa che non torna vi chiederei se poteste avvertirmi.
Grazie mille in anticipo!
Avatar utente
joe
Master
Master
 
Messaggi: 1997
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: Quemu semplice metodo per scambio files host guest.

Messaggioda joe » sab ott 12, 2013 19:35

Allora, ho capito molto di più leggendo circa il "networking in user mode" che qemu mette a disposizione (nella versioni attuali, la mia è la: "QEMU emulator version 1.4.1, Copyright (c) 2003-2008 Fabrice Bellard"). Vi metto un link che mi è sembrato piuttosto chiaro:
http://en.wikibooks.org/wiki/QEMU/Netwo ... networking

Ok, riassumendo basta avviare qemu senza preoccuparci di tante opzioni da passare:
Codice: Seleziona tutto
qemu-system-i386 -enable-kvm -m 800 -hda newXP-15G.img

Così facendo dal sistema guest virtualizzato, nel mio caso windows, teoricamente si dovrebbe riuscire a navigare in internet.
Dovrebbe esserci infatti già impostata la scheda di rete di default che qemu impiega di suo.
La "user mode network" è il default, e ci mette a disposizione degli indirizzi di rete, visibili dal guest.
10.0.2.15 - Inet adrr.. (non che abbia mai capito bene a cosa serva...)
10.0.2.3 - DNS server
10.0.2.4 - SAMBA server (deve essere acceso anche sull'Host e configurato minimamente per essere utilizzabile)
10.0.2.2 - DHCP server

Ok, in /etc/samba/smb.conf molto semplicemente ho solo aggiunto (lo vedeta anche dal post precedente).
Codice: Seleziona tutto
[qemu]
        comment = Windows file space
        path = /mnt/share
        read only = No
        guest ok = Yes

Tutto ciò cosa significa in pratica?
Risposta:
Avviato qemu come spiegato sopra, quindi senza opzioni relative al networking, ci dovremmo trovare sul guest (windows o linux che sia) con la possibilità di:
1- navigare in internet.
2- effettuare un ping all'indirizzo 10.0.2.2 10.0.2.15 ecc
3- accedere via samba alla "directory condivisa" del sistema host così come stabilito nel config di samba. Nel mio caso sul guest vedrò la directory chiamata "qemu" (perchè la section in smb.conf è titolata [qemu], se fosse stata [nonnapapera] nel guest vedremmo una directory chiamata nonnapapera) , mentre nell'host corrisponderà a /mnt/share.
4- infine se effettuiamo un "dig slacky.eu" dal guest vedremo che il dns usato sarà 10.0.2.3.

Veniamo al dunque.
Per quanto riguarda Windows. Ho provato col 2000 e con XP in entrambi i casi non risulta presente alcuna scheda di rete da "gestione periferiche". Il problema dunque sta a monte di tutto sto discorso di networking.
Ovvero nè win2k nè winXP hanno i driver per la scheda di rete virtuale che qemu "emula".
Quindi nell''ordine le due domande:
1- quale scheda di rete emula di default qemu?
2- perchè il mio windows xp non sembra avere il driver incluso? Infatti ho letto che per win 2000 bisogna aggiungerlo, ma per xp non si dovrebbe fare nulla perchè lo include già di suo.

Va bè, sono due problemi definiti. Sui quali non ho ancora idagato via google. Vi farò sapere come và a finire. Se avete la risposta sulla punta delle dita, una vostra risposta sarebbe una scorciatoia gradita!

Invece ho notato un comportamento inatteso provando a virtualizzare il live cd di una vecchia slax. Quindi:
Host: linux Slackware14
Guest: Slax 6.1.2 o 6.0.9, non ho guardato la versione...

Operazioni dal guest:
1- se dò ifconfig vedo eth0 con inet adrr 2.0.2.15 come ci si aspettava.
2- riesco a fare un ping di indirizzi di lan per esempio 2.0.2.2
3- il dns è regolarmente su 10.0.2.3
4- il samba server su 2.0.2.4 non c'è: se mi collego con konqeror a smb://10.0.2.4 non raggiungo l'host.
Invece lo vedo su "smb://10.0.2.2". In particolare da lì vedo la directory "qemu" che corrisponde alla /mnt/share dell'host.
Lo scambio files sembra funzionare. E questo è quello che conta.

A voi la domanda:
Se qualcuno usa qemu, potrebbe confermarmi dove stà il serve samba. Riuscite a vederlo sull'indirizzo 10.0.2.4 o anche voi lo avete su 10.0.2.2???
Avatar utente
joe
Master
Master
 
Messaggi: 1997
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: Quemu semplice metodo per scambio files host guest.

Messaggioda joe » dom ott 13, 2013 16:10

Problema risolto:
http://stackoverflow.com/questions/1693 ... e-internet

Il comando per lanciare qemu e sfruttare la "user mode" network è:
Codice: Seleziona tutto
qemu-system-i386 -enable-kvm -m 800 -hda XP-15G.img -net nic,model=rtl8139 -net user

In questo modo appare la nuova scheda di rete windows... Viene automaticamente installata e la connettività sembra funzionante. Io ho impostato a mano i parametri ip:
Indirizzo ip: 10.0.2.15
subnet mask: 255.255.255.0
Gateway predefinito: 10.0.2.2
Server DNS: 10.0.2.3

Cosa funziona? (dopo riavvio)
Il guest va in internet.
sembra funzionare il ping al gateway ecc.

Veniamo a SAMBA. Che era l'obiettivo:
non riesco ad accedere su "\\10.0.2.2\" perchè mi chiede nome utente e password.
Ora mi chiedo:
Ma perchè da slax virtualizzato basta che mi collego a "smb://10.0.2.2" e mi ritrovo nella dir di share e non mi chiede niente?
Mentre da windows virtualizzato mi chiede utente e password?
Insomma la password o è richiesta oppure no, non vi pare?
Avatar utente
joe
Master
Master
 
Messaggi: 1997
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: Quemu semplice metodo per scambio files host guest.

Messaggioda joe » dom ott 13, 2013 18:15

Ok. Sembra proprio che da windows non sia possibile accedere con nome utente vuoto.
Allora bisogna modifciare qualcosa lato server.

La via più semplice m'è sembrata l'impostazione security da "user" a "share". Si parla sembre di /etc/samba/smb.conf
Codice: Seleziona tutto
security = share


In questo modo vedo anche la stampante nella directory condivisa da windows.
Ok, metto risolto. Magari aggiungo un riassunto decente. Poi se avete qualche suggerimento ditemi voi...
Avatar utente
joe
Master
Master
 
Messaggi: 1997
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Yahoo [Bot] e 3 ospiti