Serveur NFS · 6 min read · Dec 08, 2025

Configuration d'un serveur et d'un client NFS sur CentOS 7.2

Ce guide explique comment configurer un serveur NFS et un client NFS sur CentOS 7. 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. J’utiliserai un serveur minimal CentOS 7.2 comme base pour l’installation.

1 Remarque Préliminaire

J’utilise ici deux systèmes CentOS :

  • Serveur NFS : server.example.com, adresse IP : 192.168.1.100
  • Client NFS : client.example.com, adresse IP : 192.168.1.101

J’utiliserai l’éditeur nano dans ce tutoriel pour modifier les fichiers de configuration. Nano peut être installé comme ceci.

yum -y install nano

2 Configurer le Pare-feu

Je recommande d’avoir un pare-feu installé. Si vous n’avez pas encore installé firewalld et souhaitez utiliser un pare-feu, installez-le avec ces commandes :

yum -y install firewalld

démarrez le pare-feu et activez-le pour qu’il se lance au démarrage.

systemctl start firewalld.service  
systemctl enable firewalld.service

Ensuite, ouvrez les ports SSH et NFS pour vous assurer que vous pourrez vous connecter au serveur par SSH à des fins d’administration et par NFS depuis notre client NFS.

firewall-cmd --permanent --zone=public --add-service=ssh  
firewall-cmd --permanent --zone=public --add-service=nfs  
firewall-cmd --reload

3 Installation de NFS

serveur :

Sur le serveur NFS, nous exécutons :

yum -y install nfs-utils

Ensuite, activez et démarrez le service du serveur nfs.

systemctl enable nfs-server.service  
systemctl start nfs-server.service

client :

Sur le client, nous pouvons installer NFS comme suit (c’est en fait la même chose que sur le serveur) :

yum install nfs-utils

4 Exportation des Répertoires sur le Serveur

serveur :

Je voudrais rendre les répertoires /home et /var/nfs accessibles au client ; par conséquent, nous devons les “exporter” sur le serveur.

Lorsqu’un client accède à un partage NFS, cela se fait normalement en tant qu’utilisateur nfsnobody. En général, le répertoire /home n’est pas possédé par nfsnobody (et je ne recommande pas de changer sa propriété à nfsnobody !), et parce que nous voulons lire et écrire sur /home, nous disons à NFS que les accès doivent être effectués en tant que root (si notre partage /home était en lecture seule, cela ne serait pas nécessaire). Le répertoire /var/nfs n’existe pas, donc nous pouvons le créer et changer sa propriété à l’utilisateur et au groupe nfsnobody.

mkdir /var/nfs  
chown nfsnobody:nfsnobody /var/nfs  
chmod 755 /var/nfs

Maintenant, nous devons modifier /etc/exports où nous “exportons” nos partages NFS. Nous spécifions /home et /var/nfs comme partages NFS et disons à NFS de faire des accès à /home en tant que root (pour en savoir plus sur /etc/exports, son format et les options disponibles, jetez un œil à

man 5 exports

)

nano /etc/exports
/home           192.168.1.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.1.101(rw,sync,no_subtree_check)

(L’option no_root_squash fait que /home sera accessible en tant que root.)

Chaque fois que nous modifions /etc/exports, nous devons exécuter :

exportfs -a

ensuite, pour rendre les changements effectifs.

5 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  
mkdir -p /mnt/nfs/var/nfs

Ensuite, nous pouvons les monter comme suit :

mount 192.168.1.100:/home /mnt/nfs/home  
mount 192.168.1.100:/var/nfs /mnt/nfs/var/nfs

Vous 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/centos-root 28G 1.7G 26G 7% /  
devtmpfs 909M 0 909M 0% /dev  
tmpfs 919M 0 919M 0% /dev/shm  
tmpfs 919M 8.6M 910M 1% /run  
tmpfs 919M 0 919M 0% /sys/fs/cgroup  
/dev/sda1 497M 208M 290M 42% /boot  
tmpfs 184M 0 184M 0% /run/user/0  
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home  
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

et

mount
[root@client ~]# mount  
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)  
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)  
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)  
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)  
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)  
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)  
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)  
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)  
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)  
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)  
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)  
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)  
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)  
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)  
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)  
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)  
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)  
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)  
configfs on /sys/kernel/config type configfs (rw,relatime)  
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)  
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)  
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)  
debugfs on /sys/kernel/debug type debugfs (rw,relatime)  
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)  
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)  
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)  
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)  
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

6 Test

Sur le client, vous pouvez maintenant essayer de créer des fichiers de test sur les partages NFS :

client :

touch /mnt/nfs/home/test.txt  
touch /mnt/nfs/var/nfs/test.txt

Maintenant, allez sur le serveur et vérifiez si vous pouvez voir les deux fichiers de test :

serveur :

ls -l /home/
[root@server1 ~]# ls -l /home/  
total 0  
drwx------. 2 administrator administrator 59 Jun 21 16:13 administrator  
-rw-r--r--. 1 root root 0 Jun 29 13:07 test.txt
ls -l /var/nfs
[root@server1 ~]# ls -l /var/nfs  
total 0  
-rw-r--r--. 1 nfsnobody nfsnobody 0 Jun 29 13:07 test.txt

(Veuillez noter les différentes propriétés des fichiers de test : le partage NFS /home est accessible en tant que root, donc /home/test.txt est possédé par root ; le partage /var/nfs est accessible en tant que nobody/65534, donc /var/nfs/test.txt est possédé par 65534.)

7 Montage des Partages NFS au Démarrage

Au lieu de monter manuellement les partages NFS sur le client, vous pourriez modifier /etc/fstab afin que les partages NFS soient montés automatiquement lorsque le client démarre.

client :

Ouvrez /etc/fstab et ajoutez les lignes suivantes :

nano /etc/fstab
[...]  
192.168.1.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0  
192.168.1.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

Au 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 nfs

Pour tester si votre /etc/fstab modifié fonctionne, redémarrez le client :

reboot

Après le redémarrage, vous devriez trouver les deux partages NFS dans les sorties de

df -h
[root@client ~]# df -h  
Filesystem Size Used Avail Use% Mounted on  
/dev/mapper/centos-root 28G 1.7G 26G 7% /  
devtmpfs 909M 0 909M 0% /dev  
tmpfs 919M 0 919M 0% /dev/shm  
tmpfs 919M 8.6M 910M 1% /run  
tmpfs 919M 0 919M 0% /sys/fs/cgroup  
/dev/sda1 497M 208M 290M 42% /boot  
tmpfs 184M 0 184M 0% /run/user/0  
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home  
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

et

mount
[root@client ~]# mount  
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)  
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)  
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)  
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)  
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)  
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)  
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)  
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)  
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)  
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)  
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)  
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)  
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)  
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)  
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)  
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)  
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)  
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)  
configfs on /sys/kernel/config type configfs (rw,relatime)  
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)  
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)  
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)  
debugfs on /sys/kernel/debug type debugfs (rw,relatime)  
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)  
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)  
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)  
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)  
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

8 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.