NFS Configuration · 5 min read · Dec 26, 2025
Configuration d'un serveur et d'un client NFS sur Debian Wheezy
Ce guide explique comment configurer un serveur NFS et un client NFS sur Debian Wheezy. NFS signifie Network File System ; grâce à NFS, un client peut accéder (lire, écrire) à un partage distant sur un serveur NFS comme s’il était sur le disque dur local. Dans ce tutoriel, je vais vous montrer deux exportations NFS différentes, l’exportation d’un répertoire client qui stocke des fichiers en tant qu’utilisateur nobody/nogroup sans préserver les permissions du système de fichiers et une exportation du répertoire /var/www qui préserve les permissions et la propriété des fichiers, comme requis dans une configuration de serveur d’hébergement.
1 Remarque préliminaire
J’utilise ici deux systèmes Debian Wheezy :
- Serveur NFS : server.example.com, adresse IP : 192.168.0.100
- Client NFS : client.example.com, adresse IP : 192.168.0.101
2 Installation de NFS
serveur :
Sur le serveur NFS, nous exécutons :
apt-get install nfs-kernel-server nfs-commonEnsuite, nous créons les liens de démarrage du système pour le serveur NFS et le démarrons :
client :
Sur le client, nous pouvons installer NFS comme suit (c’est en fait le même que sur le serveur) :
apt-get install nfs-common3 Exportation de répertoires sur le serveur
serveur :
Je voudrais rendre les répertoires /home/client1 et /var/www accessibles au client pour montrer les deux modes d’accès différents du serveur NFS. Le répertoire /home/client1 est partagé en mode standard, donc tous les fichiers écrits dans ce répertoire sont stockés en tant qu’utilisateur nobody et groupe nogroup. Pour le répertoire /var/www, j’utilise l’option no_root_squash qui demande au serveur NFS de préserver les permissions et la propriété des fichiers. Ceci est par exemple requis lorsque vous souhaitez exporter le répertoire /var/www d’un serveur web géré avec ISPConfig 3.
Tout d’abord, je vais créer le répertoire /home/client1
mkdir /home/client1
chown nobody:nogroup /home/client1
chmod 755 /home/client1Le répertoire /var/www existe probablement déjà sur votre serveur. Si ce n’est pas le cas, créez-le :
mkdir /var/www
chown root:root /var/www
chmod 755 /var/wwwMaintenant, nous devons modifier /etc/exports où nous “exportons” nos partages NFS. Nous spécifions /home/client1 et /var/www comme partages NFS et disons à NFS de faire des accès à /home/client1 en tant qu’utilisateur nobody (pour en savoir plus sur /etc/exports, son format et les options disponibles, jetez un œil à
man 5 exports)
vi /etc/exports/home/client1 192.168.0.101(rw,sync,no_subtree_check)
/var/www 192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)(L’option no_root_squash fait que /var/www sera accessible en tant que root.)
Pour appliquer les modifications dans /etc/exports, nous redémarrons le serveur NFS du noyau
/etc/init.d/nfs-kernel-server restart4 Montage des partages NFS sur le client
client :
Tout d’abord, nous créons les répertoires où nous voulons monter les partages NFS, par exemple :
mkdir -p /mnt/nfs/home/client1
mkdir -p /var/wwwSi le répertoire /var/www existe déjà sur votre serveur, alors arrêtez apache, renommez le répertoire et créez un nouveau répertoire vide comme point de montage
/etc/init.d/apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/wwwEnsuite, nous pouvons les monter comme suit :
mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
mount 192.168.0.100:/var/www /var/wwwVous devriez maintenant voir les deux partages NFS dans les sorties de
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#et
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#5 Test
Sur le client, vous pouvez maintenant essayer de créer des fichiers de test sur les partages NFS :
client :
touch /mnt/nfs/home/client1/test.txt
touch /var/www/test.txtMaintenant, allez sur le serveur et vérifiez si vous pouvez voir les deux fichiers de test :
serveur :
ls -l /home/client1/[root@server ~]# ls -l /home/client1
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[root@server ~]#ls -l /var/nfs[root@server ~]# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[root@server ~]#(Veuillez noter les différentes propriétés des fichiers de test : le partage NFS /home/client1 est accessible en tant que nobody / nogroup et est possédé par nobody / nogroup ; le partage /var/www est accessible en tant que root, donc /var/www/test.txt est possédé par l’utilisateur et le groupe root.)
6 Montage des partages NFS au démarrage
Au lieu de monter les partages NFS manuellement sur le client, vous pourriez modifier /etc/fstab pour que les partages NFS soient montés automatiquement lorsque le client démarre.
client :
Ouvrez /etc/fstab et ajoutez les lignes suivantes :
vi /etc/fstab[...]
192.168.0.100:/home/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0
192.168.0.100:/var/www /var/www nfs rw,sync,hard,intr 0 0Au lieu de rw,sync,hard,intr, vous pouvez utiliser différentes options de montage. Pour en savoir plus sur les options disponibles, jetez un œil à
man nfsPour tester si votre /etc/fstab modifié fonctionne, démontez les partages et exécutez mount -a :
umount /mnt/nfs/home/client1
umount /var/www
mount -aVous devriez maintenant voir les deux partages NFS dans les sorties de
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#et
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#7 Crédits
Ce tutoriel est basé sur le tutoriel de serveur NFS Centos de Falko Timme.
8 Liens
- Linux NFS : http://nfs.sourceforge.net/
- Debian : http://www.debian.org/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.