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 portmapclient :
Sur le client, nous pouvons installer NFS comme suit :
apt-get install nfs-common portmap3 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/nfsMaintenant, 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 -aensuite 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/nfsEnsuite, 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/nfsVous devriez maintenant voir les deux partages NFS dans les sorties de
df -hclient:~# 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
mountclient:~# 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.txtMaintenant, 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/nfsserver:~# 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 nfsPour tester si votre /etc/fstab modifié fonctionne, redémarrez le client :
rebootAprès le redémarrage, vous devriez trouver les deux partages NFS dans les sorties de
df -hclient:~# 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
mountclient:~# 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
- 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.