NFSv4 Clients Config
[Test] RHEL 5.3
français | english
Navigation
Home
Sitemap
This wiki
This page

NFSv4 - RHEL 5.3

Ce document décrit comment configurer un client RHEL pour faire du NFSv4 avec authentification Kerberos sur un NAS et un Active Directory de test. Les éléments de l'infrastructure de tests sont les suivants :
 

Elément
Nom IP
Adresse IP
Domain controler ad-nfsv4.sds.ch 128.178.109.188
Serveur NFSv4 nastest3p.sds.ch 128.178.102.4

La configuration fournie ci-dessous est fonctionnelle mais peut-être pas optimale.


Date et heure :
Contrôler que la date et l'heure soient corrects et redémarrer la machine si nécessaire.


Création des utilisateurs :
L'idéal (mais ce n'est pas obligatoire) est d'avoir, sur la machine client, des utilisateurs portant les mêmes noms que ceux qui sont dans AD et qui seront utilisés pour accéder aux données. Dans notre infrastructure de test, 2 utilisateurs ont été crées dans SDS.CH :

Utilisateur
Mot de passe
user1 P4ssw0rd
user2 P4ssw0rd


Installation des packages nécessaires à NFSv4 :

Pour pouvoir faire du NFSv4, certains packages sont nécessaire, ceux-ci sont les suivants :
- nfs-utils
- portmap
- krb5-libs
- krb5-workstation
- krb5-auth-dialog
- pam_krb5
- libgssapi


Configuration DNS :

Pour que cela fonctionne, il faut faire en sorte d'interroger le DNS de l'Active Directory de test. Le fichier /etc/resolv.conf doit donc avoir le contenu suivant.
/etc/resolv.conf

search sds.ch
nameserver 128.178.109.188

En plus de /etc/resolv.conf, il y a également le fichier /etc/sysconfig/networking/devices/ifcfg-eth0 à modifier.
/etc/sysconfig/networking/devices/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
BROADCAST=128.178.109.255
HWADDR=00:50:56:88:49:97
IPADDR=128.178.109.189
NETMASK=255.255.255.0
NETWORK=128.178.109.0
ONBOOT=yes
DNS1=128.178.109.188
SEARCH="sds.ch"
NM_CONTROLLED=yes
GATEWAY=128.178.109.1
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=no


Configuration de /etc/hosts :
Il faut ajouter une ligne dans le fichier pour faire en sorte d'associer l'IP du serveur NFSv4 avec son nom IP dans le domaine SDS.CH et nom dans EPFL.CH
/etc/hosts (remplacer <client> par le nom de votre client et <yourClientIP> par l'IP)

# Do not remove the following line, or various programs
# that require network functionality will fail.
<yourClientIP>          <client>.sds.ch <client>
127.0.0.1               localhost.localdomain localhost
128.178.102.4           nastest3p.sds.ch nastest3p 


Configuration Kerberos :
C'est ici que l'on va dire quel est le domaine dans lequel on va travailler et quels sont les DC à contacter.
/etc/krb5.conf

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = SDS.CH
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 forwardable = yes
 default_keytab_name = FILE:/etc/krb5.keytab
 default_tkt_enctypes = des-cbc-crc
 default_tgs_enctypes = des-cbc-crc
 permitted_enctypes = des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc arcfour-hmac-exp

[realms]
 SDS.CH = {
  kdc = ad-nfsv4.sds.ch:88
  admin_server = ad-nfsv4.sds.ch:749
  default_domain = sds.ch
 }

[domain_realm]
 .sds.ch = SDS.CH
 sds.ch = SDS.CH

[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

 

Configuration de Samba :
Editer le fichier de configuration /etc/samba/smb.conf et modifier les lignes suivantes :

security = ADS
realm = SDS.CH
workgroup = SDS

 

Configuration NFS :
Vu que l'on veut faire du NFSv4 avec Kerberos, il faut le dire au système. Pour ce faire, il faut éditer le fichier /etc/sysconfig/nfs et modifier les lignes suivantes :

# Set to turn on Secure NFS mounts.
SECURE_NFS="yes"

 

Démarrage du deamon pour la sécurité :

/etc/init.d/rpcgssd start
Starting RPC gssd:                                         [  OK  ]


Importer le keytab sur la machine cliente :
Le keytab a importer peut être trouvé ici : nfs4.keytab
Pour l'importer, suivre les opérations suivantes.

- Mettre le fichier nfsv4.keytab dans /etc

# mv nfs4.keytab /etc

- Aller dans le dossier /etc

# cd /etc

- Supprimer le fichier /etc/krb5.keytab s'il existe

# rm /etc/krb5.keytab

- Lancer l'utilitaire d'importation

# ktutil

- Lire le fichier nfsv4.keytab

> rkt nfsv4.keytab

- Lister le contenu du fichier

> l
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    3                     nfs/nfsv4-user@SDS.CH

- Ecrire le fichier krb5.keytab et quitter

> wkt krb5.keytab
> q


Créer le point de montage dans /mnt :

mkdir /mnt/ns704g


Modification du fichier /etc/fstab pour effectuer le montage de l'export :
Ajouter la ligne suivante au fichier.

nastest3p:/fs-nfsv4/data/  /mnt/ns704g        nfs4    user,proto=tcp,sec=krb5,acl,port=2049,rw    0 0


Mount de l'export :

# mount /mnt/ns704g

Changer d'utilisateur (user1) et récupération du ticket Kerberos :

# su user1
# kinit user1@SDS.CH
Password for user1@SDS.CH:
#

 

Accéder au mount et lister le contenu :

# cd /mnt/ns704g
# ls -alh
total 20K
drwxrwxrwx 2 nobody nogroup 1.0K 2009-04-28 13:11 .
drwxr-xr-x 3 root   root    4.0K 2009-03-20 14:33 ..
-rw-r--r-- 1 nobody nogroup 3.3K 2009-04-22 08:55 tmpuser1
-rw-r--rw- 1 nobody nogroup    0 2009-04-21 17:01 user1

 


Gestion des permissions

Si vous désirez pouvoir gérer les permissions sur les fichiers, il faudra installer un package supplémentaire, nfs4-acl-tools. Ce package vous permettra d'obtenir les programmes nfs4_getfacl et nfs4_setfacl. Pour savoir comment ceux-ci fonctionnent, utilisez la commande man.
 

Search
Share