Configuration du Routeur

NFS permet de partager des répertoires sur le réseau. Un partage NFS étant défini pour une plage d'IP ou une IP donnée. Dans ce tutoriel, nous associerons une IP avec un utilisateur du NAS. Cela pour permettre de donner les droits d'écriture au poste client tout en l'associant à un compte bien présent sur le NAS.

Un problème surgit rapidement : il faut pouvoir maîtriser les IP des postes clients. Cela se passe au niveau de votre routeur (Box Internet ou routeur tiers), dans les paramètres de votre réseau local : il vous faudra définir une IP fixe pour chacun de vos périphériques réseau devant utiliser NFS (une IP étant alors réservée pour une adresse mac). Attention : un ordinateur se connectant en Wifi et en Ethernet disposera de deux périphériques Réseaux, et devra donc se voir réserver deux adresses IP.

Configuration du NAS Synology

Activation de NFS

Il vous faut commencer par activer NFS sur votre NAS : cela peut se faire via DSM, dans le "Panneau de configuration", rubrique "Win/Mac/NFS" puis dans l'onglet "Service NFS" (ceci sur DSM 3.2).

Configuration du serveur NFS

Il convient alors de se connecter en SSH au NAS en utilisant un compte disposant des droits administrateur.

Vérifiez tout d'abord que le fichier /var/lib/nfs/rmtab existe. Si ce n'est pas le cas, créez le :

touch /var/lib/nfs/rmtab

Ensuite, éditez le fichier /etc/exports afin d'y insérer les différents répertoires que vous souhaitez partager en NFS :

vi /etc/exports

Pour chaque répertoire à partager, insérer une nouvelle ligne sur l'exemple suivant (Rappel : appuyez sur la touche "i" pour entrer en mode insertion dans vi) :

/volume1/Films          192.168.0.5/255.255.255.0(rw,all_squash,anonuid=1027,anongid=100,sync)

Cet exemple est le cas typique sur lequel porte cet article : on partage le dossiers "/volume1/Films" et on autorise l'IP "192.168.0.5/255.255.255.0" à y accéder selon les options spécifiées :

  • rw : droits de lire et d'écrire
  • all_squash : permet de mapper le client vers l'utilisateur anonyme (cette option semble nécessaire malgré qu'on l'écrase juste après)
  • anonuid : l'ID de l'utilisateur vers qui mapper le client
  • anongid : l'ID du groupe vers qui mapper le client
  • sync : utiliser le mode NFS synchrone (moins performant, mais plus sûr)

Astuce : pour obtenir l'uid et le gid d'un utilisateur, la commande "id nom_user" vous sera très utile. ;)

Pour les détails, vous pouvez voir ce lien.

Mes tests ont montrés qu'enlever l'option "all_squash" ne permettait plus au client d'écrire ...Allez savoir pourquoi. Le plus simple est donc de se baser sur le modèle donné ci-dessus.

Après avoir ajouté les partages que vous souhaitez faire, sauvegardez et quittez vi (rappel à toute fin utile : "Echap" puis ":" et tappez "wq" avant de valider avec la toucher "Entrée"). Il faut ensuite exporter les partages pour qu'ils soient pris en compte par NFS :

/usr/sbin/exportfs -a

Voilà, la configuration côté serveur est faite. Attaquons nous au client.

Configuration du client NFS

Comme précisé plus haut, le client exemple sera un Ubuntu Linux. Cependant, toute distribution Linux peut utiliser NFS et il suffit de trouver les paquets appropriés.

Installation des paquets nécessaires

Commencez par installer les différents paquets nécessaires : client NFS ainsi que autofs qui est un programme permettant de monter des partages NFS à la volée, et de les démonter s'ils ne sont pas sollicités (plus d'informations sur la page ubuntu-fr.org d'autofs) : cela est particulièrement pratique sur un ordinateur portable comme c'est mon cas.

sudo apt-get install nfs-common autofs

Volontairement, je ne traiterai pas de la configuration via fstab : ceux étant intéressés pourront trouver l’information ailleurs.

Configuration de Autofs

Commençons par éditer le fichier principal d'autofs pour lui indiquer le dossier racine qu'on utilisera pour monter les partages NFS :

sudo vi /etc/auto.master

Le contenu de ce fichier doit correspondre à l'exemple ci-dessous :

+auto.master
/home/seb/Synology      /etc/auto.nfs --ghost,--timeout=60

On indique :

  • /home/seb/Synology : le chemin vers le dossier de montage des partages NFS gérés par autofs
  • /etc/auto.nfs : le fichier dans lequel seront déclarés les partages NFS à monter
  • les options générales :
    • -ghost : option permettant de faciliter le montage en chargeant autofs de la création des points de montage
    • -timeout=60 : temps d'inactivité au bout duquel autofs démontera les systèmes de fichiers NFS

Il faut maintenant préciser les montages NFS dans le fichier qu'on a indiqué à autofs :

sudo vi /etc/auto.nfs

Saisissez ici une ligne par montage NFS désiré sur l'exemple suivant :

Films   -fstype=nfs,rw,intr     192.168.0.4:/volume1/Films

On y indique :

  • Films : le répertoire de montage du partage NFS (doit se trouver sous la racine indiquée dans le fichier auto.master vu juste avant)
  • les options :
    • -fstype=nfs : indique qu'il s'agit d'un partage NFS
    • rw : précise qu'on veut pouvoir lire et écrire (mais c'est le serveur qui a le dernier mot)
    • intr : option conseillée qui permet d'autoriser l'interruption des requêtes NFS (cas de panne serveur par exemple)

Ayé ! Après avoir indiqué tous les partage NFS à monter et sauvegardé le fichier auto.nfs, vous pouvez redémarrez le processus autofs pour qu'il prenne en compte les modifications :

sudo service autofs restart

Conclusion

Si tout a bien été configuré, vous devriez pouvoir accéder à votre NAS en utilisant Nautilus et en double-cliquant tout simplement sur le dossier racine de vos montages NFS : dès cette action, autofs montera automatiquement vos partages NFS s'ils ne le sont pas déjà et les démontera selon les options que vous aurez précisé.

Nautilus Synology NFS access

J'espère que j'ai été clair et que cet article vous aura aidé. N'hésitez pas à faire des remarques en commentaires. :bien:

Sources :