Réseau Linux/Unix : NFS
17 Sep. 2006
- Auteur : lenounoursmignon
- Responsable : TrustRobot
- Score ( voter ) :



- Connexes : Même auteur | Même responsable | Historique
1. Pré-requis :
Avant de commencer, il faut être sûr que votre noyau est configuré comme suite pour un client :
Network File Systems
<M> NFS file system support
<*> Provide NFSv3 client support
et comme suite pour un serveur :
Network File Systems
<M> NFS server support
<*> Provide NFSv3 server support
Sauf contre-indication particulière, vous avez intérêt à le configurer comme client et serveur. De plus, si vous utilisez une distribution moderne, comme Mandriva 9 et plus, Red Hat 8 et plus, Suse 8 et plus, Slackware 8 et plus, Fedora core 1 et plus, Debian sarge et plus, vous n'avez rien à faire, tout est configuré par défaut.
La première étape, que vous souhaitiez installer le serveur NFS , ou tout simplement le client, c'est d'installer tcp-wrappers et portmap.
remarques :
- Le package "tcpwrappers" permet le monitoring et le filtrage de requêtes entrantes.
- Portmap est utilisé pour envoyer des requêtes aux démons RPC tels que NFS et NIS de manière securisé.
$ tar xzvf tcp_wrappers_xxx.tar.gz
$ cd tcp_wrappers_xxx
$ make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux
$ su
# make install
# exit
Passons maintenant à l'installationde "portmap. De même que précedemment, les utilisateurs de RPM, DEB ou TGZ savent ce qu'il leur reste à faire. Pour les autres, téléchargez les sources ICI
Puis, tapez ce qui suit dans une console :
$ tar xzvf portmap_xxx.tar.gz
$ cd portmap_xxx
$ make
$ su
# make install
# exit
2. Installation de "nfs-utils":
Si vous voulez seulement utilisé le client NFS, cette partie ne vous concerne pas, passez donc à la section utilisation. Pour ceux qui veulent installer le serveur NFS, il ne vous reste qu'à installer "nfs-utils". Comme toujours, les utilisateurs de RPM, DEB ou TGZ savent ce qu'il leur reste à faire. Exemple pour les utilisateurs de Debian c'est :
# apt-get install nfs-common nfs-user-server
Pour les autres, téléchargez nfs-utils. Et dans une console, tapez :
$ tar xzf nfs-utils_xxx.tar.gz
$ cd nfs-utils_xxx
$ ./configure --prefix=/usr --enable-nfsv3
$ make
$ su
# make install
# exit
L'installation, à proprement parler, est terminée.
3. Utilisation :
Toutes les distributions à base de packages créeront certainement automatiquement les scripts nécessaires à l'utilisation de "NFS" lors de son installation, mais pour les autres (et pour les curieux), il vous faudra le faire manuellement. Les commandes qui suivent doivent être exécutées à chaque démarrage de votre machine; pensez donc à automatiser la tâche pour ne pas devoir vous en encombrer à chaque fois. En mettant, par exemple, les lignes correspondantes dans /etc/rc.d/rc.local.3.1 Client :
Si vous voulez utiliser le client NFS, la seule chose à faire pour vous est de lancer "portmap". Mais pour plus de sécurité il est très vivement conseillé d'y ajouter deux autres programmes. Cela se fait en étant ROOT par :
# /sbin/portmap
# /sbin/rpc.statd
# /sbin/rpc.lockd
pour vérifier que tout a bien été lancé, vous pouvez taper : # rpcinfo -p
3.2 Serveur :
Si vous voulez lancer le serveur NFS, cela va vous prendre seulement quelques secondes de plus, car il va falloir lancer les cinq programmes suivants en étant ROOT :
# /sbin/portmap
# /sbin/rpc.mountd
# /sbin/rpc.nfsd
# /sbin/rpc.statd
# /sbin/rpc.lockd
Pour vérifier que tout a bien été lancé, vous pouvez taper : # rpcinfo -p
4. Configuration:
Les programmeurs de "NFS" ont été gentils, car la configuration se résume à l'édition ultra-rapide de trois fichiers. En réalité seul /etc/exports est indispensable, mais à moins de vouloir faire de votre réseau une vraie passoir, il faut aussi éditer deux autres fichiers (dont l'intérêt est évident) : /etc/hosts.allow et /etc/hosts.deny. Munissez vous de votre éditeur de texte favoris et mettez ce qui suit dans les bons fichiers :4.1 Serveur :
-
/etc/exports : fichier contenant les répertoires à mettre en partage, avec comme arguments les machines qui y ont accès.
#exemple : répertoire_partage machine_autorisé_1(option11,option12) machine_autorisé_2(option21,option22) /usr/local 192.168.0.1(ro) 192.168.0.2(ro) /home 192.168.0.1(rw) 192.168.0.2(rw) -
/etc/hosts.allow : spécifie quelles machines sont autorisées.
#service: host [ou network/netmask] , host [ou network/netmask] portmap: 192.168.0.1 , 192.168.0.2 lockd: 192.168.0.1 , 192.168.0.2 rquotad: 192.168.0.1 , 192.168.0.2 mountd: 192.168.0.1 , 192.168.0.2 statd: 192.168.0.1 , 192.168.0.2 -
/etc/hosts.deny : spécifie quelles machines doivent être refusées d'accès.
#service: host [ou network/netmask] , host [ou network/netmask] portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALL
4.2 Client :
Pour monter un répertoire distant manuellement, tapez dans une console :
# mount ip_serveur:/répertoire/distant /repertoire/local
Pour que cela se fasse de manière automatique à chaque démarrage, il vous faut éditer(en ROOT) le fichier /etc/fstab en y rajoutant une ligne du type :
ip_serveur:/répertoire/distant /repertoire/local nfs rw 0 0remarque: si vous souhaitez utiliser NFS version3, vous devez vérifier (par 'mount -V') que votre version de 'mount' est >= 2.10m