Nfsv4 configuration fr
From Linux NFS
(→Configuration de NFSv4) |
|||
Line 6: | Line 6: | ||
==Configuration de NFSv4== | ==Configuration de NFSv4== | ||
- | On supposera que vous utilisez un noyau suffisament moderne (2.6.7 ou plus récent), ainsi que les utilitaires NFS qui sont adaptés. Si | + | On supposera que vous utilisez un noyau suffisament moderne (2.6.7 ou plus récent), ainsi que les utilitaires NFS qui sont adaptés. Si ce n'est pas le cas, veuillez [http://www.citi.umich.edu/projects/nfsv4/linux/ mettre à jour] votre configuration. |
Ces étapes ne sont à faire qu'une fois. Elle sont ''généralement faites'' par les distributions récentes incluant NFSv4. Si votre distribution fournie déjà NFSv4, vous pouvez [[#Utilisation de NFSv4|ignorer]] cette section. | Ces étapes ne sont à faire qu'une fois. Elle sont ''généralement faites'' par les distributions récentes incluant NFSv4. Si votre distribution fournie déjà NFSv4, vous pouvez [[#Utilisation de NFSv4|ignorer]] cette section. |
Revision as of 15:40, 16 June 2005
D'après la documentation du CITI.
Contents |
Configuration de NFSv4
Configuration de NFSv4
On supposera que vous utilisez un noyau suffisament moderne (2.6.7 ou plus récent), ainsi que les utilitaires NFS qui sont adaptés. Si ce n'est pas le cas, veuillez mettre à jour votre configuration.
Ces étapes ne sont à faire qu'une fois. Elle sont généralement faites par les distributions récentes incluant NFSv4. Si votre distribution fournie déjà NFSv4, vous pouvez ignorer cette section.
Ajouter les lignes suivantes à /etc/fstab pour monter les rpc_pipefs et nfsd automatiquement
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0 nfsd /proc/fs/nfsd nfsd defaults 0 0
Créer un point de montage pour rpc_pipefs:
mkdir /var/lib/nfs/rpc_pipefs
Modifier la ligne de fstab pour le répertoire que vous comptez exporter pour ajouter les options acl et user_xattr aux options de montage. Créer un répertoire d'export sur le serveur.
mkdir /export chmod a+rwxt /export
Les étapes suivantes doivent être faite à chaque démarage, elle doivent être faitre par des scripts. Ces scripts sont disponibles pour de nombreuses distributions récentes telles que Fedora ou Debian.
Sur le serveur lancer dans l'ordre :
rpc.mountd rpc.idmapd rpc.svcgssd rpc.nfsd 8
Sur le client, lancer dans l'ordre :
rpc.gssd -m rpc.idmapd
Utilisation de NFSv4
Si vous utilisez une distribution récente, la totalité des opérations précédantes ont déjà été réalisées pour vous. Assurez vous que le service NFS est démaré. Regardez éventuellement la partie sur la configuration Kerberos si vous devez l'utiliser. Sinon, vous pouvez commencer par ici.
Sur le serveur, exportez votre répertoire exportation (/export, par exemple). Dans cet exemple, l'exportation se fait à tous, en utilisant chaque type d'authentification.
exportfs -orw,fsid=0,rw,insecure,no_subtree_check *:/export exportfs -orw,fsid=0,rw,insecure,no_subtree_check gss/krb5:/export exportfs -orw,fsid=0,rw,insecure,no_subtree_check gss/krb5i:/export exportfs -orw,fsid=0,rw,insecure,no_subtree_check gss/krb5p:/export
(Vous pouvez probablement faire un mettre 4 lignes dans votre /etc/exports qui correspondent à ces export)
Pour accéder à ces fichiers depuis le client :
Créer un point demontage, par exemple :
mkdir /mnt/nfs4/
Et montez le serveur :
mount -tnfs4 yourserver:/ /mnt/nfs4/
.. ou montez le avec l'authentification kerberos :
mount -tnfs4 -osec=krb5 yourserver:/ /mnt/nfs4/
(Faites attention au / et non /export ) Et maintenant amusez vous bien avec ce système de fichiers ;)
Notes
Exporter et monter les répertoires peut être auomatisé en utilisant les fichiers /etc/fstab (client) et /etc/exports (serveur). Voir les pages man 5 fstab et man 5 exports. Attention, les comportements de exports pour NFS en version 3 et 4 sont assez différents. Voici quelques explications sur ces différences :
NFSv4 n'a plus de protocole mount séparé. A la place de faire différents exports, le client NFSv4 voit l'ensemble des répertoires exportés par le serveur dnas le même système de fichier, appellé pseudofilesystem.
Sur l'implémentation actuelle de linux, le pseudofilesystem et un unique système de fichier réel, identifié lors de l'exportation par l'option fsid=0.
Dans les exemples ci-dessu, nous avons exporté un seul système de fichier que le client a monté comme /. Nous pouvons fournir au client plusieurs systèmes de fichiers différents à monter en simulant le comportement de NFSv3, par exemple en utilisant mount --bind. Par exemple vous pouvez exporter aux clients /usr/local/bin en tant que /bin, /usr/local/etc/ comme /etc... en suivant cet exemple :
mkdir /exports mkdir /exports/bin mkdir /exports/etc mount --bind /usr/local/bin /exports/bin mount --bind /usr/local/etc /exports/etc exportfs -ofsid=0,insecure,no_subtree_check *:/export exportfs -orw,nohide,insecure,no_subtree_check *:/exports/bin exportfs -orw,nohide,insecure,no_subtree_check *:/exports/etc
Notez également que les paths retournés par le programme showmount n'ont de sens que pour les clients utilisant nfs 2 et 3. Dans les exemples ci-dessus, showmount listera les répertoires /export,/export/bin/, et /exports/etc, mais les clients NFSv4 devront monter:
mount yourserver:/ mount yourserver:/bin mount yourserver:/etc
Pour monter un système de fichier utilisant krb5, utilisez l'option mount -osec=krb5. Pour exporter un système de fichier utilisant krb5, il faut l'exporter vers un client spécial nomé gss/krb5. Remplacez krb5 par krb5i ou krb5p pour utiliser les fonctions kerberos associées (integrity et privacy) L'option -osec= devrait marcher pour NFSv3.
Configuration de Kerberos 5 pour NFSv4
Ceci n'est nécessaire que si vous voulez utiliser Kerberos 5 (krb5) avec NFSv4. (Ce qui est une bonne idée.)
- On suppose que vous avez KDC Kerberos installé quelque part et que vous avez configuré kerberos sur le client et le serveur.
- Créer un ticket sur le client et le serveur. Celà veut dire que vous créez un nom Kerberos 5 principal/instance à partir de la forme nfs/machine@ROYAUME, et qu'ensuite vous ajoutez une clef pour ce nom principal aux clef existantes dans /etc/krb5.keytab, ou que vous créez un fichier /etc/krb5.keytab.
Note: seule l'encryption de type des-cbc-crc est fonctionnelle dans le noyau, donc ne sélectionnez que ce type de cryptographie
kadmin: addprinc -randkey nfs/myclient.mydomain kadmin: ktadd -e des-cbc-crc:normal -k /tmp/keytab nfs/myclient.mydomain
- Maintenant copiez /tmp/keytab dans /etc/krb5.keytab dans le client
- Répétez l'opération pour le serveur.
Deux notes sur Kerberos:
- les heures de vos machines doivent être correctes, et indiquer la même heure. Utiliser ntp pour être sûr que c'est le cas.
- Le fichier /etc/hosts doit lister tous domaines complets avec tous les attributs, c'est à dire que le fichier doit avoir une IP, puis le nommachine.nom.de.domaine.fr. Le nom de la machine ne doit pas apparaître dans la ligne localhost