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édentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:redhat:rh134:l107 [2024/10/24 03:58] adminelearning:workbooks:redhat:rh134:l107 [2024/11/21 15:28] (Version actuelle) admin
Ligne 3: Ligne 3:
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======RH13408 - Gestion du Serveur NFS======+======RH13408 - Gestion du Stockage en Réseau======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **RH13408 - Gestion du Serveur NFS** +  * **RH13408 - Gestion du Stockage en Réseau** 
-    * Présentation +    * Contenu du Module 
-      * Les Services et Processus du Serveur NFSv3 +    * Présentation du Network File System (NFS) 
-        * Les Services RPC +      * NFSv3 
-      * Options d'un Partage NFS +        * Les Services et Processus Principaux du Serveur NFSv3 
-      * Commandes de Base +        * Options d'un Partage NFSv3 
-    Installation +        * Commandes de Base de NFSv3 
-    Mise en Place +      NFSv4 
-      * Configuration du Serveur +        Différences entre NFSv4 et NFSv3 
-      * Configuration du Client +    LAB #1 - Configuration du Serveur NFSv4 
-    * Surveillance du Serveur +      * 1.1 - Désactivation de NFSv3 
-      La Commande rpcinfo +      * 1.2 - Définition d'un Partage 
-      * La Commande nfsstat+    * LAB #2 - Configuration du Client 
 +      * 2.1 - Montage Éphémère 
 +      * 2.2 - Montage Persistant 
 +    * LAB #3 - Configuration de NFSv4 avec Automounter 
 +      * Présentation 
 +      * Le Service autofs 
 +      * 3.1 - Création d'un Fichier de Mappage Indirect 
 +        * Configuration du Serveur 
 +        Configuration du Client 
 +      * 3.2 - Création d'un Fichier de Mappage Indirect 
 +        * Configuration du Serveur 
 +        * Configuration du Client
  
-=====Présentation=====+=====Présentation du Network File System (NFS)=====
  
-Quand on parle de NFS, on parle d'**exportation** d'un répertoire sur le serveur afin que celui-ci puisse être vu par des clients sur le réseau. Ces clients peuvent ensuite monter le répertoire et l'utiliser comme si celui-ci faisait partie de son propre filesystem.+Le Network File System (NFS) est un protocole Internet standard que LinuxUNIX et d'autres systèmes d'exploitation similaires utilisent comme système de fichiers réseau natifNFS est une norme ouverte qui prend en charge 
 +les permissions Linux natives et les attributs du système de fichiers.
  
-Le Network File System (NFS) est le protocole de partage de fichiers historique sur des systèmes Unix. Lors de l'introduction de SambaNFS a vu sa popularité diminuée, essentiellement parce que la connexion est non-sécurisée :+Par défaut, Red Hat 9 utilise la version 4.2 de NFS. RHEL prend entièrement en charge les protocoles NFSv3 et NFSv4. NFSv3 peut utiliser un protocole de transport TCP ou UDPmais NFSv4 n'autorise que les connexions TCP.
  
-  * le partage ainsi que ses caractéristiques sont configurés par rapport à l'adresse IP du client, or l'IP Spoofing est de plus en plus répandu, +Les serveurs NFS exportent des répertoires. Les clients NFS montent les répertoires exportés dans un répertoire local existantLes clients NFS peuvent monter les répertoires exportés de plusieurs manières :
-  * aucun mot de passe n'est demandé lors de la connexion d'un utilisateur à une ressource car le serveur NFS présume que l'utilisateur //jean// distant est le même utilisateur du compte //jean// sur le serveur NFS.+
  
-Cependant l'arrivée sur le marché de serveurs NAS domestiques ainsi que l'utilisation de la virtualisation dans le milieu professionnel fait que NFS connait un regain d'intérêt en tant que stockage mutualisé raidsimple à mettre en œuvre.+  * Manuellement en utilisant la commande mount, 
 +  * De manière persistante au démarrage en configurant des entrées dans le fichier /etc/fstab, 
 +  * À la demande, en configurant une méthode de d'Automount.
  
-Il existe actuellement 3 versions de NFS :+Les méthodes d'Automount, comprennent :
  
-^ Version ^ Protocole Utilisé ^ Dépendance ^ +  le service autofs, 
-**NFSv2** | TCP et UDP | portmap | +  systemd.automount.
-| **NFSv3** | TCP et UDP | portmap | +
-| **NFSv4*| TCP | Aucune - les fonctions de portmap sont incluses dans NFSv4 |+
  
-La version utilisée par défaut sous CentOS/Redhat est **NFSv3**.+Il convient d'installer le paquet **nfs-utils** afin d'obtenir les outils clients pour le montage manuel, ou pour le montage automatique, des répertoires exportés.
  
-====Les Services et Processus du Serveur NFSv3====+Red Hat 9 prend également en charge le montage de répertoires partagés à partir de systèmes Microsoft Windows(R) en utilisant les mêmes méthodes que pour le protocole NFS, en utilisant les protocoles **Server Message Block** (SMB) ou 
 +**Common Internet File System** (CIFS). Les options de montage sont spécifiques au protocole et dépendent de la configuration du Windows ou du Samba. 
 + 
 +====NFSv3==== 
 + 
 +Le protocole NFS a changé de manière significative entre NFSv3 et NFSv4. La méthode d'interrogation pour afficher les exportations disponibles est différente pour chaque version du protocole. NFSv3 utilise le protocole RPC, qui nécessite un serveur de fichiers prenant en charge les connexions NFSv3 pour exécuter le service rpcbind. Un client NFSv3 se connecte au service rpcbind sur le port 111 du serveur pour demander le service NFS. Le serveur répond en indiquant le port actuel du service NFS. La commande **showmount** est utilisée pour interroger les exportations disponibles sur un serveur NFSv3 basé sur RPC. 
 + 
 +===Les Services et Processus Principaux du Serveur NFSv3===
  
 La version NFSv3 utilise les services suivants : La version NFSv3 utilise les services suivants :
  
 ^ Services ^ Fonction ^ ^ Services ^ Fonction ^
-| **nfs** | Démarre le service NFS ainsi que les processus RPC pour recevoir et traiter les demandes des clients |+| **nfsd** | Démarre le service NFS ainsi que les processus RPC pour recevoir et traiter les demandes des clients |
 | **nfslock** | Démarre les processus RPC qui permettent aux clients de verrouiller les fichiers sur le serveur  | | **nfslock** | Démarre les processus RPC qui permettent aux clients de verrouiller les fichiers sur le serveur  |
 | **portmap** | Gestion des réservations des ports pour les services RPC locaux afin que les services RPC distants puissent se connecter | | **portmap** | Gestion des réservations des ports pour les services RPC locaux afin que les services RPC distants puissent se connecter |
  
-===Les Services RPC=== +===Options d'un Partage NFSv3===
- +
-Les services RPC ( //Remote Procedure Calls// ou appel de procédures distantes ) ont été inventé par SUN Microsystem pour faciliter le travail des développeurs  de pous des échanges entre mchines distantes. Les RPC s'appuient sur des numéros de programmes. +
- +
-Lorsque le client veut faire une requête à un service RPC, il contacte en premier lieu le service **rpcbind** qui assigne un numéro de port au délà du numéro **32768** à un numéro de programme RPC. +
- +
-====Options d'un Partage NFS====+
  
-Certaines options, appliquées à un partage, modifient le comportement du serveur NFS pour le partage concerné lors de son démarrage :+Certaines options, appliquées à un partage, modifient le comportement du serveur NFSv3 pour le partage concerné lors de son démarrage :
  
 ^ Option ^ Comportement ^ ^ Option ^ Comportement ^
Ligne 76: Ligne 88:
 </WRAP> </WRAP>
  
-====Commandes de Base====+===Commandes de Base de NFSv3===
  
-Plusieurs commandes permettent de gérer et de s'informer sur l'activité du serveur NFS :+Plusieurs commandes permettent de gérer et de s'informer sur l'activité du serveur NFSv3 :
  
 ^ Commande ^ Comportement ^ ^ Commande ^ Comportement ^
Ligne 87: Ligne 99:
 | **mount** | Permet de monter un partage distant sur un répertoire local | | **mount** | Permet de monter un partage distant sur un répertoire local |
  
-=====Installation=====+====NFSv4====
  
-Installez le serveur et le client NFS en utilisant apt-get :+===Différences entre NFSv4 et NFSv3==== 
 + 
 +Le protocole NFSv4 a éliminé l'utilisation de l'ancien protocole RPC pour les transactions NFS. L'utilisation de la commande showmount sur un serveur qui ne prend en charge que NFSv4 s'interrompt sans recevoir de réponse car le service rpcbind n'est pas exécuté sur le serveur. Cependant, l'interrogation d'un serveur NFSv4 est plus simple que d'interroger un serveur NFSv3. 
 + 
 +NFSv4 a introduit une arborescence d'exportation qui contient tous les chemins d'accès aux répertoires exportés par le serveur. Pour afficher tous les répertoires exportés, il convient de monter la racine (/) de l'arborescence d'exportation du serveur. Le montage de la racine de l'arborescence d'exportation permet de parcourir les chemins d'accès de tous les répertoires exportés, en tant qu'enfants du répertoire racine de l'arborescence mais ne monte aucun des répertoires exportés. 
 + 
 +Le format de cette commande est le suivant :
  
 <code> <code>
-root@debian8:~apt-get install nfs-kernel-server nfs-common +mkdir /mountpoint
-Reading package lists... Done +
-Building dependency tree        +
-Reading state information... Done +
-nfs-common is already the newest version. +
-The following NEW packages will be installed: +
-  nfs-kernel-server +
-0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +
-Need to get 115 kB of archives. +
-After this operation, 515 kB of additional disk space will be used. +
-Do you want to continue? [Y/n] y +
-Get:1 http://ftp.fr.debian.org/debian/ jessie/main nfs-kernel-server amd64 1:1.2.8-9 [115 kB] +
-Fetched 115 kB in 0s (318 kB/s)            +
-Selecting previously unselected package nfs-kernel-server. +
-(Reading database ... 82450 files and directories currently installed.) +
-Preparing to unpack .../nfs-kernel-server_1%3a1.2.8-9_amd64.deb ... +
-Unpacking nfs-kernel-server (1:1.2.8-9) ... +
-Processing triggers for man-db (2.7.0.2-5) ... +
-Processing triggers for systemd (215-17+deb8u4) ... +
-Setting up nfs-kernel-server (1:1.2.8-9) ...+
  
-Creating config file /etc/exports with new version+# mount -t nfs -o rw,sync server:/export /mountpoint 
 +</code>
  
-Creating config file /etc/default/nfs-kernel-server with new version +<WRAP center round important 60%> 
-Processing triggers for systemd (215-17+deb8u4) ...+**Important** : L'option **-o sync** spécifie que toutes les transactions vers le système de fichiers exporté sont effectuées de manière synchrone, ce qui est fortement recommandée pour tous les montages réseau de production où les transactions doivent réussir sous peine d'être renvoyées en cas d'échecNotez que seul, root, peut procéder aux montages. 
 +</WRAP> 
 + 
 +Pour monter une exportation NFSv4 tout en parcourant l'arborescence de l'exportation montée, il convient de changer de répertoire pour prendre un chemin d'accès au répertoire exportéIl est aussi possible utiliser la commande mount avec le nom complet du chemin d'accès d'un répertoire exporté pour monter un seul répertoire exporté.  
 + 
 +A noter que, les répertoires exportés qui utilisent la sécurité Kerberos n'autorisent pas le montage ou l'accès à un répertoire lorsque vous parcourez une arborescence d'exportation, même si vous pouvez voir le chemin d'accès à l'exportation. Le montage de partages protégés par Kerberos nécessite une configuration supplémentaire du serveur et l'utilisation des informations d'identification de l'utilisateur Kerberos. Ce cas, ne fait pas partie de la certification RH134 mais est couvert dans la formation **RH362 - Red Hat Security: Identity Management and Active Directory Integration**. 
 + 
 +=====LAB #1 - Configuration du Serveur NFSv4===== 
 + 
 +Vérifiez l'état des machines virtuelles : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh list --all 
 + Id   Name      State 
 +------------------------- 
 +    testvm1   running 
 +    testvm2   running
 </code> </code>
  
-=====Mise en Place=====+Connectez-vous à machine virtuelle **testvm2** et activez et démarrez le service **nfs-server** :
  
-====Configuration du Serveur====+<code> 
 +[root@redhat9 ~]# virsh console testvm2 
 +Connected to domain 'testvm2' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm2 ~]# systemctl enable --now nfs-server 
 +Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service. 
 +[root@testvm2 ~]# systemctl status nfs-server 
 +● nfs-server.service - NFS server and services 
 +     Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; prese> 
 +     Active: active (exited) since Mon 2024-10-28 12:08:12 CET; 3s ago 
 +       Docs: man:rpc.nfsd(8) 
 +             man:exportfs(8) 
 +    Process: 5309 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUC> 
 +    Process: 5310 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS) 
 +    Process: 5329 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then> 
 +   Main PID: 5329 (code=exited, status=0/SUCCESS) 
 +        CPU: 31ms
  
-<WRAP center round important+Oct 28 12:08:12 testvm2.ittraining.loc systemd[1]: Starting NFS server and serv
-**Important** Arrêtez votre VMDans la fenêtre de Oracle VM VirtualBox, cliquez sur **Fichier > Paramètres > Réseau** et créez un réseau NAT appelé **NatNetwork**. Dans les paramètres de votre VM, cliquez sur **Réseau** et configurez la Carte 2 en Réseau NAT dans le réseau NatNetwork. Démarrez votre VM+Oct 28 12:08:12 testvm2.ittraining.loc systemd[1]: Finished NFS server and serv> 
-</WRAP>+</code>
  
-Configurez votre interface réseau #2 (eth1) :+====1.1 - Désactivation de NFSv3==== 
 + 
 +Le serveur NFS fonctionne en mode mixte NFSv3/NFSv4. Ceci est visible grâce à la sortie de la commande **nfsstat** :
  
 <code> <code>
-root@debian8:~# nmcli connection add con-name ip_fixe ifname eth1 type ethernet ip4 10.0.2.16/24 gw4 10.0.2.2 +[root@testvm2 ~]nfsstat 
-Connection 'ip_fixe' (d61c409c-d334-44db-a2fd-a7456562e63a) successfully added. +Server rpc stats
-root@debian8:~# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8 +calls      badcalls   badfmt     badauth    badclnt 
-root@debian8:~# nmcli connection up ip_fixe +                  0          0          0       
-Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2) +
-root@debian8:~# nmcli c show +
-NAME             UUID                                  TYPE            DEVICE  +
-eth1             e9fe77dc-2750-47ba-a3ef-50a8c5c8e22a  802-3-ethernet  --      +
-eth0             02dd6b3d-097b-4243-8f86-eeb71ff27736  802-3-ethernet  eth0    +
-Ifupdown (eth0)  681b428f-beaf-8932-dce4-687ed5bae28e  802-3-ethernet  --      +
-ip_fixe          d61c409c-d334-44db-a2fd-a7456562e63a  802-3-ethernet  eth1    +
-root@debian8:~# systemctl restart NetworkManager.service +
-root@debian8:~# nmcli c show +
-NAME             UUID                                  TYPE            DEVICE  +
-eth0             e7181c1d-73c3-4c7e-89f2-7902c130ec9e  802-3-ethernet  eth0    +
-ip_fixe          d61c409c-d334-44db-a2fd-a7456562e63a  802-3-ethernet  --      +
-Ifupdown (eth0)  681b428f-beaf-8932-dce4-687ed5bae28e  802-3-ethernet  --      +
-eth1             d33363de-a915-4030-8cea-0d64997ae669  802-3-ethernet  eth1   +
 </code> </code>
  
-Ajoutez une autre adresse IP pour le NFS :+Pour désactiver le serveur NFSv3, éditez la section **[nfsd]** du fichier **/etc/nfs.conf** : 
 + 
 +<code> 
 +[root@testvm2 ~]# cat /etc/nfs.conf 
 +... 
 +[nfsd] 
 +# debug=0 
 +# threads=8 
 +# host= 
 +# port=0 
 +# grace-time=90 
 +# lease-time=90 
 +# udp=n 
 +# tcp=y 
 +# vers3=y 
 +# vers4=y 
 +# vers4.0=y 
 +# vers4.1=y 
 +# vers4.2=y 
 +rdma=y 
 +rdma-port=20049 
 +... 
 +</code>
  
 <code> <code>
-root@debian8:~# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.2/24+[root@testvm2 ~]vi /etc/nfs.conf 
 +[root@testvm2 ~]# cat /etc/nfs.conf 
 +... 
 +[nfsd] 
 +# debug=0 
 +# threads=8 
 +# host= 
 +# port=0 
 +# grace-time=90 
 +# lease-time=90 
 +# udp=n 
 +# tcp=y 
 +vers3=n 
 +# vers4=y 
 +# vers4.0=y 
 +# vers4.1=y 
 +vers4.2=y 
 +rdma=y 
 +rdma-port=20049 
 +...
 </code> </code>
  
-Continuez maintenant par la mise en place du service **nfs** :+Désactivez tous les services NFSv3 
  
 <code> <code>
-root@debian8:~# systemctl enable nfs-kernel-server +[root@testvm2 ~]# systemctl mask --now rpc-statd.service rpcbind.service rpcbind.socket 
-Synchronizing state for nfs-kernel-server.service with sysvinit using update-rc.d... +Created symlink /etc/systemd/system/rpc-statd.service → /dev/null.ervice rpcbind.socket 
-Executing /usr/sbin/update-rc.d nfs-kernel-server defaults +Created symlink /etc/systemd/system/rpcbind.service → /dev/null
-Executing /usr/sbin/update-rc.d nfs-kernel-server enable+Created symlink /etc/systemd/system/rpcbind.socket → /dev/null.
 </code> </code>
  
-La mise en place d'un partage ponctuel se fait en utilisant la commande **exportfs** en indiquant en argument le répertoire sous la forme de //adresse_ip_du_serveur:chemin_du_partage// +Redémarrez le service **nfs-server** : 
  
 <code> <code>
-root@debian8:~# exportfs +[root@testvm2 ~]systemctl restart nfs-server
-root@debian8:~# exportfs 192.168.1.1:/home/trainee +
-root@debian8:~# exportfs +
-/home/trainee 192.168.1.1+
 </code> </code>
  
-Afin de mettre en place un ou des partages **permanents**, il est nécessaire d'éditer le fichier **/etc/exports** :+Vérifiez la désactivation de NFSv3 en consultant le fichier **/proc/fs/nfsd/versions** :
  
 <code> <code>
-root@debian8:~# vi /etc/exports +[root@testvm2 ~]# cat /proc/fs/nfsd/versions 
-root@debian8:~# cat /etc/exports +-3 +4 +4.1 +4.2 
-# /etc/exports: the access control list for filesystems which may be exported +</code> 
-# to NFS clients See exports(5).+ 
 +Créez ensuite le fichier **/etc/systemd/system/nfs-mountd.service.d/v4only.conf** : 
 + 
 +<code> 
 +[root@testvm2 ~]# mkdir /etc/systemd/system/nfs-mountd.service.d 
 + 
 +[root@testvm2 ~]# vi /etc/systemd/system/nfs-mountd.service.d/v4only.conf 
 + 
 +[root@testvm2 ~]# cat /etc/systemd/system/nfs-mountd.service.d/v4only.conf 
 +[Service] 
 +ExecStart= 
 +ExecStart=/usr/sbin/rpc.mountd --no-tcp --no-udp 
 +</code> 
 + 
 +Rechargez le service **nfs-mountd** : 
 + 
 +<code> 
 +[root@testvm2 ~]# systemctl daemon-reload 
 + 
 +[root@testvm2 ~]# systemctl restart nfs-mountd 
 + 
 +[root@testvm2 ~]# systemctl status nfs-mountd 
 +● nfs-mountd.service - NFS Mount Daemon 
 +     Loaded: loaded (/usr/lib/systemd/system/nfs-mountd.service; static) 
 +    Drop-In: /etc/systemd/system/nfs-mountd.service.d 
 +             └─v4only.conf 
 +     Active: active (running) since Mon 2024-10-28 12:44:22 CET; 10s ago 
 +       Docs: man:rpc.mountd(8) 
 +    Process: 1410 ExecStart=/usr/sbin/rpc.mountd --no-tcp --no-udp (code=exited> 
 +   Main PID: 1412 (rpc.mountd) 
 +      Tasks: 1 (limit: 11096) 
 +     Memory: 940.0K 
 +        CPU: 6ms 
 +     CGroup: /system.slice/nfs-mountd.service 
 +             └─1412 /usr/sbin/rpc.mountd --no-tcp --no-udp 
 + 
 +Oct 28 12:44:22 testvm2.ittraining.loc systemd[1]: Starting NFS Mount Daemon... 
 +Oct 28 12:44:22 testvm2.ittraining.loc rpc.mountd[1410]: mountd: No V2 or V3 li> 
 +Oct 28 12:44:22 testvm2.ittraining.loc rpc.mountd[1412]: Version 2.5.4 starting 
 +Oct 28 12:44:22 testvm2.ittraining.loc systemd[1]: Started NFS Mount Daemon. 
 +</code> 
 + 
 +====1.2 - Définition d'un Partage==== 
 + 
 +Créez le répertoire **/mountpoint** : 
 + 
 +<code> 
 +[root@testvm2 ~]# mkdir /mountpoint 
 +</code> 
 + 
 +Modifez les permissions et le groupe du répertoire : 
 + 
 +<code> 
 +[root@testvm2 ~]# chmod 2770 /mountpoint 
 + 
 +[root@testvm2 ~]# chgrp users /mountpoint 
 + 
 +[root@testvm2 ~]# ls -ld /mountpoint/ 
 +drwxrws---. 2 root users 6 Oct 28 13:05 /mountpoint/ 
 +</code> 
 + 
 +Créez ensuite les fichiers **test1.txt** et **test2.txt** dans le répertoire **/mountpoint** : 
 + 
 +<code> 
 +[root@testvm2 mountpoint1]# cd /mountpoint 
 + 
 +[root@testvm2 mountpoint]# touch test1.txt test2.txt 
 + 
 +[root@testvm2 mountpoint1]# cd ~ 
 +</code> 
 + 
 +Editez ensuite le fichier **/etc/exports** afin d'exporter le répertoire **/mountpoint** : 
 + 
 +<code> 
 +[root@testvm2 ~]vi /etc/exports 
 + 
 +[root@testvm2 ~]# cat /etc/exports 
 +/mountpoint     192.168.56.0/24(rw)     2001:db8::/32(rw) 
 +</code> 
 + 
 +Configurez SELinux en mode **permissive** et arrêtez le service **firewalld** : 
 + 
 +<code> 
 +[root@testvm2 ~]setenforce permissive 
 + 
 +[root@testvm2 ~]# systemctl stop firewalld 
 +</code> 
 + 
 +Redémarrez le service **nfs-server** : 
 + 
 +<code> 
 +[root@testvm2 ~]# systemctl restart nfs-server 
 + 
 +[root@testvm2 ~]# systemctl status nfs-server 
 +● nfs-server.service - NFS server and services 
 +     Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; prese> 
 +     Active: active (exited) since Mon 2024-10-28 13:10:35 CET; 10s ago 
 +       Docs: man:rpc.nfsd(8) 
 +             man:exportfs(8) 
 +    Process: 1475 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUC> 
 +    Process: 1476 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS) 
 +    Process: 1486 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then> 
 +   Main PID: 1486 (code=exited, status=0/SUCCESS) 
 +        CPU: 30ms 
 + 
 +Oct 28 13:10:34 testvm2.ittraining.loc systemd[1]: Starting NFS server and serv> 
 +Oct 28 13:10:35 testvm2.ittraining.loc systemd[1]: Finished NFS server and serv> 
 +</code> 
 + 
 +Ajoutez le groupe et l'utilisateur **trainee** : 
 + 
 +<code> 
 +[root@testvm2 ~]# groupadd trainee && useradd trainee -c Trainee -d /home/trainee -g trainee -G users -s /bin/bash 
 +</code> 
 + 
 +Définissez le mot de passe **trainee** pour l'utilisateur **trainee** : 
 + 
 +<code> 
 +[root@testvm2 ~]# passwd trainee 
 +Changement de mot de passe pour l'utilisateur trainee. 
 +Nouveau mot de passe : trainee 
 +MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 8 caractères 
 +Retapez le nouveau mot de passe : trainee 
 +passwd : mise à jour réussie de tous les jetons d'authentification. 
 +</code> 
 + 
 +=====LAB #2 - Configuration du Client NFSv4===== 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm2** : 
 + 
 +<code> 
 +[root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5
 +[root@redhat9 ~]#  
 +</code> 
 + 
 +Connectez-vous à la machine virtuelle **testvm1** : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh console testvm1 
 +Connected to domain 'testvm1' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm1 /]# 
 +</code> 
 + 
 +Installez le paquet **nfs-utils** : 
 + 
 +<code> 
 +[root@testvm1 /]# dnf install -y nfs-utils 
 +</code> 
 + 
 +Ajoutez le groupe et l'utilisateur **trainee** : 
 + 
 +<code> 
 +[root@testvm1 /]# groupadd trainee && useradd trainee -c Trainee -d /home/trainee -g trainee -G users -s /bin/bash 
 +</code> 
 + 
 +Définissez le mot de passe **trainee** pour l'utilisateur **trainee** : 
 + 
 +<code> 
 +[root@testvm1 /]# passwd trainee 
 +Changement de mot de passe pour l'utilisateur trainee. 
 +Nouveau mot de passe : trainee 
 +MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 8 caractères 
 +Retapez le nouveau mot de passe : trainee 
 +passwd : mise à jour réussie de tous les jetons d'authentification. 
 +</code> 
 + 
 +===2.1 - Montage Ephémère=== 
 + 
 +Montez le partage **192.168.56.100:/mountpoint** sur le répertoire **/mnt** : 
 + 
 +<code> 
 +[root@testvm1 /]# mount -t nfs -o rw,sync 192.168.56.100:/mountpoint /mnt 
 +[172524.919003] FS-Cache: Loaded 
 +[172525.206140] Key type dns_resolver registered 
 +[172525.606078] NFS: Registering the id_resolver key type 
 +[172525.606089] Key type id_resolver registered 
 +[172525.606090] Key type id_legacy registered 
 +</code> 
 + 
 +Vérifiez que le montage a été effectué : 
 + 
 +<code> 
 +[root@testvm1 /]# mount | grep mountpoint 
 +192.168.56.100:/mountpoint on /mnt type nfs4 (rw,relatime,sync,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.56.50,local_lock=none,addr=192.168.56.100) 
 +</code> 
 + 
 +Essayez de vous placer dans le répertoire **/mnt** : 
 + 
 +<code> 
 +[root@testvm1 /]# ls -l /mnt 
 +ls: impossible d'ouvrir le répertoire '/mnt': Permission non accordée 
 +</code> 
 + 
 +L'utilisateur **root** ne peut pas se placer dans /mnt parce que root ne fait pas partie du groupe **users**. Devenez donc l'utilisateur **trainee** et lister le contenu du répertorie **/mnt** : 
 + 
 +<code> 
 +[root@testvm1 /]# su - trainee 
 + 
 +[trainee@testvm1 ~]$ ls -l /mnt 
 +total 0 
 +-rw-r--r--. 1 root users 0 28 oct.  13:59 test1.txt 
 +-rw-r--r--. 1 root users 0 28 oct.  13:59 test2.txt 
 +</code> 
 + 
 +Créez maintenant le fichier **/mnt/test3.txt** : 
 + 
 +<code> 
 +[trainee@testvm1 ~]$ touch /mnt/test3.txt 
 + 
 +[trainee@testvm1 ~]$ ls -l /mnt 
 +total 0 
 +-rw-r--r--. 1 root    users 0 28 oct.  13:59 test1.txt 
 +-rw-r--r--. 1 root    users 0 28 oct.  13:59 test2.txt 
 +-rw-r--r--. 1 trainee users 0 28 oct.  14:06 test3.txt 
 +</code> 
 + 
 +====2.2 - Montage Permanent==== 
 + 
 +Démontez le point de montage **/mnt** : 
 + 
 +<code> 
 +[root@testvm1 /]# umount /mnt 
 + 
 +[root@testvm1 /]# mount | grep mountpoint 
 + 
 +[root@testvm1 /]# ls /mnt 
 + 
 +</code> 
 + 
 +Editez ensuite le fichier **/etc/fstab** en y ajoutant la ligne **192.168.56.100:/mountpoint      /mnt    nfs     rw,sync 0 0** : 
 + 
 +<code> 
 +[root@testvm1 /]# vi /etc/fstab 
 + 
 +[root@testvm1 /]# cat /etc/fstab 
 # #
-# Example for NFSv2 and NFSv3: +# /etc/fstab 
-# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)+# Created by anaconda on Fri Oct 25 15:41:24 2024
 # #
-Example for NFSv4: +Accessible filesystems, by reference, are maintained under '/dev/disk/'. 
-/srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) +# See man pages fstab(5)findfs(8)mount(8and/or blkid(8for more info.
-# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)+
 # #
-/home/trainee 192.168.1.+# After editing this file, run 'systemctl daemon-reload' to update systemd 
-/tmp *(fsid=0)+# units generated from this file. 
 +
 +UUID=e778bb41-0528-4e4b-9b6b-b80070117978                       xfs     defaults        0 0 
 +UUID=6d55a589-bef2-4a9b-941f-d2f288057104 /boot                   xfs     defaults        0 0 
 +UUID=11306088-b22e-4906-9c31-b2f1a8b416fd none                    swap    defaults        0 0 
 +192.168.56.100:/mountpoint      /mnt    nfs     rw,sync 0 
 </code> </code>
  
-<WRAP center round important> +Exécutez la commande **systemctl daemon-reload** pour une prise en compte des modifications :
-**Important** : Dans ce cas, nous avons partagé le répertoire **/home/trainee** pour la seule adresse IP 192.168.1.1. +
-</WRAP>+
  
-Démarrez maintenant le service nfs afin que le fichier **/etc/exports** soit re-lu :+<code> 
 +[root@testvm1 /]# systemctl daemon-reload 
 +[175309.751966] systemd-rc-local-generator[4833]: /etc/rc.d/rc.local is not marked executable, skipping. 
 +</code> 
 + 
 +Appliquez maintenant le fichier **/etc/fstab** : 
  
 <code> <code>
-root@debian8:~systemctl reload nfs-kernel-server +[root@testvm1 /]mount -a
-root@debian8:~# systemctl start nfs-kernel-server +
-root@debian8:~# systemctl status nfs-kernel-server +
-● nfs-kernel-server.service - LSB: Kernel NFS server support +
-   Loaded: loaded (/etc/init.d/nfs-kernel-server) +
-   Active: active (exited) since Thu 2018-03-22 10:04:01 GMT; 22min ago +
-  Process: 10475 ExecReload=/etc/init.d/nfs-kernel-server reload (code=exited, status=0/SUCCESS)+
  
-Mar 22 10:04:01 debian8 nfs-kernel-server[506]: Not starting NFS kernel daemon: no exports. ... (warning). +[root@testvm1 /]# mount | grep mountpoint 
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: Re-exporting directories for NFS kernel daemon...exportfsNo options for /home/t...warning +192.168.56.100:/mountpoint on /mnt type nfs4 (rw,relatime,sync,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.56.50,local_lock=none,addr=192.168.56.100)
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specifi...ainee"+
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: Assuming default behaviour ('no_subtree_check'). +
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: NOTE: this default has changed since nfs-utils version 1.0.+
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specifi...:/tmp". +
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: Assuming default behaviour ('no_subtree_check')+
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: NOTE: this default has changed since nfs-utils version 1.0.x +
-Mar 22 10:25:59 debian8 nfs-kernel-server[10475]:+
-Hint: Some lines were ellipsized, use -l to show in full.+
 </code> </code>
  
-Puisque aucune option ne soit spécifiée pour les montages, ceux-ci ont été exportés avec des option par défaut. En utilisant l'option **-v** de la commande **exportfs**, il est possible de consulter ces options :+Devenez l'utilisateur **trainee** et vérifiez la présence des trois fichiers :
  
 <code> <code>
-root@debian8:~exportfs -v +[root@testvm1 /]su trainee 
-/home/trainee  192.168.1.1(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,root_squash,no_all_squash) +Dernière connexion : lundi 28 octobre 2024 à 14:04:58 CET sur ttyS0 
-/tmp          <world>(ro,wdelay,root_squash,no_subtree_check,fsid=0,sec=sys,ro,root_squash,no_all_squash)+ 
 +[trainee@testvm1 ~]$ ls -l /mnt 
 +total 0 
 +-rw-r--r--. 1 root    users 0 28 oct.  13:59 test1.txt 
 +-rw-r--r--. 1 root    users 0 28 oct.  13:59 test2.txt 
 +-rw-r--r--. 1 trainee users 28 oct.  14:06 test3.txt 
 + 
 +[trainee@testvm1 ~]$ exit 
 +déconnexion
 </code> </code>
  
-====Configuration du Client====+Déconnectez-vous de la machine virtuelle **testvm1** :
  
-<WRAP center round important+<code
-**Important** : Arrêtez votre VM. Créez une clône de votre VM. Démarrez la VM clonée. +[root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] 
-</WRAP>+[root@redhat9 ~]#  
 +</code>
  
-Re-configurez ensuite l'interface réseau de votre VM Client :+Connectez-vous à la machine virtuelle **testvm2** :
  
 <code> <code>
-root@debian8:~# nmcli connection del ip_fixe +[root@redhat9 ~]virsh console testvm2 
-root@debian8:~# nmcli connection show ip_fixe +Connected to domain 'testvm1' 
-Error: ip_fixe - no such connection profile. +Escape character is ^] (Ctrl + ]
-root@debian8:~# nmcli connection add con-name ip_fixe ifname eth1 type ethernet ip4 10.0.2.17/24 gw4 10.0.2.2 +[Enter] 
-Connection 'ip_fixe' (5f81cfd6-9ccb-4828-a9ff-aa610719de31successfully added. +[root@testvm2 ~]#
-root@debian8:~# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8 +
-root@debian8:~# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.1/24 +
-root@debian8:~# nmcli connection up ip_fixe  +
-Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3) +
-root@debian8:~# systemctl restart NetworkManager.service+
 </code> </code>
  
-<WRAP center round important > +Vérifiez la présence des trois fichiers dans le répertoire **/mountpoint** : 
-**Important** : Démarrez la VM d'origine.+ 
 +<code> 
 +[root@testvm2 ~]# ls -l /mountpoint 
 +total 0 
 +-rw-r--r--. 1 root    users 0 Oct 28 13:59 test1.txt 
 +-rw-r--r--. 1 root    users 0 Oct 28 13:59 test2.txt 
 +-rw-r--r--. 1 trainee users 0 Oct 28 14:06 test3.txt 
 +</code> 
 + 
 +=====LAB #3 - Configuration de NFSv4 avec Automounter===== 
 + 
 +====Présentation==== 
 + 
 +L'**Automounter** est un service,appelé **autofs**, qui monte automatiquement les systèmes de fichiers et les exportations NFS à la demande et démonte automatiquement les systèmes de fichiers et les exportations NFS lorsque les ressources montées ne sont plus utilisées. 
 + 
 +Automounter a été créée pour résoudre le problème des utilisateurs non privilégiés qui ne disposent pas des autorisations suffisantes pour utiliser la commande **mount**. Sans l'utilisation de la commande mount,les utilisateurs normaux ne peuvent pas accéder aux supports amovibles tels que les CD, les DVD et les lecteurs de disques amovibles. 
 + 
 +En outre, si un système de fichiers local ou distant n'est pas monté au démarrage à l'aide de la configuration **/etc/fstab**, un utilisateur normal ne peut pas monter et accéder à ces systèmes de fichiers non montés. 
 + 
 +Les fichiers de configuration d'Automounter contiennent des informations sur le montage du système de fichiers, de la même manière que les entrées du fichier /etc/fstab.  
 + 
 +Bien que les systèmes de fichiers spécifiés dans /etc/fstab se montent au démarrage du système restent montés jusqu'à l'arrêt du système ou toute autre intervention, les systèmes de fichiers contrôlés par l'Automounter se montent à la demande, lorsqu'un utilisateur ou une application tente d'entrer dans le point de montage du système de fichiers pour accéder aux fichiers. 
 + 
 +L'utilisation des ressources pour les systèmes de fichiers Automounter est équivalente à celle des systèmes de fichiers montés au démarrage car un système de fichiers n'utilise des ressources que lorsqu'un programme lit et écrit des fichiers ouverts. Les systèmes de fichiers montés mais inactifs et les systèmes de fichiers non montés utilisent la même quantité de ressources : presque aucune. 
 + 
 +L'avantage de l'Automounter est qu'en démontant le système de fichiers chaque fois qu'il n'est plus utilisé, le système de fichiers est protégé contre toute corruption inattendue, 
 + 
 +Lorsque le système de fichiers est à nouveau monté, le service autofs utilise la configuration de montage la plus récente, contrairement à un montage dans le fichier /etc/fstab, qui peut encore utiliser une configuration montée il y a plusieurs mois lors du dernier démarrage du système. En outre, si la configuration de serveur NFS comprend des serveurs et des chemins d'accès redondants, l'Automounter peut utiliser la configuration de montage la plus récente. 
 + 
 +====Le Service autofs==== 
 + 
 +Le service autofs prend en charge les mêmes systèmes de fichiers locaux et distants que le fichier /etc/fstab, y compris les protocoles de partage de fichiers NFS et SMB, et prend en charge les mêmes options de montage spécifiques au protocole, y compris les paramètres de sécurité. Les systèmes de fichiers montés par l'intermédiaire de l'Automounter sont accessibles par défaut à tous les utilisateurs, mais peuvent être restreints par des options d'autorisation d'accès. 
 + 
 +Comme l'Automounter est une configuration côté client qui utilise les commandes standard **mount** et **umount** pour gérer les systèmes de fichiers, les systèmes de fichiers montés automatiquement présentent un comportement identique aux systèmes de fichiers montés à l'aide du fichier **/etc/fstab**. 
 + 
 +La différence est qu'un système de fichiers Automounter reste démonté jusqu'à ce que l'on accède au point de montage, ce qui entraîne le montage immédiat du système de fichiers, qui reste monté tant que le système de fichiers est en cours d'utilisation. Lorsque tous les fichiers du système de sont fermés et que tous les utilisateurs et processus quittent le répertoire du point de montage, Automounter démonte le système de fichiers après un délai minimal. 
 + 
 +====3.1 - Création d'un Fichier de Mappage Indirect==== 
 + 
 +On parle de montage indirect lorsque l'emplacement du point de montage n'est pas connu tant que la demande de montage n'a pas eu lieu. Un exemple de montage indirect est la configuration des répertoires personnels montés à distance, où le répertoire personnel d'un utilisateur inclut son nom d'utilisateur dans le chemin d'accès au répertoire. Le système de fichiers distant de l'utilisateur est monté sur son répertoire personnel, uniquement après qu'Automounter a appris quel utilisateur a spécifié de monter son répertoire personnel, et qu'il a déterminé que le système de fichiers distant est monté sur son répertoire personnel. Bien que des points de montage indirects semblent exister, le service autofs les crée lorsque la demande de montage se produit et les supprime à nouveau lorsque la demande est terminée et que le système de fichiers est démonté. 
 + 
 +===Configuration du Serveur=== 
 + 
 +Editez le fichier **/etc/exports** : 
 + 
 +<code> 
 +[root@testvm2 ~]# vi /etc/exports 
 + 
 +[root@testvm2 ~]# cat /etc/exports 
 +/mountpoint     192.168.56.0/24(rw)     2001:db8::/32(rw) 
 +/home           192.168.56.0/24(rw)     2001:db8::/32(rw) 
 +</code> 
 + 
 +Redémarrez le service **nfs-server** : 
 + 
 +<code> 
 +[root@testvm2 ~]# systemctl restart nfs-server 
 +</code> 
 + 
 +Devenez l'utilisateur **trainee** et créez le fichier **test4.txt** : 
 + 
 +<code> 
 +[root@testvm2 ~]# su - trainee 
 +Last login: Tue Oct 29 13:56:07 CET 2024 on ttyS0 
 + 
 +[trainee@testvm2 ~]$ touch test4.txt 
 +</code> 
 + 
 +===Configuration du Client=== 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm2** : 
 + 
 +<code> 
 +[root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] 
 +[root@redhat9 ~]#  
 +</code> 
 + 
 +Connectez-vous à la machine virtuelle **testvm1** : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh console testvm1 
 +Connected to domain 'testvm1' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm1 /]# 
 +</code> 
 + 
 +Configurez SELinux en mode **permissive** 
 + 
 +<code> 
 +[root@testvm1 /]# setenforce permissive 
 +</code> 
 + 
 +Arrêtez le service **firewalld** : 
 + 
 +<code> 
 +[root@testvm1 /]# systemctl stop firewalld 
 +</code> 
 + 
 +Installez le paquet **autofs** : 
 + 
 +<code> 
 +[root@testvm1 /]# dnf install autofs -y 
 +</code> 
 + 
 +Créez ensuite le fichier de mappage indirect maître **/etc/auto.master.d/home.autofs** : 
 + 
 +<code> 
 +[root@testvm1 /]# vi /etc/auto.master.d/home.autofs 
 + 
 +[root@testvm1 /]# cat /etc/auto.master.d/home.autofs  
 +/home   /etc/auto.home 
 +</code> 
 + 
 +Créez le fichier de mappage **/etc/auto.home** : 
 + 
 +<code> 
 +[root@testvm1 /]# vi /etc/auto.home 
 + 
 +[root@testvm1 /]# cat /etc/auto.home 
 +*       -fstype=nfs4,rw,sync    192.168.56.100:/home/& 
 +</code> 
 + 
 +<WRAP center round important 60%
 +**Important** : Notez que le format du nom du fichier de mappage maître est **nom**.autofs et que le format du nom du fichier de mappage est auto.**nom**. Les deux valeurs de **nom** doivent être identique.
 </WRAP> </WRAP>
  
-A partir de votre clientconsultez les répertoire exportés du serveur :+Afin d'éviter des erreurs liées à la non-implémentation de **sss**supprimer **sss** de la ligne **automount** du fichier **/etc/nsswitch.conf** :
  
 <code> <code>
-root@debian8:~showmount --exports 192.168.1.2 +[root@testvm1 /]vi /etc/nsswitch.conf 
-Export list for 192.168.1.2+ 
-/tmp          * +[root@testvm1 /]# cat /etc/nsswitch.conf 
-/home/trainee 192.168.1.1+... 
 +# In order of likelihood of use to accelerate lookup. 
 +passwd    sss files systemd 
 +shadow:     files 
 +group:      sss files systemd 
 +hosts:      files dns myhostname 
 +services:   files sss 
 +netgroup:   sss 
 +automount:  files 
 +...
 </code> </code>
  
-Créez maintenant le répertoire **/nfs** dans le client et montez le partage **192.168.1.2:/home/trainee** :+Activez et démarrez le service **autofs** :
  
 <code> <code>
-root@debian8:~# mkdir /nfs +[root@testvm1 /]# systemctl enable --now autofs 
-root@debian8:~mount -t nfs 192.168.1.2:/home/trainee /nfs+ 
 +[root@testvm1 /]systemctl status autofs 
 +● autofs.service Automounts filesystems on demand 
 +     Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; preset: d> 
 +     Active: active (running) since Tue 2024-10-29 13:55:10 CET; 19min ago 
 +   Main PID: 3425 (automount) 
 +      Tasks: 7 (limit: 23172) 
 +     Memory: 6.1M 
 +        CPU: 68ms 
 +     CGroup: /system.slice/autofs.service 
 +             └─3425 /usr/sbin/automount --systemd-service --dont-check-daemon 
 + 
 +oct. 29 13:55:10 testvm1.ittraining.loc systemd[1]: Starting Automounts filesys> 
 +oct. 29 13:55:10 testvm1.ittraining.loc systemd[1]: Started Automounts filesyst>
 </code> </code>
  
-=====Surveillance du Serveur=====+Vérifiez la prise en compte de la configuration :
  
-====La Commande rpcinfo====+<code> 
 +[root@testvm1 /]# mount | tail 
 +none on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700) 
 +fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) 
 +/dev/vda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) 
 +none on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700) 
 +sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) 
 +192.168.56.100:/mountpoint on /mnt type nfs4 (rw,relatime,sync,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.56.50,local_lock=none,addr=192.168.56.100) 
 +tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=164980k,nr_inodes=41245,mode=700,inode64) 
 +/etc/auto.misc on /misc type autofs (rw,relatime,fd=6,pgrp=3425,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=35290) 
 +-hosts on /net type autofs (rw,relatime,fd=9,pgrp=3425,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=33681) 
 +/etc/auto.home on /home type autofs (rw,relatime,fd=12,pgrp=3425,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=35294) 
 +</code>
  
-La commande **rpcinfo** permet de faire une requête RPC sur le serveur et de voir les démons gérés :+Devenez l'utilisateur **trainee** :
  
 <code> <code>
-root@debian8:/# rpcinfo +[root@testvm1 /]su trainee 
-   program version netid     address                service    owner +Dernière connexion mardi 29 octobre 2024 à 13:55:17 CET sur ttyS0
-    100000    4    tcp6      ::.0.111               portmapper superuser +
-    100000    3    tcp6      ::.0.111               portmapper superuser +
-    100000    4    udp6      ::.0.111               portmapper superuser +
-    100000    3    udp6      ::.0.111               portmapper superuser +
-    100000    4    tcp       0.0.0.0.0.111          portmapper superuser +
-    100000    3    tcp       0.0.0.0.0.111          portmapper superuser +
-    100000    2    tcp       0.0.0.0.0.111          portmapper superuser +
-    100000    4    udp       0.0.0.0.0.111          portmapper superuser +
-    100000    3    udp       0.0.0.0.0.111          portmapper superuser +
-    100000    2    udp       0.0.0.0.0.111          portmapper superuser +
-    100000    4    local     /run/rpcbind.sock      portmapper superuser +
-    100000    3    local     /run/rpcbind.sock      portmapper superuser +
-    100024    1    udp       0.0.0.0.203.188        status     107 +
-    100024    1    tcp       0.0.0.0.148.150        status     107 +
-    100024    1    udp6      ::.169.248             status     107 +
-    100024    1    tcp6      ::.161.44              status     107 +
-    100003    2    tcp       0.0.0.0.8.1            nfs        superuser +
-    100003    3    tcp       0.0.0.0.8.1            nfs        superuser +
-    100003    4    tcp       0.0.0.0.8.1            nfs        superuser +
-    100227    2    tcp       0.0.0.0.8.1                     superuser +
-    100227    3    tcp       0.0.0.0.8.1            -          superuser +
-    100003    2    udp       0.0.0.0.8.1            nfs        superuser +
-    100003    3    udp       0.0.0.0.8.1            nfs        superuser +
-    100003    4    udp       0.0.0.0.8.1            nfs        superuser +
-    100227    2    udp       0.0.0.0.8.1            -          superuser +
-    100227    3    udp       0.0.0.0.8.1            -          superuser +
-    100003    2    tcp6      ::.8.1                 nfs        superuser +
-    100003    3    tcp6      ::.8.1                 nfs        superuser +
-    100003    4    tcp6      ::.8.1                 nfs        superuser +
-    100227    2    tcp6      ::.8.1                          superuser +
-    100227    3    tcp6      ::.8.1                          superuser +
-    100003    2    udp6      ::.8.1                 nfs        superuser +
-    100003    3    udp6      ::.8.1                 nfs        superuser +
-    100003    4    udp6      ::.8.1                 nfs        superuser +
-    100227    2    udp6      ::.8.1                          superuser +
-    100227    3    udp6      ::.8.1                          superuser +
-    100021    1    udp       0.0.0.0.209.119        nlockmgr   superuser +
-    100021    3    udp       0.0.0.0.209.119        nlockmgr   superuser +
-    100021    4    udp       0.0.0.0.209.119        nlockmgr   superuser +
-    100021    1    tcp       0.0.0.0.197.239        nlockmgr   superuser +
-    100021    3    tcp       0.0.0.0.197.239        nlockmgr   superuser +
-    100021    4    tcp       0.0.0.0.197.239        nlockmgr   superuser +
-    100021    1    udp6      ::.207.89              nlockmgr   superuser +
-    100021    3    udp6      ::.207.89              nlockmgr   superuser +
-    100021    4    udp6      ::.207.89              nlockmgr   superuser +
-    100021    1    tcp6      ::.237.162             nlockmgr   superuser +
-    100021    3    tcp6      ::.237.162             nlockmgr   superuser +
-    100021    4    tcp6      ::.237.162             nlockmgr   superuser +
-    100005    1    udp       0.0.0.0.227.242        mountd     superuser +
-    100005    1    tcp       0.0.0.0.225.144        mountd     superuser +
-    100005    1    udp6      ::.154.158             mountd     superuser +
-    100005    1    tcp6      ::.215.191             mountd     superuser +
-    100005    2    udp       0.0.0.0.185.106        mountd     superuser +
-    100005    2    tcp       0.0.0.0.212.122        mountd     superuser +
-    100005    2    udp6      ::.136.22              mountd     superuser +
-    100005    2    tcp6      ::.193.198             mountd     superuser +
-    100005    3    udp       0.0.0.0.133.232        mountd     superuser +
-    100005    3    tcp       0.0.0.0.232.4          mountd     superuser +
-    100005    3    udp6      ::.193.195             mountd     superuser +
-    100005    3    tcp6      ::.198.65              mountd     superuser+
 </code> </code>
  
-====La Commande nfsstat====+Exécutez la commande **ls**. Vous devez voir le fichier **test4.txt** qui a été créé dans la machine virtuelle **testvm2** :
  
-La Commande **nfsstat** permet de vérifier l'activité sur le serveur NFS :+<code> 
 +[trainee@testvm1 ~]$ ls 
 +test4.txt 
 + 
 +[trainee@testvm1 ~]$ exit 
 +</code> 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm1** :
  
 <code> <code>
-root@debian8:/# nfsstat +[root@testvm1 /][CTRL]+[VERR MAJ]+[5] 
-Server rpc stats: +[root@redhat9 ~]#  
-calls      badcalls   badclnt    badauth    xdrcall +</code>
-0          0          0          0          0       +
  
-Client rpc stats: +Connectez-vous à la machine virtuelle **testvm2** :
-calls      retrans    authrefrsh +
-77                  77      +
  
-Client nfs v3: +<code> 
-null         getattr      setattr      lookup       access       readlink      +[root@redhat9 ~]# virsh console testvm2 
-0         0% 10       27% 0         0% 2         5% 8        22% 0         0%  +Connected to domain 'testvm2' 
-read         write        create       mkdir        symlink      mknod         +Escape character is ^] (Ctrl + ]) 
-0         0% 0         0% 1         2% 0         0% 0         0% 0         0%  +[Enter] 
-remove       rmdir        rename       link         readdir      readdirplus   +[root@testvm2 ~]# 
-0         0% 0         0% 0         0% 0         0% 0         0% 6        16%  +</code>
-fsstat       fsinfo       pathconf     commit        +
-0         0% 6        16% 3         8% 0         0% +
  
-Client nfs v4+Devenez l'utilisateur **trainee** et créez le fichier **test5.txt** 
-null         read         write        commit       open         open_conf     + 
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +<code> 
-open_noat    open_dgrd    close        setattr      fsinfo       renew         +[root@testvm2 ~]# su - trainee 
-0         0% 0         0% 0         0% 0         0% 6        16% 0         0%  +Last login: Tue Oct 29 13:56:07 CET 2024 on ttyS0 
-setclntid    confirm      lock         lockt        locku        access        + 
-3         8% 3         8% 0         0% 0         0% 0         0% 3         8%  +[trainee@testvm2 ~]$ touch test5.txt 
-getattr      lookup       lookup_root  remove       rename       link          + 
-        8% 3         8% 3         8%         0        0% 0         0%  +[trainee@testvm2 ~]$ ls 
-symlink      create       pathconf     statfs       readlink     readdir       +test4.txt  test5.txt 
-0         0% 0         0% 3         8% 0         0% 0         0% 0         0%  +</code> 
-server_caps  delegreturn  getacl       setacl       fs_locations rel_lkowner   + 
-       25% 0         0% 0         0% 0         0% 0         0% 0         0%  +Déconnectez-vous de la machine virtuelle **testvm2** : 
-secinfo      exchange_id  create_ses   destroy_ses  sequence     get_lease_t   + 
-0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  +<code> 
-reclaim_comp layoutget    getdevinfo   layoutcommit layoutreturn getdevlist    +[root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] 
-        0% 0         0% 0         0% 0         0% 0         0% 0         0%  +[root@redhat9 ~]#  
-(null       +</code> 
-        0+ 
 +Connectez-vous à la machine virtuelle **testvm1** : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh console testvm1 
 +Connected to domain 'testvm1' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm1 /]# 
 +</code> 
 + 
 +Devenez l'utilisateur **trainee** et exécutez la commande **ls**. Vous devez voir le fichier **test5.txt** qui a été créé dans la machine virtuelle **testvm2** :  
 + 
 +<code> 
 +[trainee@testvm1 ~]$ ls 
 +test4.txt  test5.txt 
 + 
 +[trainee@testvm1 ~]$ exit 
 +</code> 
 + 
 +====3.2 - Création d'un Fichier de Mappage Direct==== 
 + 
 +On parle de montage direct lorsqu'un système de fichiers est monté sur un point de montage immuable et connu. Un point de montage direct existe en tant que répertoire permanent, comme les autres répertoires normaux. 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm1** : 
 + 
 +<code> 
 +[root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] 
 +[root@redhat9 ~]#  
 +</code> 
 + 
 +Connectez-vous à la machine virtuelle **testvm2** : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh console testvm2 
 +Connected to domain 'testvm2' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm2 ~]# 
 +</code> 
 + 
 +===Configuration du Serveur=== 
 + 
 +Éditez le fichier **/etc/exports** en y ajoutant la ligne **/mountpoint1    192.168.56.0/24(rw)     2001:db8::/32(rw)** : 
 + 
 +<code> 
 +[root@testvm2 ~]# vi /etc/exports 
 + 
 +[root@testvm2 ~]# cat /etc/exports 
 +/mountpoint     192.168.56.0/24(rw)     2001:db8::/32(rw) 
 +/home           192.168.56.0/24(rw)     2001:db8::/32(rw) 
 +/mountpoint1    192.168.56.0/24(rw)     2001:db8::/32(rw) 
 +</code> 
 + 
 +Redémarrez le service **nfs-server** : 
 + 
 +<code> 
 +[root@testvm2 ~]# systemctl restart nfs-server 
 +</code> 
 + 
 +Créez le répertoire **/mountpoint1** et modifiez les permissions : 
 + 
 +<code> 
 +[root@testvm2 ~]# mkdir /mountpoint1 
 + 
 +[root@testvm2 ~]# chmod 777 /mountpoint1 
 +</code> 
 + 
 +===Configuration du Client=== 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm2** : 
 + 
 +<code> 
 +[root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] 
 +[root@redhat9 ~]#  
 +</code> 
 + 
 +Connectez-vous à la machine virtuelle **testvm1** : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh console testvm1 
 +Connected to domain 'testvm1' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm1 /]# 
 +</code> 
 + 
 +Créez le fichier de mappage direct maître **/etc/auto.master.d/mountpoint1.autofs** : 
 + 
 +<code> 
 +[root@testvm1 /]# vi /etc/auto.master.d/mountpoint1.autofs 
 + 
 +[root@testvm1 /]# cat /etc/auto.master.d/mountpoint1.autofs 
 +/-      /etc/auto.mountpoint1 
 +</code> 
 + 
 +Créez le fichier de mappage **/etc/auto.mountpoint1** : 
 + 
 +<code> 
 +[root@testvm1 /]# vi /etc/auto.mountpoint1 
 + 
 +[root@testvm1 /]# cat /etc/auto.mountpoint1 
 +/mountpoint1    -fstype=nfs4,rw,sync    192.168.56.100:/mountpoint1 
 +</code> 
 + 
 +Redémarrez le service **autofs** : 
 + 
 +<code> 
 +[root@testvm1 /]# systemctl restart autofs 
 + 
 +[root@testvm1 /]# systemctl status autofs 
 +● autofs.service - Automounts filesystems on demand 
 +     Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; preset: d> 
 +     Active: active (running) since Tue 2024-10-29 14:40:16 CET; 8s ago 
 +   Main PID: 3612 (automount) 
 +      Tasks: (limit: 23172) 
 +     Memory: 5.9M 
 +        CPU: 29ms 
 +     CGroup: /system.slice/autofs.service 
 +             └─3612 /usr/sbin/automount --systemd-service --dont-check-daemon 
 + 
 +oct. 29 14:40:16 testvm1.ittraining.loc systemd[1]: Starting Automounts filesys> 
 +oct. 29 14:40:16 testvm1.ittraining.loc systemd[1]: Started Automounts filesyst> 
 +</code> 
 + 
 +Vérifiez la pris en compte de la configuration : 
 + 
 +<code> 
 +[root@testvm1 /]# mount | tail 
 +fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) 
 +/dev/vda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) 
 +none on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700) 
 +sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) 
 +192.168.56.100:/mountpoint on /mnt type nfs4 (rw,relatime,sync,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.56.50,local_lock=none,addr=192.168.56.100) 
 +tmpfs on /run/user/type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=164980k,nr_inodes=41245,mode=700,inode64) 
 +/etc/auto.misc on /misc type autofs (rw,relatime,fd=6,pgrp=3612,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=34473
 +-hosts on /net type autofs (rw,relatime,fd=9,pgrp=3612,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=34474) 
 +/etc/auto.home on /home type autofs (rw,relatime,fd=12,pgrp=3612,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=34475) 
 +/etc/auto.mountpoint1 on /mountpoint1 type autofs (rw,relatime,fd=15,pgrp=3612,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=35368) 
 +</code> 
 + 
 +Créez le fichier **/mountpoint1/test6.txt** : 
 + 
 +<code> 
 +[root@testvm1 /]# touch /mountpoint1/test6.txt 
 + 
 +[root@testvm1 /]# ls /mountpoint1/ 
 +test6.txt 
 +</code> 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm1** : 
 + 
 +<code> 
 +[root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] 
 +[root@redhat9 ~]#  
 +</code> 
 + 
 +Connectez-vous à la machine virtuelle **testvm2** : 
 + 
 +<code> 
 +[root@redhat9 ~]# virsh console testvm2 
 +Connected to domain 'testvm2' 
 +Escape character is ^] (Ctrl + ]) 
 +[Enter] 
 +[root@testvm2 ~]# 
 +</code> 
 + 
 +Consultez ls contenu du répertoire **/mountpoint1** vous devez voir le fichier **test6.txt** : 
 + 
 +<code> 
 +[root@testvm2 ~]# ls -l /mountpoint1 
 +total 0 
 +-rw-r--r--. 1 nobody nobody Oct 29 14:43 test6.txt 
 +</code> 
 + 
 +Déconnectez-vous de la machine virtuelle **testvm2** : 
 + 
 +<code> 
 +[root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] 
 +[root@redhat9 ~]# 
 </code> </code>
  
 ----- -----
-Copyright © 2020 Hugh Norris+Copyright © 2024 Hugh Norris
Menu