I) Introduction :
NFS est le protocole standard sous Unix pour partager des fichiers. Pour ce faire, vous devrez compiler la partie concernant NFS dans votre kernel en built-in ou bien en modules dans la section File systems / Network File Systems et sélectionner :
NFS file system support
Provide NFSv3 client support
NFS server support
Provide NFS server support
Ensuite vous devrez installer certains paquetages :
Sous Debian : apt-get install portmap nfs-common nfs-kernel-server
Sous Redhat il vous faudra : nfs-kernel-clients… nfs-server…
II) Configuration du serveur :
Dans une configuration de base, il suffit d’éditer un unique fichier /etc/exports. C’est dans ce fichier que vous définirez les répertoires exportés.
Ce fichier possède la structure suivante :
Point de montage machine1(droits) machine2(droits)
exemple : /usr/local *.elèves.domaine.com(ro) *.professeurs.domaine.com(rw,root_squash) *.cdi.domaine.com(noaccess)
machine1 et machine2 concerne les clients qui seronts autorisés à monter le partage. Les possibilités de configuration sont souples ici. Vous pouvez par exemple avoir :
- rien
- un nom de machine : machine.domaine.com
- son adresse IP : 192.168.1.24
- un groupe de machine référencé dans un serveur NIS : @nomdugroupe
- un joker : *.fr.domaine.com
- un sous-réseau (Adresse réseau + Masque) : 192.168.0.0/255.255.255.0
Les droits peuvent être du type :
- rw, ro : lecture écriture ou lecture seule.
- root_squash : le root sur le client est invité sur le serveur .
- no_root_squash : inverse de la précédente.
- noaccess : l’accès est interdit pour la machine spécifiée.
- et certaines autres options que vous trouverez dans la doc comme squash_uid et squash_gid.
On relance les démons :
# /etc/init.d/portmap restart # /etc/init.d/nfs-common restart # /etc/init.d/nfs-kernel-server restart
On vérifie le fonctionnement du portmapper :
# rpcinfo -p
vous devriez obtenir quelque chose de la sorte :
program no_version protocole no_port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 32768 status 100024 1 tcp 32779 status 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 32770 nlockmgr 100021 3 udp 32770 nlockmgr 100021 4 udp 32770 nlockmgr 100005 1 udp 32771 mountd 100005 1 tcp 32789 mountd 100005 2 udp 32771 mountd 100005 2 tcp 32789 mountd 100005 3 udp 32771 mountd 100005 3 tcp 32789 mountd
III) Le poste client :
Pour accéder à un partage NFS, on le monte comme n’importe quel système de fichier :
# mount serveur:/partage /point_de_montage
Donc si on reprend l’exemple si dessus nous avons :
# mount serveur.domaine.com:/usr/local /usr/local
Vous avez aussi la possibilité d’insérez une ligne relative au point de montage dans votre /etc/fstab :
serveur:/partage /point_de_montage nfs rsize=8192,wsize=8192,timeo=14 0 0
Les options rsize=8192,wsize=8192,timeo=14 servent à optimiser le traffic entre le client et le serveur.