Files
varlog/_cache/articles/edeb167c-5e04-4856-bcf5-498e7d11f647.json
T
2026-05-15 10:37:48 +02:00

1 line
5.6 KiB
JSON

{"uuid":"edeb167c-5e04-4856-bcf5-498e7d11f647","slug":"nfs-network-file-system","title":"- Partage réseau sous Linux : NFS","author":"cedric@abonnel.fr","published":true,"published_at":"2023-02-09 19:10:21","created_at":"2023-02-09 19:10:21","updated_at":"2023-02-09 19:10:21","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# - Partage réseau sous Linux : NFS\n\n![Network File System est le système de fichiers pour réseau Linux.](20210131-231703.png)\n\nNFS est un système de partage de fichiers, respectant les protocoles d'accès aux fichiers Linux.\n\nIl est nécessaire d'avoir deux ordinateurs, au moins, pour mettre en œuvre un partage NFS. Par exemple :\n- Serveur NFS : rpinas001.acegrp.lan - 192.168.100.1\n- Client NFS : dskcdc001.acegrp.lan - 192.168.100.155\n\nIl est possible d'avoir plusieurs **Serveur NFS** et plusieurs **Clients**.\n\nIl 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.\n\n## Table des matières\n- Sommaire\n- Créer un partage NFS sous Linux\n1. Installer NFS\n 1. \n 1. \n1. \n1. \n1. \n- Monter un partage NFS sous Linux\n1. \n1. \n1. \n1. \n\n## - Éditer la configuration\nModifier le fichier `/etc/idmapd.conf` en admin pour intégrer le domaine dans la configuration :\n\nDécommenter la ligne et indiquer le nom du domaine :\n\n```\nDomain = acegrp.lan\n```\n\nVérifier la configuration du mapping :\n\n```\nNobody-User = nobody\nNobody-Group = nogroup\n```\n\n### - Indiquer les dossiers à partager\nL'idée est de centraliser les dossiers à partager dans le dossier `/export`. Pour exemple, on partage dans ce dossier `export`, le dossier `/mnt`.\n\n---\n\nCréer le dossier `/export/media` :\n\n```bash\n$ sudo mkdir -p /export/media\n```\n\n---\n\nCréer un point de montage de `/mnt` vers `/export/media`. Ajouter une entrée dans le fichier `/etc/fstab` :\n\n```\n/mnt /export/media none bind 0 0\n```\n\n---\n\nMonter le dossier `/export/media` :\n\n```bash\n$ sudo mount /export/media\n```\n\n---\n\nModifier le fichier **/etc/exports** :\n\n```\n/export 192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)\n/export/media 192.168.1.0/24(rw,nohide,insecure,no_subtree_check,async)\n```\n\n---\n\nMettre à jour les exports :\n\n```bash\n$ sudo exportfs -ra\n```\n\n### - Gérer les services\n> Fedora 28 Sous **Fedora 28**, deux services doivent être activé et démarrés : **RPCbind** et **nfs** :\n\n```bash\n$ sudo systemctl start rpcbind nfs-server\n```\n\n```bash\n$ sudo systemctl enable rpcbind nfs-server\n```\n\n> Raspbian 10\n\nSous **Raspbian 10**, il faut activer le service **nfs-kernel-server** :\n\n```bash\n$ sudo systemctl enable nfs-kernel-server\n```\n\nPuis démarrer le service **nfs-kernel-server** :\n\n```bash\n$ sudo systemctl start nfs-kernel-server\n```\n\n## - Ajouter une exception dans Firewalld\nOn rajoute 4 exceptions exactement :\n\n- 2049 en udp et tcp\n- 111 en udp et tcp\n\n```bash\nsudo firewall-cmd --add-port=2049/udp\nsudo firewall-cmd --add-port=2049/tcp\nsudo firewall-cmd --add-port=111/udp\nsudo firewall-cmd --add-port=111/tcp\n```\n\nou encore plus rapidement\n\n```bash\nsudo firewall-cmd --add-service=nfs --permanent\nsudo firewall-cmd --reload\n```\n\n# - FAQ\n## - Connaître les services RPC d'un host\n```bash\nrpcinfo -p 192.168.100.5\n```\n\nRésultat\n\n```\nprogram vers proto port service\n 100000 4 tcp 111 portmapper\n 100000 3 tcp 111 portmapper\n 100000 2 tcp 111 portmapper\n 100000 4 udp 111 portmapper\n 100000 3 udp 111 portmapper\n 100000 2 udp 111 portmapper\n 100024 1 udp 40258 status\n 100024 1 tcp 41279 status\n 100005 1 udp 20048 mountd\n 100005 1 tcp 20048 mountd\n 100005 2 udp 20048 mountd\n 100005 2 tcp 20048 mountd\n 100005 3 udp 20048 mountd\n 100005 3 tcp 20048 mountd\n 100003 3 tcp 2049 nfs\n 100003 4 tcp 2049 nfs\n 100227 3 tcp 2049 nfs_acl\n 100003 3 udp 2049 nfs\n 100003 4 udp 2049 nfs\n 100227 3 udp 2049 nfs_acl\n 100021 1 udp 60788 nlockmgr\n 100021 3 udp 60788 nlockmgr\n 100021 4 udp 60788 nlockmgr\n 100021 1 tcp 35701 nlockmgr\n 100021 3 tcp 35701 nlockmgr\n 100021 4 tcp 35701 nlockmgr\n```\n\n## - clnt_create: RPC: Unable to receive\nLe message `clnt_create: RPC: Unable to receive` apparaît après l'utilisation de la commande `showmount`. Que faire ?\n\n```\n# showmount -e 192.168.100.6\n\nclnt_create: RPC: Unable to receive\n```\n\n1. Vérifier la connectivité au serveur avec la commande `ping`\n\n```\n# ping 192.168.100.6\n\nPING 192.168.100.6 (192.168.100.6) 56(84) bytes of data.\n64 bytes from 192.168.100.6: icmp_seq=1 ttl=64 time=0.224 ms\n64 bytes from 192.168.100.6: icmp_seq=2 ttl=64 time=0.209 ms\n| C |\n| --- |\n--- 192.168.100.6 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1009ms\nrtt min/avg/max/mdev = 0.209/0.216/0.224/0.016 ms\n```\n\nSi la commande `ping` ne répond pas, vérifier par une connexion `ssh`\n\n```\n# ssh cedric@192.168.100.6\n\ncedric@192.168.100.6's password:\nLast login: Sat May 5 07:03:20 2018 from 192.168.100.29\n[cedric@srv06 ~]$\n```\n\n2. Lister les informations RPC avec la commande `rpcinfo`\n\n```\n# rpcinfo -p 192.168.100.6\n\n192.168.100.6: RPC: Remote system error - Connection refused\n```","featured":false,"tags":[]}