Debian / Ubuntu - Installer et configurer un serveur et un client NFS

Page 1 / 1

Sous Linux, il est possible de partager des dossiers en utilisant le protocole NFS. Ce protocole est aussi utilisé par des NAS ainsi que des systèmes basés sur Linux (comme VMware ESXi et Citrix XenServer).

Voici la configuration réseau que nous avons utilisée pour ce tutoriel :

  • IP du serveur NFS : 10.0.0.102
  • IP du client NFS : 10.0.0.101
  1. Installer un serveur NFS
  2. Installer un client NFS
  3. Facultatif : Mapper un partage FTP pour les clients non Linux

1. Installer un serveur NFS

Pour installer un serveur NFS sous Linux, tapez la commande suivante :

Bash

apt-get install nfs-kernel-server nfs-common

A la fin de l'installation, un avertissement s'affichera.
Note : Ceci est normal, car nous n'avons pas encore configuré les dossiers à "exporter" (partager).

Plain Text

[warn] Not starting NFS kernel daemon: no exports. ... (warning)

Pour commencer, créez un dossier dans "/var" et donnez tous les droits pour l'utilisateur root. Les autres auront uniquement les droits de lectures et d'accès.

Bash

mkdir /var/shared-data
chown root:root /var/shared-data
chmod 755 /var/shared-data

Pour partager ce dossier, indiquez une de ces 4 possibilités dans le fichier "/etc/exports" :

Plain Text

# Dossier partagé en lecture et écriture et accessible uniquement depuis l'adresse IP : 10.0.0.101
/var/shared-data        10.0.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)

Plain Text

# Dossier partagé en lecture seule et accessible uniquement depuis l'adresse IP : 10.0.0.101
/var/shared-data        10.0.0.101(ro,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)

Plain Text

# Dossier partagé en lecture et écriture et accessible par le réseau 10.0.0.0/255.0.0.0
/var/shared-data        10.0.0.0/255.0.0.0(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)

Plain Text

# Dossier partagé en lecture seul et accessible par tout le monde
/var/a-public-folder *(ro,insecure,all_squash)

Pour plus d'informations sur les options que vous pouvez utiliser, consultez la documentation d'Ubuntu : déclaration de l'Export NFS

Pour finir, redémarrez le serveur NFS.

Bash

service nfs-kernel-server restart

 

2. Installer un client NFS

Avertissement :
L'utilisation de cette procédure sous Ubuntu (version 12.04 LTS uniquement) provoque l'affichage du message "mountall disconnected from plymouth".
Si vous utilisez la version 14.04, cette procédure fonctionnera correctement.

Pour commencer, installez le client NFS pour Linux.

Bash

apt-get install nfs-common

Ensuite, créez un dossier pour le point de montage :

Bash

mkdir -p /mnt/nfs/var/shared-data

Montez le partage NFS sur le dossier que vous venez de créer.

Bash

mount 10.0.0.102:/var/shared-data /mnt/nfs/var/shared-data

Listez les systèmes de fichiers disponibles sur le client.

Bash

df -h

Cette commande affichera quelque chose comme ceci.
Note : A la dernière ligne, vous trouverez le point de montage du dossier partagé.

Plain Text

Sys. fich.                                             Taille Util. Dispo Uti% Monté sur
rootfs                                                    19G  3,7G   15G  21% /
udev                                                      10M     0   10M   0% /dev
tmpfs                                                    405M  644K  405M   1% /run
/dev/disk/by-uuid/7504b371-b24c-42a7-aa56-1d651899eecd    19G  3,7G   15G  21% /
tmpfs                                                    5,0M     0  5,0M   0% /run/lock
tmpfs                                                    986M  372K  986M   1% /run/shm
10.0.0.102:/var/shared-data                               15G  3,4G   11G  25% /mnt/nfs/var/shared-data

Tentez de créer un fichier dans le dossier "/mnt/nfs/var/shared-data" (le dossier partagé).

Bash

touch /mnt/nfs/var/shared-data/fichier.txt

Ensuite, sur le serveur, listez le contenu du dossier "/var/shared-data/".
Si tout se passe bien, un fichier "fichier.txt" est présent dans ce dossier.

Bash

ls -l /var/shared-data/

Attention, si vous redémarrez l'ordinateur client, le point de montage disparaitra.
Pour monter le dossier au démarrage de l'ordinateur, modifiez le fichier "/etc/fstab" en ajoutant ceci :

Plain Text

10.0.0.102:/var/shared-data  /mnt/nfs/var/shared-data   nfs      rw,sync,hard,intr  0     0

Pour tester cette configuration, démontez le point de montage actuel.

Bash

umount /mnt/nfs/var/shared-data

Pour tester la configuration du fichier "/etc/fstab" sans devoir redémarrer la machine linux, utilisez cette commande :

Bash

mount -a

Si tout se passe bien, le dossier "/mnt/nfs/var/shared-data" contiendra le fichier créé tout à l'heure.

Bash

ls -l /mnt/nfs/var/shared-data  

Et le point de montage sera affiché par la commande "df -h" :

Bash

df -h

 

3. Facultatif : Mapper un partage FTP pour les clients non linux

Etant donné que Windows ne permet pas nativement de se connecter à un serveur NFS, nous allons utiliser
le protocole FTP pour accéder au dossier partagé par le serveur NFS.

Pour cela, installez ProFTPD en suivant ce tutoriel : Debian / Ubuntu - Installer un serveur FTP
Une fois installé et configuré, créez un utilisateur en indiquant le dossier souhaité comme dossier home.
Ainsi, lorsque vous vous connecterez en utilisant cet utilisateur, vous accéderez au dossier souhaité.

Bash

useradd --home /var/shared-data my_ftp_user

Spécifiez un mot de passe pour cet utilisateur.

Bash

passwd my_ftp_user

Et définissez cet utilisateur comme le propriétaire de ce dossier.

Bash

chown -R my_ftp_user:my_ftp_user /var/shared-data

Pour vérifiez les droits de ce dossier, utilisez la commande suivante :

Bash

ls -l /var/shared-data

Voilà, vous pouvez accéder à ce dossier depuis n'importe quel OS en utilisant un simple client FTP.