Serveur NFS · 5 min read · Dec 26, 2025

Configuration d'un serveur et d'un client NFS sur Debian Lenny

Configuration d’un serveur et d’un client NFS sur Debian Lenny

Version 1.0
Auteur : Falko Timme

Ce guide explique comment configurer un serveur NFS et un client NFS sur Debian Lenny. 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.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J’utilise ici deux systèmes Debian :

  • 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-common portmap

client :

Sur le client, nous pouvons installer NFS comme suit :

apt-get install nfs-common portmap

3 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 nobody. En général, le répertoire /home n’est pas possédé par nobody (et je ne recommande pas de changer sa propriété à nobody !), et comme 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é à nobody et nogroup :

mkdir /var/nfs  
chown nobody:nogroup /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

)

vi /etc/exports

| # /etc/exports : la liste de contrôle d'accès pour les systèmes de fichiers qui peuvent être exportés # aux clients NFS. Voir exports(5). # # Exemple pour NFSv2 et NFSv3 : # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Exemple pour NFSv4 : # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.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.

4 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.0.100:/home /mnt/nfs/home  
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

Vous devriez maintenant voir les deux partages NFS dans les sorties de

df -h
client:~# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg0-root   19G  676M   17G   4% /  
tmpfs                 253M     0  253M   0% /lib/init/rw  
udev                   10M   80K   10M   1% /dev  
tmpfs                 253M     0  253M   0% /dev/shm  
/dev/sda1             471M   20M  427M   5% /boot  
192.168.0.100:/home    29G  684M   27G   3% /mnt/nfs/home  
192.168.0.100:/var/nfs  
                       29G  684M   27G   3% /mnt/nfs/var/nfs  
client:~#

et

mount
client:~# mount  
/dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)  
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)  
proc on /proc type proc (rw,noexec,nosuid,nodev)  
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)  
udev on /dev type tmpfs (rw,mode=0755)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)  
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)  
/dev/sda1 on /boot type ext3 (rw)  
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,addr=192.168.0.100)  
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,addr=192.168.0.100)  
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/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/
server:~# ls -l /home/  
total 4  
drwxr-xr-x 2 administrator administrator 4096 2009-02-16 13:18 administrator  
-rw-r--r-- 1 root          root              0 2009-03-12 17:08 test.txt  
server:~#
ls -l /var/nfs
server:~# ls -l /var/nfs  
total 0  
-rw-r--r-- 1 nobody nogroup 0 2009-03-12 17:08 test.txt  
server:~#

(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, donc /var/nfs/test.txt est possédé par nobody.)

6 Montage des partages NFS au démarrage

Au lieu de monter les partages NFS manuellement 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 :

vi /etc/fstab

| [...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.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
client:~# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg0-root   19G  676M   17G   4% /  
tmpfs                 253M     0  253M   0% /lib/init/rw  
udev                   10M   80K   10M   1% /dev  
tmpfs                 253M     0  253M   0% /dev/shm  
/dev/sda1             471M   20M  427M   5% /boot  
192.168.0.100:/home    29G  684M   27G   3% /mnt/nfs/home  
192.168.0.100:/var/nfs  
                       29G  684M   27G   3% /mnt/nfs/var/nfs  
client:~#

et

mount
client:~# mount  
/dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)  
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)  
proc on /proc type proc (rw,noexec,nosuid,nodev)  
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)  
udev on /dev type tmpfs (rw,mode=0755)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)  
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)  
/dev/sda1 on /boot type ext3 (rw)  
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,addr=192.168.0.100)  
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,addr=192.168.0.100)  
client:~#

7 Liens

Share: X/Twitter LinkedIn

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

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