Initialisation
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
====== Découvrir les exports ======
|
||||
|
||||
Découvrir les partages d'un serveur.
|
||||
|
||||
Il est peut être utile de vérifier l’accessibilité du service NFS distant.
|
||||
|
||||
===== Avec NFSv3 =====
|
||||
|
||||
Lorsque le serveur supporte le protocole **NFSv3**, on peut utiliser la commande **showmount** :
|
||||
|
||||
<code bash>
|
||||
showmount -e 192.168.100.1
|
||||
|
||||
Export list for 192.168.100.1:
|
||||
/export/media/disk_25 192.168.100.0/24
|
||||
/export/media/disk_24 192.168.100.0/24
|
||||
/export/media/disk_23 192.168.100.0/24
|
||||
/export/media/disk_6 192.168.100.0/24
|
||||
</code>
|
||||
|
||||
{{informatique:cfp:pasted:20201024-162640.png}}
|
||||
|
||||
===== Avec NFSv4 =====
|
||||
|
||||
|
||||
Lorsque le serveur supporte le protocole **NFSv4**, on utilise un dossier monté :
|
||||
<code>
|
||||
sudo mkdir /mnt/rpinas
|
||||
sudo mount rpinas.acegrp.lan:/ /mnt/rpinas/
|
||||
sudo ls /mnt/rpinas/media/
|
||||
</code>
|
||||
|
||||
Un serveur peut aussi bien supporter **NFSv3** et **NFSv4** de manière simultanée. Le résultat sera identique.
|
||||
|
||||
===== access denied by server while mounting =====
|
||||
|
||||
Si **mount** ne fonctionne pas, vous pouvez utiliser la commande suivante pour avoir plus d'informations :
|
||||
<code>
|
||||
sudo mount -v rpinas.acegrp.lan:/ /mnt/rpinas/
|
||||
</code>
|
||||
|
||||
L'erreur est détaillée en retour :
|
||||
<code>
|
||||
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.100.3,clientaddr=192.168.100.213'
|
||||
mount.nfs: mount(2): Permission denied
|
||||
mount.nfs: trying text-based options 'vers=4,minorversion=1,addr=192.168.100.3,clientaddr=192.168.100.213'
|
||||
mount.nfs: mount(2): Permission denied
|
||||
mount.nfs: trying text-based options 'vers=4,addr=192.168.100.3,clientaddr=192.168.100.213'
|
||||
mount.nfs: mount(2): Permission denied
|
||||
mount.nfs: trying text-based options 'addr=192.168.100.3'
|
||||
mount.nfs: prog 100003, trying vers=3, prot=6
|
||||
mount.nfs: trying 192.168.100.3 prog 100003 vers 3 prot TCP port 2049
|
||||
mount.nfs: prog 100005, trying vers=3, prot=17
|
||||
mount.nfs: trying 192.168.100.3 prog 100005 vers 3 prot UDP port 35525
|
||||
mount.nfs: mount(2): Permission denied
|
||||
</code>
|
||||
|
||||
@@ -0,0 +1,245 @@
|
||||
====== - 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>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
====== Installer NFS sous Fedora 28 ======
|
||||
|
||||
Sous **Fedora 28**, il faut installer le paquet suivant pour monter et exporter les partages NFS :
|
||||
|
||||
<code bash>
|
||||
sudo dnf install nfs-utils
|
||||
</code>
|
||||
|
||||
--
|
||||
|
||||
**Démarrer** et **activer** le service **nfs-utils** :
|
||||
<code bash>
|
||||
sudo systemctl start nfs-server
|
||||
sudo systemctl enable nfs-server
|
||||
</code>
|
||||
|
||||
Il est possible de vérifier le bon fonctionnement du service avec **systemcl**
|
||||
|
||||
<code bash>
|
||||
sudo systemctl status nfs-server
|
||||
</code>
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
====== Installer NFS Raspbian OS 10 ======
|
||||
|
||||
Sous **Raspbian 10**, il faut installer le paquet suivant pour monter et exporter les partages NFS :
|
||||
|
||||
<code bash>
|
||||
sudo apt update
|
||||
sudo apt install nfs-kernel-server
|
||||
</code>
|
||||
|
||||
{{informatique:linux:cfp:nfs-network-file-system:pasted:20210221-222533.png|apt install nfs-kernel-server sous Raspbian 10}}
|
||||
|
||||
--
|
||||
|
||||
Pour apporter des modification dans le démon **NFS**, il est nécessaire de modifier le fichier ''/etc/default/nfs-kernel-server''.
|
||||
|
||||
<code>
|
||||
# Number of servers to start up
|
||||
RPCNFSDCOUNT=8
|
||||
|
||||
# Runtime priority of server (see nice(1))
|
||||
RPCNFSDPRIORITY=0
|
||||
|
||||
# Options for rpc.mountd.
|
||||
# If you have a port-based firewall, you might want to set up
|
||||
# a fixed port here using the --port option. For more information,
|
||||
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
|
||||
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
|
||||
RPCMOUNTDOPTS="--manage-gids"
|
||||
|
||||
# Do you want to start the svcgssd daemon? It is only required for Kerberos
|
||||
# exports. Valid alternatives are "yes" and "no"; the default is "no".
|
||||
NEED_SVCGSSD=""
|
||||
|
||||
# Options for rpc.svcgssd.
|
||||
RPCSVCGSSDOPTS=""
|
||||
</code>
|
||||
|
||||
--
|
||||
|
||||
Pour apporter des modification dans le paramétrage global de **NFS**, il est nécessaire de modifier le fichier ''/etc/default/nfs-common''.
|
||||
|
||||
<code>
|
||||
# If you do not set values for the NEED_ options, they will be attempted
|
||||
# autodetected; this should be sufficient for most people. Valid alternatives
|
||||
# for the NEED_ options are "yes" and "no".
|
||||
|
||||
# Do you want to start the statd daemon? It is not needed for NFSv4.
|
||||
NEED_STATD=
|
||||
|
||||
# Options for rpc.statd.
|
||||
# Should rpc.statd listen on a specific port? This is especially useful
|
||||
# when you have a port-based firewall. To use a fixed port, set this
|
||||
# this variable to a statd argument like: "--port 4000 --outgoing-port 4001".
|
||||
# For more information, see rpc.statd(8) or http://wiki.debian.org/SecuringNFS
|
||||
STATDOPTS=
|
||||
|
||||
# Do you want to start the idmapd daemon? It is only needed for NFSv4.
|
||||
NEED_IDMAPD=
|
||||
|
||||
# Do you want to start the gssd daemon? It is required for Kerberos mounts.
|
||||
NEED_GSSD=
|
||||
</code>
|
||||
@@ -0,0 +1,11 @@
|
||||
====== Installer pilotes NFS ======
|
||||
|
||||
Il faut **Installer les pilotes**.
|
||||
|
||||
Sous **Debian** ou assimilé, il faut installer le pilote **nfs-common** :
|
||||
|
||||
<code bash>
|
||||
$ sudo apt install nfs-common
|
||||
</code>
|
||||
|
||||
{{informatique:cfp:pasted:20201024-162328.png|apt install nfs-common}}
|
||||
@@ -0,0 +1,25 @@
|
||||
====== Monter un partage NFS permanent ======
|
||||
|
||||
|
||||
Il est nécessaire de **créer des dossiers** qui recevront le point de montage :
|
||||
|
||||
<code bash>
|
||||
sudo mkdir /media/ddext
|
||||
</code>
|
||||
|
||||
--
|
||||
|
||||
|
||||
Il faut ajout dans le fichier ''/etc/fstab'' les lignes avec l'option ''nfs'' :
|
||||
|
||||
<code>
|
||||
rpinas001.acegrp.lan:/export/media /media/ddext nfs auto,nofail 0 0
|
||||
</code>
|
||||
|
||||
--
|
||||
|
||||
On peut monter point de montage par point avec la commande **mount** :
|
||||
|
||||
<code bash>
|
||||
sudo mount /media/ddext
|
||||
</code>
|
||||
@@ -0,0 +1,15 @@
|
||||
====== Monter un partage NFS ======
|
||||
|
||||
|
||||
Il est nécessaire de **créer des dossiers** qui recevront le point de montage :
|
||||
|
||||
<code bash>
|
||||
$ sudo mkdir /media/ddext
|
||||
</code>
|
||||
|
||||
--
|
||||
|
||||
<code>
|
||||
sudo mount rpinas.acegrp.lan:/media/ /media/ddext
|
||||
sudo ls /media/ddext/
|
||||
</code>
|
||||
@@ -0,0 +1,6 @@
|
||||
{{ 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.}}
|
||||
<WRAP clear/>
|
||||
|
||||
{{page>..:..:nfs-network-file-system:index#table-des-matieres}}
|
||||
|
||||
~~NOCACHE~~
|
||||
@@ -0,0 +1,14 @@
|
||||
====== Vérifier la version NFS installée ======
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Sur le serveur Linux **NFS**, vérifier la ou les versions **NFS** installées. C'est la deuxième colonne de la commande **rpcinfo** :
|
||||
|
||||
<code>
|
||||
rpcinfo -p | grep nfs
|
||||
100003 3 tcp 2049 nfs
|
||||
100003 4 tcp 2049 nfs
|
||||
100003 3 udp 2049 nfs
|
||||
|
||||
</code>
|
||||
|
||||
{{informatique:linux:cfp:nfs-network-file-system:pasted:20210221-222655.png}}
|
||||
Reference in New Issue
Block a user