Configurer un serveur NFS4 et ses clients

Autheur Nicolas Repentin December 2, 2009 | Imprimer | Favoris
NFS s'est fait peau neuve. Les versions précédentes, avaient quelques lacunes. La version 1 et 2 ne géraient que l'UDP, la 3 rajoutait le TCP, mais ces trois versions posaient de gros problèmes de sécurité.
La version 4 a été entièrement réécrite. Plus rapide, plus sécurisée, et un poil plus compliquée à configurer :)

Côté Serveur


Contrairement à la version 3 où il suffisait simplement de donner le chemin vers le répertoire à partager, puis l'ip ou le réseau autorisé, ainsi que les options de partage, la version 4 a quelques petites particularités.

Il faut déclarer un partage racine ainsi que les partages réels. Prenons l'exemple d'un home que nous voudrions partager. Le partager directement depuis /home est une erreur de sécurité. Créons donc le répertoire /export, puis /export/mon_user, en root :

mkdir /export
mkdir /export/mon_user

Maintenant, nous allons créer un montage qui va permettre de monter le home de mon_user dans /export/mon_user :

Editez le fstab (
nano /etc/fstab) et ajoutez à la fin la ligne :

/home/mon_user    /export/mon_user    none    bind    0    0

Un petit mount -a et le montage rajouté s'effectue sans redémarrer la machine. Nous avons donc accès au home de mon_user sous /export/mon_user.

Maintenant, déclarons les partages :

nano /etc/exports

Sur la première ligne on déclare la racine /export :

/export        192.168.1.0/24(rw,fsid=0,no_subtree_check,sync)
/export/mon_user        192.168.1.0/24(rw,no_subtree_check,sync,nohide)

Sur la deuxième, on déclare le partage du home mon_user. C'est l'option fsid=0 qui permet de déclarer que /export est une racine. Le rw donne les droits lecture/écriture, le no_subtree_check, comme sa traduction demande de ne pas checker les sous-répertoires (gagner en rapidité). Le sync est important. Vous pouvez soit utiliser sync, soit async. Le async permet au poste de "tricher" sur le protocole NFS, afin d'aller plus vite, mais sous peine de perdre des données ou d'effectuer des erreurs d'écritures. Je ne vous le conseille pas, utilisez sync.

Pour les IP autorisées, plutôt que d'autoriser tout le réseau 192.168.1.0, vous auriez pu par exemple n'en autoriser qu'une, ou seulement certaines. On pourrait même autoriser la racine à une plage d'ip, mais n'autoriser que certains partages à certaines IP, par exemple :

/export        192.168.1.0/24(rw,fsid=0,no_subtree_check,sync)
/export/mon_user        192.168.1.2(rw,no_subtree_check,sync,nohide)

/export/mon_user2      192.168.1.3(rw,no_subtree_check,sync,nohide)

L'imagination fait le reste !

Une fois bien le fichier exports bien paramétré, c'est au tour de /etc/idmapd.conf. Vous devez donner votre domaine, le taux de verbosité, et l'utilisateur/groupe pour les montages. Je vous conseille de garder nobody/nogroup pour la sécurité.

[General]

Verbosity = 1
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = shivaserv.fr

[Mapping]

Nobody-User = nobody
Nobody-Group = nogroup

Une dernière modification de fichier, afin de donner un port spécifique à portmap si vous avez un parefeu sur votre serveur :

nano /etc/default/nfs-kernel-server

Et modifiez la ligne :

RPCMOUNTDOPTS="-p 33333"

Où 33333 est le port que vous souhaitez utiliser.

Ouvrons maintenant les ports nécessaires, sur ubuntu, le parefeu est ufw :

ufw allow 33333
ufw allow 111
ufw allow 2049

Un petit reboot du service :

/etc/init.d/nfs-kernel-server restart

Côté Client


Sur le poste client, c'est encore plus simple. Commencez par créer le point de montage du partage. Par exemple, créez un dossier dans /media.

mkdir /media/partage

Ensuite, une petite ligne dans le fstab :

nano /etc/fstab

A la fin rajoutez la ligne :

ip_serveur:/mon_user        /media/partage          nfs4      defaults        0         0

Chaque partie est séparée d'une tabulation (pas d'espaces).

Ensuite, un :

mount -a

ou un redémarrage du poste et votre partage est monté !


N'hésitez pas à donner votre avis, ou à poser vos questions via les commentaires.

Cet article vous a aidé ?

Oui Non

Categorie: Tutoriel GNU/Linux

Dernière mise à jour le December 7, 2009 with 208 views

0 Commentaires

Il n'y a pas encore de commentaires...Inscrivez le premier via le formulaire ci-dessous.

Laisser un commentaire