CONNESSIONE CLIENT-SERVER CON NFS

Scopo di questo scritto, e' permettere al client di vedere una directory presente sul server, alla quale poter accedere con diritti di lettura e scrittura. Attenzione che NFS e' poco sicuro, cioe' permette a root del client di poter fare tutto sulla macchina server, percio'... attenzione. Se ritenete che alcuni  root dei client possano essere pericolosi per la sicurezza del server, forse e' meglio ricorrere ad altri programmi connessione.

NOTA: credo che NFS possa considerarsi ragionevolmente sicuro in una situazione con poche macchine, dove una persona sola (l'amministratore) e' a conoscenza delle password di root dei client e del server, mentre le altre persone che accedono alla LAN conoscono solo la propria password utente e qundi non possono combinare casini. Questa e' solo una mia considerazione che dovro' sperimentare non appena ne avro' la possibilita'  

Verifica connessione 

Si presuppone che i due pc (cliente e server) abbiano le schede di rete configurate). Per sicurezza, ripeto qui i dati delle schede di rete dei due PC.

CONFIGURAZIONE SCHEDA DI RETE DEL SERVER

Assicuratevi che il file /etc/network/interfaces, contenga queste righe:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.68.10
netmask 255.255.255.0
network 192.168.68.0
broadcast 192.168.68.255
# gateway 149.132.154.1

poi lanciare lo script che attiva la sceda di rete: /etc/init.d/networking start, se non funziona, provare con: /etc/init.d/networking restart. 

 verifichiamo che la scheda funzioni, digitiamo ifconfig. Se sono presenti le due voci eth0 e lo, allora va bene, se c'e' solo lo, la scheda di rete non e' configurata, forse non c'e' il modulo adatto e occorre ricompilare il kernel (o caricare il modulo adatto nel caso di kernel modulare).

 

CONFIGURAZIONE SCHEDA DI RETE DEL CLIENT

Assicuratevi che il file /etc/network/interfaces, contenga queste righe:

auto lo
iface lo inet inet loopback

auto eth0
iface eth0 inet static
address 192.168.68.11
netmask 255.255.255.0
network 192.168.68.0
broadcast 192.168.68.255
# gateway 149.132.154.1

poi lanciare lo script che attiva la sceda di rete: /etc/init.d/networking start, se non funziona, provare con: /etc/init.d/networking restart. 

 verifichiamo che la scheda funzioni, digitiamo ifconfig. Se sono presenti le due voci eth0 e lo, allora va bene, se c'e' solo lo, la scheda di rete non e' configurata, forse non c'e' il modulo adatto e occorre ricompilare il kernel.

Il nome-macchina del server e' debian, il nome-macchina del client e' tp600, da adesso in poi, non diro' cosa va fatto sul server e cosa sul client, cio' sara' evidente in base al nome-macchina.

Connettiamo i due pc tramite cavo di rete incrociato: non un normale cavo di rete, un cavo di rete INCROCIATO.

Verifichiamo che i due pc si vedano, cioe' che se venvono interpellati, rispondano. A questo scopo, si usa il comando ping:

tp600:~# ping 192.168.68.10 <invio>

Se tutto va bene, il server risponde con una sequenza di stringhe tipo: 

64 bytes from 192.168.68.10: icmp_seq=0 tll=255 time=0.2 ms
64 bytes from 192.168.68.10: icmp_seq=0 tll=255 time=0.2 ms
64 bytes from 192.168.68.10: icmp_seq=0 tll=255 time=0.2 ms
64 bytes from 192.168.68.10: icmp_seq=0 tll=255 time=0.2 ms
......

per interrompere, premete Ctrl-C. 

per puro scrupolo, eseguiamo il controllo inverso:

debian:~# ping 192.168.68.11 <invio>

Se tutto va bene, il client  risponde con una sequenza di stringhe tipo: 

64 bytes from 192.168.68.11: icmp_seq=0 tll=255 time=0.2 ms
64 bytes from 192.168.68.11: icmp_seq=0 tll=255 time=0.2 ms
64 bytes from 192.168.68.11: icmp_seq=0 tll=255 time=0.2 ms
64 bytes from 192.168.68.11: icmp_seq=0 tll=255 time=0.2 ms
......

per interrompere premete Ctrl-C. 

E vai! le macchine si vedono! Magia nera, magia nera!

Spengo e riaccendo, faccio partire lo script partenza.sh su entrambe le macchine, provo a ripingare... niente! nulla, in vuoto assoluto, non si vedono piu'! che e' successo? ma pork! #$%"$£%&%

Oh, $%#"%@@! si era staccato il cavo di rete! fiuuuuuhh! che spavento! 

Attenti a questi dettagli... Uno pensa di aver fatto qualche errore software e poi molto spesso ci si accorge che e' un problema hardware

CONFIGURAZIONE NFS

Operazioni lato Server

Occorre inserire nel file /etc/exports una stringa indicante COSA esportare, a CHI, e COME, cioe' con quali diritti: ecco un esempio:

/iso 192.168.68.11(ro)

Significa che rendero' visibile solo in lettura (ro, cioe' Read Only) al computer 192.168.68.11 la directory /iso: il permesso per lettura e scrittura e' (rw).

Poi, occorre dire al sistema di rileggere le modifiche appena apportate, il comando e':

debian:~# exportfs -a<invio> 

Operazioni lato Client

qui occorre unicamente dire da QUALE server viene la directory e DOVE montarla

Se non esiste, create una directory da usare come punto-di-mount:

tp600:~# mkdir /mnt/iso <invio> 

tp600:~# mount 192.168.68.10:/iso /mnt/iso &<invio> 

La e-commerciale alla fine serve per mandare in background il processo: in questo, modo libero la consol che torna disponibile per altri lavori.
non ho capito perche', ma a volte il mount tramite NFS e' lento nella fase iniziale e capita che passino dei minuti prima di poter accedere alla directory montata.

Ecco fatto! ora se faccio cd /mnt/iso vedo in realta' la directory /home/iso del server