informatique:linux:cfp:nfs-network-file-system:index

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
informatique:linux:cfp:nfs-network-file-system:index [2023/02/09 20:10] – ↷ Page déplacée de informatique:linux:nfs-network-file-system:index à informatique:linux:cfp:nfs-network-file-system:index Cédric ABONNELinformatique:linux:cfp:nfs-network-file-system:index [2023/02/09 20:10] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. Cédric ABONNEL
Ligne 1: Ligne 1:
 +====== - Partage réseau sous Linux : NFS ======
 +
 +{{ informatique:linux:cfp:nfs-network-file-system:pasted:20210131-231703.png?75x75|Network File System est le système de fichiers pour réseau Linux.}}
 +
 +NFS est un système de partage de fichiers, respectant les protocoles d'accès aux fichiers Linux.
 +
 +Il est nécessaire d'avoir deux ordinateurs, au moins, pour mettre en œuvre un partage NFS. Par exemple :
 +  * Serveur NFS : rpinas001.acegrp.lan - 192.168.100.1
 +  * Client NFS : dskcdc001.acegrp.lan - 192.168.100.155
 +
 +Il est possible d'avoir plusieurs **Serveur NFS** et plusieurs **Clients**.
 +
 +Il est nécessaire d'autoriser le dialogue réseau entre le **Serveur** et le **Client**. L'utilisation de la commande **ping** pour confirmer la communication entre les deux systèmes.
 +
 +===== Table des matières =====
 +
 +  * [[index|Sommaire]]
 +  * Créer un partage NFS sous Linux
 +    * Installer NFS
 +      * [[..:nfs-network-file-system:installer-nfs-fedora-28]]
 +      * [[..:nfs-network-file-system:installer-nfs-raspbian-os-10]]
 +    * [[..:nfs-network-file-system:verifier-la-version-nfs-installee]]
 +    * [[..:nfs-network-file-system:creer-et-exporter-un-partage]]
 +    * [[..:nfs-network-file-system:modifier-la-parefeu]]
 +  * Monter un partage NFS sous Linux
 +    * [[..:nfs-network-file-system:installer-pilotes-nfs]]
 +    * [[..:nfs-network-file-system:decouvrir-les-exports]]
 +    * [[..:nfs-network-file-system:monter-un-partage-nfs]]
 +    * [[..:nfs-network-file-system:monter-un-partage-nfs-permanent]]
 +
 +
 +===== - Éditer la configuration =====
 +
 +Modifier le fichier ''/etc/idmapd.conf ''  en admin pour intégrer le domaine dans la configuration :
 +
 +Décommenter la ligne et indiquer le nom du domaine :
 +
 +<code>
 +Domain = acegrp.lan
 +
 +</code>
 +
 +Vérifier la configuration du mapping :
 +
 +<code>
 +Nobody-User = nobody
 +Nobody-Group = nogroup
 +
 +</code>
 +
 +==== - Indiquer les dossiers à partager ====
 +
 +L'idée est de centraliser les dossiers à partager dans le dossier ''/export''. Pour exemple, on partage dans ce dossier ''export'', le dossier ''/mnt''.
 +
 +---
 +
 +Créer le dossier ''/export/media''  :
 +
 +<code bash>
 +$ sudo mkdir -p /export/media
 +
 +</code>
 +
 +---
 +
 +Créer un point de montage de ''/mnt''  vers ''/export/media''. Ajouter une entrée dans le fichier ''/etc/fstab''  :
 +
 +<code>
 +/mnt    /export/media   none    bind  0  0
 +</code>
 +
 +---
 +
 +Monter le dossier ''/export/media'' :
 +
 +<code bash>
 +$ sudo  mount /export/media
 +
 +</code>
 +
 +---
 +
 +Modifier le fichier **/etc/exports**  :
 +
 +<code>
 +/export       192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)
 +/export/media 192.168.1.0/24(rw,nohide,insecure,no_subtree_check,async)
 +
 +</code>
 +
 +---
 +
 +Mettre à jour les exports :
 +
 +<code bash>
 +$ sudo exportfs -ra
 +
 +</code>
 +
 +==== - Gérer les services ====
 +
 +> Fedora 28  Sous **Fedora 28**, deux services doivent être activé et démarrés : **RPCbind**  et **nfs**  :
 +
 +<code bash>
 +$ sudo systemctl start rpcbind nfs-server
 +
 +</code>
 +
 +<code bash>
 +$ sudo systemctl enable rpcbind nfs-server
 +
 +</code>
 +
 +> Raspbian 10
 +
 +Sous **Raspbian 10**, il faut activer le service **nfs-kernel-server**  :
 +
 +<code bash>
 +$ sudo systemctl enable nfs-kernel-server
 +
 +</code>
 +
 +Puis démarrer le service **nfs-kernel-server**  :
 +
 +<code bash>
 +$ sudo systemctl start nfs-kernel-server
 +
 +</code>
 +
 +===== - Ajouter une exception dans Firewalld =====
 +
 +On rajoute 4 exceptions exactement :
 +
 +  * 2049 en udp et tcp
 +  * 111 en udp et tcp
 +
 +<code bash>
 +sudo firewall-cmd --add-port=2049/udp
 +sudo firewall-cmd --add-port=2049/tcp
 +sudo firewall-cmd --add-port=111/udp
 +sudo firewall-cmd --add-port=111/tcp
 +
 +</code>
 +
 +ou encore plus rapidement
 +
 +<code bash>
 +sudo firewall-cmd --add-service=nfs --permanent
 +sudo firewall-cmd --reload
 +
 +</code>
 +
 +
 +
 +
 +====== - FAQ ======
 +
 +===== - Connaître les services RPC d'un host =====
 +
 +<code bash>
 +rpcinfo -p 192.168.100.5
 +
 +</code>
 +
 +Résultat
 +
 +<code>
 +   program vers proto   port  service
 +    100000    4   tcp    111  portmapper
 +    100000    3   tcp    111  portmapper
 +    100000    2   tcp    111  portmapper
 +    100000    4   udp    111  portmapper
 +    100000    3   udp    111  portmapper
 +    100000    2   udp    111  portmapper
 +    100024    1   udp  40258  status
 +    100024    1   tcp  41279  status
 +    100005    1   udp  20048  mountd
 +    100005    1   tcp  20048  mountd
 +    100005    2   udp  20048  mountd
 +    100005    2   tcp  20048  mountd
 +    100005    3   udp  20048  mountd
 +    100005    3   tcp  20048  mountd
 +    100003    3   tcp   2049  nfs
 +    100003    4   tcp   2049  nfs
 +    100227    3   tcp   2049  nfs_acl
 +    100003    3   udp   2049  nfs
 +    100003    4   udp   2049  nfs
 +    100227    3   udp   2049  nfs_acl
 +    100021    1   udp  60788  nlockmgr
 +    100021    3   udp  60788  nlockmgr
 +    100021    4   udp  60788  nlockmgr
 +    100021    1   tcp  35701  nlockmgr
 +    100021    3   tcp  35701  nlockmgr
 +    100021    4   tcp  35701  nlockmgr
 +
 +</code>
 +
 +
 +
 +===== - clnt_create: RPC: Unable to receive =====
 +
 +Le message ''clnt_create: RPC: Unable to receive''  apparaît après l'utilisation de la commande ''showmount''. Que faire ?
 +
 +<code>
 +# showmount -e 192.168.100.6
 +
 +clnt_create: RPC: Unable to receive
 +
 +</code>
 +
 +1. Vérifier la connectivité au serveur avec la commande ''ping''
 +
 +<code>
 +# ping 192.168.100.6
 +
 +PING 192.168.100.6 (192.168.100.6) 56(84) bytes of data.
 +64 bytes from 192.168.100.6: icmp_seq=1 ttl=64 time=0.224 ms
 +64 bytes from 192.168.100.6: icmp_seq=2 ttl=64 time=0.209 ms
 +^C
 +--- 192.168.100.6 ping statistics ---
 +2 packets transmitted, 2 received, 0% packet loss, time 1009ms
 +rtt min/avg/max/mdev = 0.209/0.216/0.224/0.016 ms
 +
 +</code>
 +
 +Si la commande ''ping''  ne répond pas, vérifier par une connexion ''ssh''
 +
 +<code>
 +# ssh cedric@192.168.100.6
 +
 +cedric@192.168.100.6's password:
 +Last login: Sat May  5 07:03:20 2018 from 192.168.100.29
 +[cedric@srv06 ~]$
 +
 +</code>
 +
 +2. Lister les informations RPC avec la commande ''rpcinfo''
 +
 +<code>
 +# rpcinfo -p 192.168.100.6
 +
 +192.168.100.6: RPC: Remote system error - Connection refused
 +
 +</code>
 +