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:centos:8:avance:l113 [2024/10/01 07:49] adminelearning:workbooks:centos:8:avance:l113 [2024/10/10 14:21] (Version actuelle) admin
Ligne 5: Ligne 5:
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======LCF510 - Gestion du Démarrage et de l'Arrêt du Système======+======LCF605 - Gestion du Réseau======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **LCF510 - Gestion du Démarrage et de l'Arrêt du Système**+  * **LCF605 - Gestion du Réseau**
     * Contenu du Module     * Contenu du Module
-    * Présentation +    * Comprendre les Réseaux 
-    * BIOS, EFI et OpenFirmware +      * Présentation des Réseaux 
-      * Systèmes à base du BIOS +        * Classification des Réseaux 
-        * Charger de Démarrage +          Classification par Mode de Transmission 
-      Systèmes à base de l'EFI +          Classification par Topologie 
-      Autres Systèmes +          Classification par Étendue 
-    Gestionnaire d'amorçage +          Les Types de LAN 
-      GRUB 2 +        * Le Modèle Client/Serveur 
-        * Le fichier /boot/grub/device.map +        * Modèles de Communication 
-        * Le fichier /etc/default/grub +          * Le modèle OSI 
-        Les fichiers du répertoire /etc/grub.d +          Spécification NDIS et le Modèle ODI 
-        * Configurer l'Authentification +          * Le modèle TCP/IP 
-        Modifier la Configuration de GRUB 2 en Ligne de Commande +        * Les Raccordements 
-      * Chargeurs de Démarrages Alternatifs +          Les Modes de Transmission 
-        * Systemd-boot +          * Les Câbles 
-        * U-boot +          * Les Réseaux sans Fils 
-        * Le Projet Syslinux +          * Le Courant Porteur en Ligne 
-          * SYSLINUX +        * Technologies 
-          * EXTLINUX +          * Ethernet 
-          * ISOLINUX +          * Token-Ring 
-          * PXELINUX +        * Périphériques Réseaux Spéciaux 
-        * Isodhpfx +          * Les Concentrateurs 
-    * Initramfs +          * Les Répéteurs 
-      * Examiner l'image existante +          * Les Ponts 
-      * Le script init +          * Les Commutateurs 
-      * Consulter le contenu d'un fichier dans initramfs +          * Les Routeurs 
-    * Processus de Démarrage du Noyau Linux +          * Les Passerelles 
-    Processus Init +      * Comprendre le Chiffrement 
-    * Systemd +        * Introduction à la cryptologie 
-      * LAB #1 - La Commande systemctl +          * Définitions 
-      * LAB #Fichiers de Configuration +            * La Cryptographie 
-        2.1 - Fichiers de Configuration par Défaut +            * Le Chiffrement par Substitution 
-        2.2 - Surchargement des Fichiers de Configuration par Défaut +        * Algorithmes à clé secrète 
-      * LAB #3 - La Commande systemd-analyze +          * Le Chiffrement Symétrique 
-      * LAB #Les Cibles Systemd +        * Algorithmes à clef publique 
-        4.1 - Contrôler les dépendances d'une Cible +          * Le Chiffrement Asymétrique 
-        4.2 - La Cible par Défaut +          * La Clef de Session 
-      * LAB #Gestion des Services +        * Fonctions de Hachage 
-        5.1 - Gestion des Instances Uniques +        * Signature Numérique 
-        5.2 - Gestion d'Instances Multiples +        * Utilisation de GnuPG 
-        5.3 - Interdire la Modification du Statut d'un Service +          * Présentation 
-    Arrêt Système du Système +          * Installation 
-      La Commande shutdown +          * Configuration 
-      * La Commande reboot +          * Signer un message 
-      La Commande halt +          * Chiffrer un message 
-      * La Commande poweroff+        * PKI 
 +          * Certificats X509 
 +    * Comprendre IPv4 
 +      * En-tête TCP 
 +      * En-tête UDP 
 +      * Fragmentation et Ré-encapsulation 
 +      * Adressage 
 +      * Masques de sous-réseaux 
 +      * VLSM 
 +      * Ports et sockets 
 +      * /etc/services 
 +      * Résolution d'adresses Ethernet 
 +    * Comprendre IPv6 
 +      * Présentation 
 +      * Adresses IPv6 
 +      * Masque de Sous-réseau 
 +      Adresses IPv6 Réservées 
 +      * L'Adresse Link-local 
 +      * DHCPv6 
 +    * Configurer le Réseau 
 +      * La Commande nmcli 
 +    * LAB #- Configuration du Réseau 
 +      1.1 - Connections et Profils 
 +      1.2 - Résolution des Noms  
 +      * 1.- Ajouter une Deuxième Adresse IP à un Profil 
 +      * 1.4 - La Commande hostname 
 +      * 1.5 La Commande ip 
 +      * 1.6 - Activer/Désactiver une Interface Manuellement 
 +      * 1.7 - Routage Statique 
 +        * La commande ip 
 +        * Activer/désactiver le routage sur le serveur 
 +    * LAB #Diagnostique du Réseau 
 +      2.1 - ping 
 +      2.2 - netstat -i 
 +      * 2.3 - traceroute 
 +    * LAB #Connexions à Distance 
 +      3.1 - Telnet 
 +      3.2 - wget 
 +      3.3 - ftp 
 +      * 3.4 - SSH 
 +        * Présentation 
 +          * SSH-1 
 +          * SSH-2 
 +        * Authentification par mot de passe 
 +        * Authentification par clef asymétrique 
 +        * Configuration du Serveur 
 +        Configuration du Client 
 +        Tunnels SSH 
 +      * 3.5 - SCP 
 +        Présentation 
 +        * Utilisation 
 +      * 3.6 - Mise en Place des Clefs Asymétriques
  
-=====Présentation=====+=====Comprendre les Réseaux=====
  
-Le processus de démarrage de Linux peut être résumé en trois étapes majeurs :+====Présentation des Réseaux====
  
-  * Le **firmware** ou **micrologiciel** démarre en effectuant un test rapide du matériel, appelé un **Power-On Self Test** ou **POST**, puis recherche le **Charger de Démarrage** (//Bootloader//) à exécuter à partir d'un support bootable, +La définition d'un réseau peut être résumé ainsi :
-  * Le Charger de Démarrage est exécuté et il détermine quel noyau Linux à charger, +
-  * Le noyau se charge en mémoire et commence à exécuter en arrière plan les programmes nécessaires au fonctionnement du système.+
  
-<WRAP center round tip 60%> +  un ensemble d'**Equipements** (systèmes et périphériques) communiquant entre eux, 
-**A retenir** : Il est possible de consulter le défilement des messages lors du démarrage en appuyant sur la touche <key>Echap</key> ou simultanément sur les touches <key>Ctrl</key>+<key>Alt</key>+<key>F1</key>En sachant que la liste des messages se défilent rapidementil est possible de les consulter **après** le démarrage du système à l'aide de la commande **dmesg** qui lit les derniers messages contenu dans le **Kernel Ring Buffer**. Ces messages sont aussi copiés dans le fichier **/var/log/boot.log**.+  * une entité destinée au transport de données dans différents environnements. 
 + 
 +Pour que la communication soit efficace, elle doit respecter les critères suivants : 
 + 
 +  * présenter des informations compréhensibles par tous les participants, 
 +  * être compatible avec un maximum d'interlocuteurs différents (dans le cas d'un réseau, les interlocuteurs sont des équipements : imprimantes, ordinateurs, clients, serveurs, téléphones...), 
 +  * si l'interlocuteur n'est pas disponible, les informations ne doivent pas se perdre, 
 +  * permettre une réduction des coûts (par ex. interconnexion à bas coût), 
 +  * permettre une productivité accrue (par ex. interconnexion à haut débit), 
 +  * être sécurisée si les informations à transmettre sont dites sensibles, 
 +  * garantir l'**unicité** et de l'**universalité** de l'**accès à l'information**.  
 + 
 +On peut distinguer deux familles d'**Equipements** - les **Eléments Passifs** et les **Eléments Actifs**. 
 + 
 +Les **Eléments Passifs** transmettent le signal d'un point à un autre : 
 + 
 +  * **Les Infrastructures ou Supports** - des câbles, de l'atmosphère ou des fibres optiques permettant de relier **physiquement** des équipements, 
 +  * **La Topologie** - l'architecture d'un réseau définissant les connexions entre les **Equipements** et, éventuellement, la hiérarchie entre eux. 
 + 
 +Les **Eléments Actifs** sont des équipements qui consomment de l'énergie en traitant ou en interprétant le signal. Les **Equipements** sont classés selon leurs fonctions : 
 +  
 +  * **Equipement de Distribution Interne au Réseau** - Répartiteur (Hub, Switch, Commutateur etc.), Borne d'accès (Hotspot), Convertisseur de signal (Transciever), Amplificateur (Répéteur) ..., 
 +  * **Equipement d'Interconnexion de Réseaux** - Routeurs, Ponts ..., 
 +  * **Nœuds** et **Interfaces Réseaux** - postes informatiques, équipements en réseau .... 
 + 
 +Un **Nœud** est une extrémité de connexion qui peut être une intersection de plusieurs connexions ou de plusieurs **Equipements**. 
 + 
 +Une **Interface Réseau** est une prise ou élément d'un **Equipement Actif** faisant la connexion vers d'autres **Equipements** réseaux et qui reçoit et émet des données. 
 + 
 +<WRAP center round important 60%> 
 +**Important** - Dans le cas d'un mélange d'**Equipements** non-homogènes en termes de performances au sein du même réseau, c'est la loi du plus faible qui emporte.
 </WRAP> </WRAP>
  
-Cette description simpliste résume cependant un processus bien plus compliqué que ce cours va détailler.+Tous les **Equipements** connectés au même support doivent respecter un ensemble de règles appelé une **Protocole de Communication**.
  
-=====BIOS, EFI et OpenFirmware=====+Les **Protocoles de Communication** définissent de façon formelle et interopérable la manière dont les informations sont échangées entre les **Equipements**.
  
-====Systèmes à base du BIOS====+Des **Logiciels**, dédiés à la gestion de ces **Protocoles de Communication**, sont installés sur des **Equipements d'Interconnexion** afin de fournir des fonctions de contrôle permettant une communication entre les **Equipements**. 
  
-Au démarrage d'un système à base d'un processeur x86 ou x86-64, le premier programme exécuté a été traditionnellement le BIOSLe BIOS a pour fonction de :+Se basant sur des **Protocoles de Communication**, des **Services** fournissent des fonctionnalités accessibles aux utilisateurs ou d'autres programmes.
  
-  Tester les composants et les circuits, +L'ensemble des **Equipements**, **Logiciels** et **Protocoles de Communication** constitue l'**Architecture Réseau**.
-  Faire appel au BIOS de la carte graphique pour initialiser le système d'affichage, +
-  Détecter les périphériques de stockage, +
-  Lancer le **Charger de Démarrage** du système d'exploitation en utilisant le **bootstrap loader**.+
  
-===Chargeur de Démarrage===+===Classification des Réseaux===
  
-La première partie du Chargeur de Démarrage est en règle générale placé dans le MBR du disque. Le format du MBR est le suivant :+Les réseaux peuvent être classifiés de trois façon différentes :
  
-  * 446 octets pour le Charger de Démarrage+  * par **Mode de Transmission**
-  * 64 octets pour la table de partitions, soit 16 octets par partition décrite+  * par **Topologie**
-  * 2 octets ayant une valeur fixe en hexadécimale de **AA55**.+  * par **Étendue**.
  
-====Systèmes à base de l'EFI====+==Classification par Mode de Transmission==
  
-Depuis 2011, le BIOS est en train d'être remplacé par l'utilisation de l'**[[http://fr.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface|UEFI]]** (**U**nified **E**xtensible **F**irmware **I**nterface ou //Interface micrologicielle extensible unifiée//) issue du développement de l'EFI conçue par Intel pour les processeurs Itanium.. +Il existe deux **Classes** de réseaux dans cette classification :
  
-Sous EFI la première partie du gestionnaire de démarrage est un fichier ayant une extension .efi se trouvant dans un sous-répertoire au nom du système d'exploitation à lancer dans une partition appelée **EFI System Partition** ou **ESP**. Cette partition est normalement montée à **/boot/efi** sous Linux.+  les **Réseaux en Mode de Diffusion**
 +    utilise un seul support de transmission, 
 +    le message est envoyé sur tout le réseau à l'adresse d'**un** destinataire,
  
-Pour que EFI fonctionne, le micrologiciel (**firmware**) d'EFI doit avoir connaissance de chaque système d'exploitation à démarrer.+  les **Réseaux en Mode Point à Point**, 
 +    * une seule liaison entre deux équipements, 
 +    * les nœuds permettent de choisir la route en fonction de l'adresse du destinataire, 
 +    * quand deux nœuds non directement connectés entre eux veulent communiquer ils le font par l'intermédiaire des autres noeuds du réseau.
  
-<WRAP center round tip 60%> +==Classification par Topologie== 
-**A retenir** : Sous Linux c'est l'application **efibootmgr** qui permet de créer et de supprimer des entrées ainsi que de modifier l'ordre de démarrage.+ 
 +<WRAP center round important 60%> 
 +**Important** - La **Topologie Physique** d'un réseau décrit l'organisation de ce dernier en termes de câblage. La **Topologie Logique** d'un réseau décrit comment les données circulent sur le réseau. En effet c'est le choix des concentrateurs ainsi que les connections des câbles qui déterminent la topologie logique.
 </WRAP> </WRAP>
 +
 +**La Topologie Physique**
 +
 +Il existe 6 topologies physiques de réseau :
 + 
 +  * La Topologie en Ligne,
 +  * La Topologie en Bus,
 +  * La Topologie en Etoile,
 +  * La Topologie en Anneau,
 +  * La Topologie en Arbre,
 +  * La Topologie Maillée.
 +
 +**La Topologie en Ligne**
 +
 +Tous les nœuds sont connectés à un seul support. L'inconvénient de cette topologie est que dans le cas d'une défaillance d'une station, le réseau se trouve coupé en deux sous-réseaux.
 +
 +**La Topologie en Bus**
 +
 +Tous les nœuds sont connectés à un seul support (un câble BNC en T) avec des bouchons à chaque extrémité. La longueur du bus est limitée à **185m**. Le nombre de stations de travail est limité à **30**. Les Stations sont reliées au Bus par des 'T'. Les bouchons sont des terminateurs qui sont des résistances de **50 Ohms**. 
 +Quand le support tombe en panne, le réseau ne fonctionne plus. Quand une station tombe en panne, elle ne perturbe pas le fonctionnement de l'ensemble du réseau. Les Stations étant reliés à un suel support, ce type de topologie necessite un **Protocole d'Accès** pour gérer le tour de parole des Stations afin d'éviter des conflits.
 +
 +{{:solaris:sol2:bus.png|}}
 +
 +**La Topologie en Étoile**
 +
 +Chaque nœud est connecté à un périphérique central appelé un **Hub** (**Concentrateur**) ou un **Switch** (**Commutateur**). Un Hub ou un Switch est prévu pour 4, 8, 16, 32 ... stations. En cas d'un réseau d'un plus grand nombre de stations, plusieurs Hubs ou Switches sont connectés ensemble. Quand une station tombe en panne, elle ne perturbe pas le fonctionnement de l'ensemble du réseau. Le point faible de cette topologie est l'équipement central.
 +
 +{{:solaris:sol2:etoile.png|}}
 +
 +**La Topologie en Anneau**
 +
 +Chaque nœud est relié directement à ses deux voisins dans une topologie logique de cercle ininterrompu et une topologie physique en étoile car les stations sont reliées à un type de hub spécial, appelé un **Multistation Access Unit** (MAU).
 +
 +{{:solaris:sol2:ring.png|}}
 +
 +Les stations sont reliées à la MAU par un câble 'IBM' munie d'une prise **AUI** du côté de la carte et une prise **Hermaphrodite** du coté de la MAU. Les données sont échangées dans un sens unidirectionnel. Une trame, appelée un **jeton**, circule en permanence. Si l'anneau est brisé, l'ensemble du réseau s'arrête. Pour cette raison, il est courant de voir deux anneaux contre-rotatifs.
 +
 +**La Topologie en Arbre**
 +
 +La Topologie en Arbre est utilisée dans un réseau hierarchique où le sommet, aussi appelé la **racine**, est connecté à plusieurs noeuds de niveau inférieur. Ces neouds peuvent à leur tour être connectés à d'autres noeuds inférieurs. L'ensemble forme une arborescence. Le point faible de cette topologie est sa racine. En cas de défaillance, le réseau est coupé en deux.
 +
 +**La Topologie Maillée**
 +
 +Cette Topologie est utilisée pour des grands réseaux de distribution tels Internet ou le WIFI. Chaque noeud à tous les autres via des liaisons point à point. Le nombre de liaisons devient très rapidement important en cas d'un grand nombre de noeuds. Par exemple dans le cas de 100 Stations (N), le nombre de liaisons est obtenu par la formule suivante :
 +
 +  N(N-1)/2 = 100(100-1)/2 = 4 950
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-**Important** : L'UEFI gère les **SSD** (//Solid State Drives//) qui utilisent le standard **NVMe** (//Non-Volatile Memory Express//). Linux supporte les SSD depuis le noyau 3.3.+**Important** - La **Topologie Physique** la plus répandue est la **Topologie en Etoile**.
 </WRAP> </WRAP>
  
-====Autres Systèmes====+==Classification par Etendue==
  
-Les systèmes utilisant des processeurs autre qu'un x86 ou x86-64 utilisent un logiciel tel **[[http://fr.wikipedia.org/wiki/Open_Firmware|OpenFirmware]]**.+La classification par étendue nous fournit 4 réseaux principaux :
  
-=====Gestionnaires de Démarrage=====+^ Nom ^ Description ^ Traduction ^ Taille Approximative (M) | 
 +| PAN | Personal Area Network | Réseau Personnel | 1 -10 | 
 +| LAN | Local Area Network | Réseau Local Entreprise (RLE) | 5 - 1 200 | 
 +| MAN | Métropolitain Area Network | Réseau Urbain | 900 - 100 000 | 
 +| WAN | Wide Area Network | Réseau Long Distance (RLD) | 50 000 et au delà |
  
-====GRUB 2====+Cependant, d'autres classification existent :
  
-GRUB 2 est une ré-écriture complète de GRUB Legacy. Il apporte des améliorations, notamment GRUB 2 sait utiliser des partitions RAID et LVM.+| CAN | Campus Area Network | Réseau de Campus | 
 +| GAN | Global Area Network | Réseau Global | 
 +| TAN | Tiny Area Network | Réseau Minuscule | 
 +| FAN | Family Area Network | Réseau Familial | 
 +| SAN | Storage Area Network | Réseau de Stockage |
  
-Le lancement de GRUB 2 se fait en trois étapes :+<WRAP center round important 60%> 
 +**Important** - Etant donné que les WANs sont gérés par des opérateurs de télécommunications qui doivent demander une licence à l'état mais que les LANs ont été historiquement mis en oeuvre dans les entreprises, ces derniers sont en majorité issus du monde informatique.  
 +</WRAP>
  
-  * Etape 1 : Le **boot.img**, stocké dans les 512 premiers octets du secteur 0 avec la table des partitions, est lancé. Son seul but est de lancer l'étape 1.5, +==Les Types de LAN==
-  * Etape 1.5 : Le **core.img**, d'une taille approximative de 25 Ko et stocké dans les secteurs 1 à 62, est lance. Son travail est de charger des pilotes qui supportent de multiples systèmes de fichiers puis de lancer l'étape 2 dans un des systèmes de fichiers, +
-  * Etape 2 : Contenu dans le répertoire **/boot/grub2/**, il lance le menu pour que l'utilisateur puisse choisir les système d'exploitation à lancer.+
  
-Dans le cas où le Charger de Démarrage **GRUB 2** n'est pas installé, il convient de saisir la commande suivante :+Il existe deux types de LAN : 
 +  
 +  le réseau à serveur dédié, 
 +  le réseau poste à poste.
  
-  # grub2-install /dev/périphérique [Entrée]+**Réseau à Serveur Dédié**
  
-où **périphérique** est le nom du périphérique ou l'étape 1 de GRUB2 doit s'installer dans le MBR+Le réseau à serveur dédié est caractérisé par le fait que toutes les ressources ( imprimantes, applications, lecteurs etc. ) sont gérées par le serveur. Les autres micro-ordinateurs ne jouent le rôle de client
  
-**GRUB 2** lit ses entrées de menus à partir du fichier **/boot/grub2/grub.cfg**. Pour visualiser ce fichier, il convient de saisir la commande suivante :+Des exemples des systèmes d'exploitation du réseau à serveur dédié sont 
  
-<code> +  * Windows NT Server, 
-[root@centos8 ~]# cat /boot/grub2/grub.cfg  +  * Windows 2000 Server, 
-# +  * Windows 2003 Server, 
-# DO NOT EDIT THIS FILE +  * Windows 2008 Server, 
-# +  * Linux, 
-# It is automatically generated by grub2-mkconfig using templates +  * Unix
-# from /etc/grub.d and settings from /etc/default/grub +
-#+
  
-### BEGIN /etc/grub.d/00_header ### +{{:solaris:sol2:serveur_dedie.png|}}
-set pager=1+
  
-if [ -f ${config_directory}/grubenv ]; then +**Réseau Poste-à-Poste**
-  load_env -f ${config_directory}/grubenv +
-elif [ -s $prefix/grubenv ]; then +
-  load_env +
-fi +
-if [ "${next_entry}" ] ; then +
-   set default="${next_entry}" +
-   set next_entry= +
-   save_env next_entry +
-   set boot_once=true +
-else +
-   set default="${saved_entry}" +
-fi+
  
-if [ x"${feature_menuentry_id}" = xy ]; then +Le réseau poste à poste est caractérisé par le fait que tous les ordinateurs peuvent jouer le rôle de client et de serveur :
-  menuentry_id_option="--id" +
-else +
-  menuentry_id_option="" +
-fi+
  
-export menuentry_id_option+  * Windows 95, 
 +  * Windows 98, 
 +  * Windows NT Workstation.
  
-if [ "${prev_saved_entry}" ]; then +{{:solaris:sol2:poste_a_poste.png|}}
-  set saved_entry="${prev_saved_entry}+
-  save_env saved_entry +
-  set prev_saved_entry= +
-  save_env prev_saved_entry +
-  set boot_once=true +
-fi+
  
-function savedefault { +===Le Modèle Client/Serveur===
-  if [ -z "${boot_once}" ]; then +
-    saved_entry="${chosen}" +
-    save_env saved_entry +
-  fi +
-}+
  
-function load_video { +Le modèle Client/Serveur est une des modalités des architectures informatiques distribuées. Dans ce modèle un serveur est tout **Logiciel** fournissant un **Service**.  
-  if [ x$feature_all_video_module = xy ]; then +  
-    insmod all_video +Le serveur est aussi :
-  else +
-    insmod efi_gop +
-    insmod efi_uga +
-    insmod ieee1275_fb +
-    insmod vbe +
-    insmod vga +
-    insmod video_bochs +
-    insmod video_cirrus +
-  fi +
-}+
  
-terminal_output console +  * passif, c'est-à-dire en attente permenante d'une demande, appelée une requête d'un client, 
-if [ x$feature_timeout_style = xy ] ; then +  * capable de traiter plusieurs requêtes simultanément en utilisant le **multi-threading**, 
-  set timeout_style=menu +  * garant de l'intégrité globale.
-  set timeout=5 +
-# Fallback normal timeout code in case the timeout_style feature is +
-# unavailable. +
-else +
-  set timeout=5 +
-fi +
-### END /etc/grub.d/00_header ###+
  
-### BEGIN /etc/grub.d/00_tuned ### +Le client est, par contre **actif**, étant à l'origine des requêtes.
-set tuned_params="" +
-set tuned_initrd="" +
-### END /etc/grub.d/00_tuned ###+
  
-### BEGIN /etc/grub.d/01_menu_auto_hide ### +Il existe trois types de modèle client/serveur : 
-if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then +  
-  set last_boot_ok=1 +  * **Plat** - tous les clients communiques avec un seul serveur, 
-else +  * **Hiérarchique** - les clients n'ont de contact qu'avec les serveurs de plus haut niveau qu'eux, 
-  set last_boot_ok=0 +  * **Peer-to-Peer** - les équipements sont à la fois client **et** serveur en même temps.
-fi+
  
-# Reset boot_indeterminate after a successful boot +===Modèles de Communication===
-if [ "${boot_success}" "1" ] ; then +
-  set boot_indeterminate=+
-# Avoid boot_indeterminate causing the menu to be hidden more then once +
-elif [ "${boot_indeterminate}" "1" ]; then +
-  set boot_indeterminate=+
-fi +
-set boot_success=+
-save_env boot_success boot_indeterminate+
  
-if [ x$feature_timeout_style = xy ] ; then +Les réseaux sont bâtis sur des technologies et des modèles. Le modèle **théorique** le plus important est le modèle **O**pen **S**ystem **Interconnection** créé par l'**I**nternational **Organization** for **S**tandardization tandis que le modèle pratique le plus important est le modèle **TCP/IP**.
-  if [ "${menu_show_once}" ]; then +
-    unset menu_show_once +
-    save_env menu_show_once +
-    set timeout_style=menu +
-    set timeout=60 +
-  elif [ "${menu_auto_hide}" -a "${last_boot_ok}" = "1" ]; then +
-    set orig_timeout_style=${timeout_style} +
-    set orig_timeout=${timeout} +
-    if [ "${fastboot}" = "1" ]; then +
-      # timeout_style=menu + timeout=0 avoids the countdown code keypress check +
-      set timeout_style=menu +
-      set timeout=0 +
-    else +
-      set timeout_style=hidden +
-      set timeout=1 +
-    fi +
-  fi +
-fi +
-### END /etc/grub.d/01_menu_auto_hide ###+
  
-### BEGIN /etc/grub.d/01_users ### +== Le modèle OSI ==
-if [ -f ${prefix}/user.cfg ]; then +
-  source ${prefix}/user.cfg +
-  if [ -n "${GRUB2_PASSWORD}" ]; then +
-    set superusers="root" +
-    export superusers +
-    password_pbkdf2 root ${GRUB2_PASSWORD} +
-  fi +
-fi +
-### END /etc/grub.d/01_users ###+
  
-### BEGIN /etc/grub.d/10_linux ### +Le modèle OSI qui a été proposé par l'ISO est devenu le standard en termes de modèle pour décrire l'échange de données entre ordinateurs. Cette norme se repose sur sept couchesde la une la Couche Physiqueà la sept la Couche d'Applicationappelés des services. La communication entre les différentes couches est synchronisée entre le poste émetteur et le poste récepteur grâce à ce que l'on appelle un protocole.
-insmod part_msdos +
-insmod ext2 +
-set root='hd0,msdos1' +
-if [ x$feature_platform_search_hint = xy ]; then +
-  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1 2ae4c035-9244-458c-82c5-a49ae169cdb6 +
-else +
-  search --no-floppy --fs-uuid --set=root 2ae4c035-9244-458c-82c5-a49ae169cdb6 +
-fi +
-insmod part_msdos +
-insmod ext2 +
-set boot='hd0,msdos1' +
-if [ x$feature_platform_search_hint = xy ]; then +
-  search --no-floppy --fs-uuid --set=boot --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  2ae4c035-9244-458c-82c5-a49ae169cdb6 +
-else +
-  search --no-floppy --fs-uuid --set=boot 2ae4c035-9244-458c-82c5-a49ae169cdb6 +
-fi+
  
-# This section was generated by a script. Do not modify the generated file - all changes +Ce modèle repose sur trois termes :
-# will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files. +
-+
-# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and +
-# populates the boot menu. Please refer to the Boot Loader Specification documentation +
-# for the files formathttps://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/.+
  
-set default_kernelopts="root=UUID=4c0cc28c-0d59-45be-bd73-d292b80be33c ro crashkernel=auto resume=UUID=c8bb3f47-d67f-4b21-b781-766899dc83d4 rhgb quiet "+  * Les **Couches**, 
 +  * Les **Protocoles**, 
 +  * Les **Interfaces**.
  
-insmod blscfg +**Les Couches**
-blscfg +
-### END /etc/grub.d/10_linux ###+
  
-### BEGIN /etc/grub.d/20_linux_xen ### +Des sept couches :
-### END /etc/grub.d/20_linux_xen ###+
  
-### BEGIN /etc/grub.d/20_ppc_terminfo ### +  * Les couches 1 à 3 sont les **Couches Basses** orientées **Transmission**, 
-### END /etc/grub.d/20_ppc_terminfo ###+  * La couche 4 est la **Couche Charnière** entre les **Couches Basses** et les **Couches Hautes**, 
 +  * Les couches 5 à 7 sont les **Couches Hautes** orientées **Traitement**.
  
-### BEGIN /etc/grub.d/30_os-prober ### +La couche du même niveau du système **A** parle avec son homologue du système **B**.
-### END /etc/grub.d/30_os-prober ###+
  
-### BEGIN /etc/grub.d/30_uefi-firmware ### +  * **La Couche Physique** ( Couche 1 ) est responsable : 
-### END /etc/grub.d/30_uefi-firmware ###+    * du transfert de données binaires sur le câble physique ou virtuel 
 +    * de la définition de tout aspect physique allant du connecteur jusqu'au câble en passant par la carte réseau, y compris l'organisation même du réseau 
 +    * de la définition des tensions électriques sur le câble pour obtenir le 0 et le 1 binaires
  
-### BEGIN /etc/grub.d/40_custom ### +  * **La Couche de Liaison** ( Couche 2 ) est responsable : 
-# This file provides an easy way to add custom menu entries.  Simply type the +    * de la réception des données de la couche physique 
-# menu entries you want to add after this comment.  Be careful not to change +    * de l'organisation des données en fragments, appelés des trames qui ont un format différent selon s'il s'agit d'un réseau basé sur la technologie Ethernet ou la technologie Token-Ring 
-# the 'exec tailline above. +    * de la préparation, émission et réception des trames 
-### END /etc/grub.d/40_custom ###+    * de la gestion de l'accès au réseau 
 +    * de la communication nœud à nœud 
 +    * de la gestion des erreurs 
 +      * avant la transmission, le nœud émetteur calcule un code appelé un CRC et l'incorpore dans les données envoyées 
 +      * le nœud récepteur recalcule un CRC en fonction du contenu de la trame reçue et le compare à celui incorporé avec l'envoi 
 +      * en cas de deux CRC identique, le nœud récepteur envoie un accusé de réception au nœud émetteur 
 +    * de la réception de l'accusé de réception 
 +    * éventuellement de le ré-émission des données 
 +    * En prenant ce modèle, l'IEEE ( Institute of Electrical and Eletronics Engineers ) l'a étendu avec le Modèle IEEE ( 802 ) 
 +        *Dans ce modèle la Couche de Liaison est divisée en deux sous-couches importantes : 
 +           * La **Sous-Couche LLC** ( Logical Link Control ) qui : 
 +             * gère les accusés de réception 
 +             * gère le flux de trames 
 +           * La **Sous-Couche MAC** ( Media Access Control ) qui : 
 +             * gère la méthode d'accès au réseau 
 +             * le CSMA/CD dans un réseau basé sur la technologie Ethernet 
 +             * l'accès au jeton dans un réseau basé sur la technologie Token-Ring 
 +             * gère les erreurs
  
-### BEGIN /etc/grub.d/41_custom ### +    * **La Couche de Réseau** ( Couche 3 ) est responsable de la gestion de la bonne distribution des différentes informations aux bonnes adresses en : 
-if [ -f  ${config_directory}/custom.cfg ]; then +      * identifiant le chemin à emprunter d'un nœud donné à un autre 
-  source ${config_directory}/custom.cfg +      * appliquant une conversion des adresses logiques ( des noms ) en adresses physiques 
-elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then +      * ajoutant des information adressage aux envois 
-  source $prefix/custom.cfg; +      * détectant des paquets trop volumineux avant l'envoi et en les divisant en trames de données de tailles autorisées
-fi +
-### END /etc/grub.d/41_custom ### +
-</code>+
  
-Notez que ce fichier ne doit pas être modifié manuellement. En effet, il est généré par la commande **grub2-mkconfig**. La commande grub2-mkconfig prend en argument l'emplacement du fichier grub.cfg, par exemple :+    * **La Couche de Transport** ( Couche 4 ) est responsable de veiller à ce que les données soient envoyées correctement en 
 +      * constituant des paquets de données corrects 
 +      * les envoyant dans le bon ordre 
 +      * vérifiant que les données sont traités dans le même ordre que l'ordre d'émission 
 +      * permettant à un processus sur un nœud de communiquer avec un autre nœud et d'échanger des messages avec lui
  
-  grub2-mkconfig -o /boot/grub2/grub.cfgou +    **La Couche de Session** ( Couche 5 ) est responsable : 
-  grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg+      * de l'établissement, du maintien, et de la mise à fin de la communication entre deux noeuds distants, c'est-à-direde la session 
 +      de la conversation entre deux processus de vérification de la réception des messages envoyés en séquences, c'est-à-dire, le point de contrôle
  
-Lors de l'exécution de la commande **grub2-mkconfig** plusieurs fichiers sont lus :+      * de la sécurité lors de l'ouverture de la session, c'est-à-dire, les droits d'utilisateurs etc.
  
-===Le fichier /boot/grub2/device.map===+    * **La Couche de Présentation** ( Couche 6 ) est responsable : 
 +      * du formatage et de la mise en forme des données 
 +      * des conversions de données telles le cryptage/décryptage
  
-<code> +    * **La Couche d'Application** Couche 7 est responsable : 
-[root@centos8 ~]# cat /boot/grub2/device.map +      * du dialogue homme/machine via des messages affichés 
-# this device map was generated by anaconda +      * du partage des ressources 
-(hd0)      /dev/sda +      * de la messagerie
-(hd1)      /dev/sda +
-</code>+
  
-===Le fichier /etc/default/grub===+**Les Protocoles**
  
-Ce fichier contient la configuration par défaut des paramètres de GRUB 2 :+Un **protocole** est un langage commun utilisé par dexu entités en communication pour pouvoir se comprendre. La nature du Protocole dépends directement de la nature de la communication. Cette bature dépend du **paradigme** de communication que l'application nécessite. Le paradigme est un modèle abstrait d'un problème ou d'une situation. Dans le paradigme de la diffusion, l'émetteur envoie dans informations au récepteur sans se soucier de ce que le récepteur va en faire. C'est la responsabilité du récepteur de comprendre et d'utiliser les informations.
  
-<code> +**Les Interfaces**
-[root@centos8 ~]# cat /etc/default/grub +
-GRUB_TIMEOUT=5 +
-GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +
-GRUB_DEFAULT=saved +
-GRUB_DISABLE_SUBMENU=true +
-GRUB_TERMINAL_OUTPUT="console" +
-GRUB_CMDLINE_LINUX="crashkernel=auto resume=UUID=c8bb3f47-d67f-4b21-b781-766899dc83d4 rhgb quiet" +
-GRUB_DISABLE_RECOVERY="true" +
-GRUB_ENABLE_BLSCFG=true +
-</code>+
  
-<WRAP center round important 60%> +Chaque couche rend des **services** à la couche immédiatement supérieure et utilise les services de la couche immédiatement inférieure. L'ensemble des services s'appelle une **Interface**. Les services sont composés de **S**ervice **D**ata **U**nits et sont disponibles par un **S**service **A**ccess **P**oint.
-**Important** : Notez que toute modification de ce fichier nécessite l'exécution de la commande **grub2-mkconfig** pour que les modifications soient prises en compte. +
-</WRAP>+
  
-Dans ce fichier les directives sont :+**Protocol Data Units**
  
- Directive  ^ Description ^ + L'**Unité de Données** ou //Protocol Data Unit// pour chaque couche comporte un nom spécifique :
-| GRUB_TIMEOUT | Durée de l'affichage du menu avant le démarrage en utilisant la valeur de GRUB_DEFAULT | +
-| GRUB_DISTRIBUTOR | Ligne de commande qui génère le texte de l'entrée | +
-| GRUB_DEFAULT | Entrée du menu sélectionner par défaut | +
-| GRUB_DISABLE_SUBMENU | Active ou désactive les sous-menus de GRUB2 | +
-| GRUB_TERMINAL_OUTPUT | Spécifie le terminal par défaut | +
-| GRUB_CMDLINE_LINUX | Paramètres passés au noyau peu importe le type de démarrage | +
-| GRUB_DISABLE_RECOVERY | Active ou désactive la génération des entrées en mode **recovery** +
-| GRUB_BLSCFG | Active ou désactive l'utilisation de la nouvelle spécification du gestionnaire de démarrage pour configurer celui-ci |+
  
-===Les fichiers du répertoire /etc/grub.d===+  * **Application Protocol Data Units** pour la couche **Application**, 
 +  * **Présentation Protocol Data Units** pour la couche **Présentation**, 
 +  * **Session Protocol Data Units** pour la couche **Session**, 
 +  * **Transport Protocol Data Units** pour la couche **Transport**.
  
-Les fichiers de ce répertoire sont exécutés dans l'ordre alphanumérique et servent à construire les menus de GRUB 2 :+Or, pour les **Couches Basses** on parle de :
  
-<code> +  * **Paquets** pour la couche **Réseau**, 
-[root@centos8 ~]#  ls -l /etc/grub.d +  * **Trames** pour la couche **Liaison**, 
-total 92 +  * **Bits** pouyr la couche **Physique**.
--rwxr-xr-x. 1 root root  8958 Mar  2 15:51 00_header +
--rwxr-xr-x. 1 root root  1043 Jun 15  2020 00_tuned +
--rwxr-xr-x. 1 root root   232 Mar  2 15:51 01_users +
--rwxr-xr-x. 1 root root   832 Mar  2 15:51 08_fallback_counting +
--rwxr-xr-x. 1 root root 14088 Mar  2 15:51 10_linux +
--rwxr-xr-x1 root root   830 Mar  2 15:51 10_reset_boot_success +
--rwxr-xr-x. 1 root root   889 Mar  2 15:51 12_menu_auto_hide +
--rwxr-xr-x. 1 root root 11696 Mar  2 15:51 20_linux_xen +
--rwxr-xr-x. 1 root root  2559 Mar  2 15:51 20_ppc_terminfo +
--rwxr-xr-x. 1 root root 10670 Mar  2 15:51 30_os-prober +
--rwxr-xr-x. 1 root root  1412 Mar  2 15:51 30_uefi-firmware +
--rwxr-xr-x. 1 root root   214 Mar  2 15:51 40_custom +
--rwxr-xr-x. 1 root root   216 Mar  2 15:51 41_custom +
--rw-r--r--. 1 root root   483 Mar  2 15:51 README +
-</code>+
  
-  * **Le fichier /etc/grub.d/10_Linux**, +**Encapsulation et Désencapsulation**
-    * Le fichier **10_Linux** contient des boucles pour rechercher des noyaux Linux, +
-  * **Le fichier /etc/grub.d/30_os-prober**, +
-    * Ce fichier recherche des éventuels systèmes d'exploitation autre que Linux, +
-  * **Les fichiers /etc/grub.d/40_custom et /etc/grub.d/41_custom**+
-    Ces deux fichiers sont fournis en tant que modèles à personnaliser.+
  
-===Le Fichier /boot/grub2/grubenv===+Lorque les données sont communiqueés par le système A au système B, celles-ci commencent au niveau de la couche d'Application. Le couche d'Application ajoute une en-tête à l'unité de données qui contient des **informations de contrôle du protocole**. Au passage de chaque couche, celle-ci ajoute sa propre en-tête. De cette façon, lors de sa descente vers la couche physique, les données et l'entête de la couche supérieure sont encapulsulées :
  
-Le fichier **/boot/grub2/grubenv** contient l'entrée du menu sauvegardée, référencée par la directive **GRUB_DEFAULT** du fichier **/etc/default/grub** :+^ Couche Système A ^ Encapsulation ^ 
 +| Application | Application Header (AH) + Unité de Données (UD) | 
 +| Présentation | Présentation Header (PH) + AH + UD | 
 +| Session | Session Header (SH) + PH + AH + UD | 
 +| Transport | Transport Header (TH) + SH + PH + AH + UD | 
 +| Réseau | Network Header (NH) + TH + SH + PH + AH + UD | 
 +| Liaison | Liaison Header (DH) + NH + TH + SH + PH + AH + UD |
  
-<code> +Lors de son voyage de la couche Physique vers la couche Application dans le système B, les en-têtes sont supprimées par chaque couche correspondanteOn parle alors de **désencapsulation** :
-[root@centos8 ~]# cat /boot/grub2/grubenv +
-# GRUB Environment Block +
-saved_entry=de79af4f226d480fa7d3fec4cabbf97a-4.18.0-240.22.1.el8_3.x86_64 +
-kernelopts=root=UUID=4c0cc28c-0d59-45be-bd73-d292b80be33c ro crashkernel=auto resume=UUID=c8bb3f47-d67f-4b21-b781-766899dc83d4 rhgb quiet  +
-boot_success=1 +
-boot_indeterminate=0 +
-########################################################################################################################################## +
-########################################################################################################################################## +
-########################################################################################################################################## +
-########################################################################################################################################## +
-########################################################################################################################################## +
-############################################################[root@centos8 ~]# +
-</code>+
  
-===Modifier la Configuration de GRUB 2 en Ligne de Commande===+^ Couche Système B ^ Encapsulation ^ 
 +| Liaison | Liaison Header (DH) + NH + TH + SH + PH + AH + UD | 
 +| Réseau | Network Header (NH) + TH + SH + PH + AH + UD | 
 +| Transport | Transport Header (TH) + SH + PH + AH + UD | 
 +| Session | Session Header (SH) + PH + AH + UD | 
 +| Présentation | Présentation Header (PH) + AH + UD | 
 +| Application | Application Header (AH) + Unité de Données (UD) |
  
-Lors du démarrage de GRUB 2, trois actions sont possibles à partir du menu :+== Spécification NDIS et le Modèle ODI ==
  
-  * Lancer un système d'exploitation en le sélectionnant avec les flèches puis en appuyant sur la touche <key>Entrée</key>, +La spécification NDIS ( Network Driver Interface Specification ) a été introduite conjointement par les sociétés Microsoft et 3Com. 
-  * Lancer l'éditeur en appuyant sur la touche **e**, +Cette spécification ainsi que son homologue, le modèle ODI ( Open Datalink Interface ) introduit conjointement par les sociétés Novell et Apple à la même époquedéfinit des standards pour les pilotes de cartes réseau afin qu'ils puissent être indépendants des protocoles utilisées et les systèmes d'exploitation sur les machines. Des deux 'standards', la spécification NDIS est le plus répanduintervenant a niveau de la sous-couche MAC et l a couche de liaisonElle spécifie :
-  * Lancer l’interface de la ligne de commande GRUB en appuyant sur la touche **c**.+
  
-En mode édition notez l'utilisation des touches suivantes :+        * l'interface pilote-matériel 
 +        * l'interface pilote-protocole 
 +        * l'interface pilote - système d'exploitation
  
-  * **flèches** : se déplacer dans l'écran. L'édition se fait en utilisant simplement les touches du clavier, +== Le modèle TCP/IP ==
-  * **Crtl-X** : démarrer avec la configuration modifiée, +
-  * **echap** : abandonner les modifications et retourner à l'interface menu de GRUB 2.+
  
-====Chargeurs de Démarrages Alternatifs====+La suite des protocoles TCP/IP ( Transmission Control Protocol / Internet Protocol ) est issu de la DOD ( Dept. Américain de la Défense ) et le travail de l'ARPA ( Advanced Research Project Agency ).  
  
-===Systemd-boot===+    * La suite des protocoles TCP/IP 
 +      * a été introduite en 1974 
 +      * a été utilisée dans l'ARPAnet en 1975 
 +      * permet la communication entre des réseaux à base de systèmes d'exploitation, architectures et technologies différents 
 +      * est très proche du modèle OSI en termes d'architecture et se place au niveau de la couche d'Application jusqu'à la couche Réseau. 
 +      * est, en réalité, une suite de protocoles et de services : 
 +        * **IP** ( Internet Protocol ) 
 +          * le protocole IP s'intègre dans la couche Réseau du modèle OSI en assurant la communication entre les systèmes. Bien qu'il puisse découper des messages en fragments ou datagrammes et les reconstituer dans le bon ordre à l'arrivée, il ne garantit pas la réception. 
 +        * **ICMP** ( Internet Control Message Protocol ) 
 +          * le protocole ICMP produit des messages de contrôle aidant à synchroniser le réseau. Un exemple de ceci est la commande ping. 
 +        * **TCP** ( Transmission Control Protocol ) 
 +          * le protocole TCP se trouve au niveau de la couche de Transport du modèle OSI et s'occupe de la transmission des données entre noeuds. 
 +        * **UDP** ( User Datagram Protocol ) 
 +          * le protocole UDP n'est pas orienté connexion. Il est utilisé pour la transmission rapide de messages entre nœuds sans garantir leur acheminement. 
 +        * **Telnet** 
 +          * le protocole Telnet est utilisé pour établir une connexion de terminal à distance. Il se trouve dans la couche d'Application du modèle OSI. 
 +        * **Ftp** ( File Transfer Protocol ) 
 +          * le protocole ftp est utilisé pour le transfert de fichiers. Il se trouve dans la couche d'Application du modèle OSI. 
 +        * **SMTP** ( Simple Message Transfer Protocol ) 
 +          * le service SMTP est utilisé pour le transfert de courrier électronique. Il se trouve dans la couche d'Application du modèle OSI. 
 +        * **DNS** ( Domain Name Service ) 
 +          * le service DNS est utilisé pour le résolution de noms en adresses IP. Il se trouve dans la couche d'Application du modèle OSI. 
 +        * **SNMP** ( Simple Network Management Protocol ) 
 +          * le protocole SNMP est composé d'un agent et un gestionnaire. L'agent SNMP collecte des informations sur les périphériques, les configurations et les performances tandis que le gestionnaire SNMP reçois ses informations et réagit en conséquence. 
 +        * **NFS** ( Network File System ) 
 +          * le NFS a été mis au point par Sun Microsystems 
 +          * le NFS génère un lien virtuel entre les lecteurs et les disques durs permettant de monter dans un disque virtuel local un disque distant  
 +        * et aussi POP3, NNTP, IMAP etc ...
  
-Un Chargeur de Démarrage étroitement lié à Systemd ( voir plus bas ), celui-ci connaît actuellement un gain de popularité.+Le modèle TCP/IP est composé de 4 couches :
  
-===U-boot===+  * La couche d'Accès Réseau 
 +    * Cette couche spécifie la forme sous laquelle les données doivent être acheminées, quelque soit le type de réseau utilisé. 
 +  * La couche Internet 
 +    * Cette couche est chargée de fournir le paquet de données. 
 +  * La couche de Transport 
 +    * Cette couche assure l'acheminement des données et se charge des mécanismes permettant de connaître l'état de la transmission. 
 +  * La couche d'Application 
 +    * Cette couche englobe les applications standards de réseau telles ftp, telnet, ssh, etc..
  
-Un Chargeur de Démarrage qui peut booter n'importe quelle image à partir de n'importe quel support.+Les noms des Unités de Données sont différents selon le protocole utilisé et la couche du modèle TCP/IP :
  
-===Le Projet Syslinux===+^ Couche  ^ TCP ^ UDP ^ 
 +| Application | Stream | Message | 
 +| Transport | Segment | Packet| 
 +| Internet | Datagram| Datagram | 
 +| Réseau | Frame | Frame | 
  
-==SYSLINUX==+===Les Raccordements===
  
-Un Chargeur de Démarrage pour les systèmes qui utilisent le système de fichier FAT. Par exemple le systèmes sur clefs USB.+==Les Modes de Transmission==
  
-==EXTLINUX==+On peut distinguer 3 modes de transmission :
  
-Un Chargeur de Démarrage de petite taille qui sait booter des systèmes de fichierEXT2EXT3EXT4 et BRTFS.+  * La **Liaison Simplex**, 
 +    * Les données ne circulent que dans un **seul** sens de l'émetteur ver le récepteur, 
 +    * La liaison nécessite deux canaux de transmissions, 
 +  * La **Liaison Half-Duplex** aussi appelée la **Liaison à l'Alternat** ou encore la **Liaison Semi-Duplex**, 
 +    * Les données circulent dans un sens ou l'autre mais jamais dans les deux sens en même temps. Chaque extrémité émet donc à son tour, 
 +    * La liaison permet d'avoir une liaison bi-directionnelle qui utilise la totalité de la banse passante, 
 +  * La **Liaison Full-Duplex** dans les deux sens en **même** temps. Chaque extrémité peut émettre et recevoir simultanément, 
 +    * La liaison est caractérisée par une bande passante divisée par deux pour chaque sens des émissions.
  
-==ISOLINUX==+==Les Câbles==
  
-Un Chargeur de Démarrage pour booter des LiveCD et LiveDVD. Dans le cas d'ISOLINUX, deux fichiers sont necéssaires :+**Le Câble Coaxial**
  
-  * **isolinux.bin** qui contient l'image du Chargeur de Démarrage et +En partant de l'extérieur, le câble coaxial est composé :
-  * **isolinux.cfg** qui contient les paramètres de configuration.+
  
-==PXELINUX==+  * d'une **Gaine** en caoutchouc, PVC ou Téflon pour protéger le câble, 
 +  * d'un **Blindage** en métal pour diminuer le bruit du aux parasites, 
 +  * d'un **Isolant** (diélectrique) pour éviter le contact entre le blindage et l'âme et ainsi éviter des courts-circuits, 
 +  * d'un **Âme** en cuivre ou torsadés pour transporter les données. 
 + 
 +Avantages : 
 + 
 +  * **Peux coûteux**, 
 +  * Facilement **manipulable**, 
 +  * Peut être utilisé pour de **longues distances**, 
 +  * A un débit de 10 Mbit/s dans un LAN et 100 Mbit/s dans un WAN. 
 + 
 +Inconvénients : 
 + 
 +  * Fragile, 
 +  * Instable, 
 +  * Vulnérable aux interférences, 
 +  * Half-Duplex. 
 + 
 +**Le Câble Paire Torsadée** 
 + 
 +Ce câble existe sous deux formes selon son utilisation : 
 + 
 +  * **Monobrin** pour du câblage **horizontal** (**Capillaire**), 
 +    * chaque fil est composé d'un seul conducteur en cuivre, 
 +    * la distance ne doit pas dépassée 90m. 
 + 
 +  * **Multibrin** pour des **cordons de brassage** : 
 +    * chaque fil est composé de plusieurs brins en cuivre, 
 +    * câble souple. 
 + 
 +Avantages : 
 + 
 +  * Un débit de 10 Mbit/s à 10 GBit/s, 
 +  * A une bande passante plus large, 
 +  * Pas d'interruption par coupure du câble, 
 +  * Permet le **câblage universel** (téléphonie, fax, données ...), 
 +  * Full-Duplex. 
 + 
 +Inconvénients : 
 + 
 +  * Nombre de câbles > câble coaxial, 
 +  * Plus cher, 
 +  * Plus encombrant dans les gaines techniques. 
 + 
 +** Catagories de Blindage** 
 + 
 +Il existe trois catagories de blindage : 
 + 
 +  * **Twisted** ou Torsadé, 
 +  * **Foiled** ou Entouré, 
 +  * **Shielded** ou Avec Ecran. 
 + 
 +De ce fait, il existe 5 catagories de câbles Paire Torsadée : 
 + 
 +Nom anglais ^ Appelation Ancienne ^ Nouvelle Appelation ^  
 +|  Unshielded Twisted Pair | UTP | U/UTP | 
 +|  Foiled Twisted Pair | FTP | F/UTP | 
 +|  Shield Twisted Pair | STP | S/UTP | 
 +|  Shield Foiled Twisted Pair | SFTP | SF/UTP | 
 +|  Shield Shield Twisted Pair | S/STP | SS/STP3 | 
 + 
 +Ces catégories donnent lieu à des **Classes** : 
 + 
 +^ Classe ^ Débit ^ Nombre de Paires Torsadées ^ Connecteur ^ Commentaires ^ 
 +| 3 | 10 Mbit/s | 4 | RJ11 | | Téléphonie Analogique et Numérique  
 +| 4 | 16 Mbit/s | 4 | S/O | Non-utilisée de nos jours | 
 +| 5 | 100 Mbit/s | 4 | RJ45 | Obsolète | 
 +| 5e/D | 1 Gbit/s sur 100m | 4 | RJ45 | S/O |  
 +| 6/E | 2.5 Gbit/s sur 100m ou 10 Gbit/s sur 25m à 55m | 4 | Idéal pour PoE | 
 +| 7/F | 10 Gbit/s sur 100m | 4 | GG45 ou Tera | Paires individuellement et collectivement blindées. Problème de compatibilité avec les classes precédentes due au connecteur. | 
 + 
 +**La Prise RJ45** 
 + 
 +Une prise RJ45 comporte 8 broches. Un câble peut être **droit** quand la broche 1 d'une extremité est connectée à la broche 1 de la prise RJ45 à l'autre extrémité, la broche 2 d'une extremité est connectée à la broche 2 de la prise RJ45 à l'autre extrémité et ainsi de suite ou bien **croisé** quand le brochage est inversé. 
 + 
 +Les câbles croisés sont utilisés lors du branchement de deux équipements identiques (PC à PC, Hub à Hub, Routeur à Routeur).  
 + 
 +**Channel Link et Basic Link** 
 + 
 +Le **Channel Link** ou **Canal** est l'ensemble du **Basic Link** ou **Lien** de base et les cordons de brassage et de raccordement des équipements qui sont limités en distance à 10m.  
 + 
 +Le **Basic Link** est le lien entre la prise RJ45 murale et la baie de brassage. Il est limité à 90m en classe 5D. 
 + 
 +==La Fibre Optique== 
 + 
 +La **Fibre Optique** est un fil de **Silice** permettant le transfert de la lumière. De ce fait elle est caractérisée par : 
 + 
 +  * des meilleures performances que le cuivre, 
 +  * de plus de communications simultanément, 
 +  * de la capacité de relier de plus grandes distances, 
 +  * une insensibilité aux perturbations, 
 +  * une résistance à la corrosion. 
 + 
 +Qui plus est, elle ne produit aucune perturbation. 
 + 
 +Elle est composée : 
 + 
 +  * d'un coeur de 10, de 50/125 ou de 62.50 micron, 
 +  * d'une gaine de 125 micron, 
 +  * d'une protection de 230 micron. 
 + 
 +Il existe deux types de fibres, la **Fibre Monomode** et la **Fibre Multimodes**. 
 + 
 +La Fibre Monomode : 
 + 
 +  * a un coeur de 8 à 10 Microns, 
 +  * est divisée en sous-catégories de distance, 
 +    * 10 Km, 
 +    * 15 Km,  
 +    * 20 Km, 
 +    * 50 Km, 
 +    * 80 Km, 
 +    * 100 Km. 
 + 
 +La Fibre Multimode : 
 + 
 +  * a un coeur de 62,50 micron ou de 50/125 micron avec une gaine orange, 
 +  * permet plusieurs trajets lumineux appelés **modes** en même temps en Full Duplex, 
 +  * est utilisée pour de bas débits ou de courtes distances, 
 +    * 2 Km pour 100 Mbit/s, 
 +    * 500 m pour 1 Gbit/s. 
 + 
 +==Les Réseaux sans Fils== 
 + 
 +Les réseaux sans fils sans basés sur une liaison qui utilise des ondes radio-électriques (radio et infra-rouges). 
 + 
 +Il existe des technologies différentes en fonction de la fréquence utilisée et de la portée des transmissions : 
 + 
 +  * Réseaux Personnels sans Fils - Bluetooth, HomeRF, 
 +  * Réseaux Locaux sans Fils - LiFI, WiFI, 
 +  * Réseaux Métropolitains sans Fil - wImax, 
 +  * Réseaux Etendus sans Fils - GSM, GPRS, UMTS. 
 + 
 +Les principales ondes utilisées pour la transmission des données sont : 
 + 
 +  * Ondes GSM  - Ondes Hertziennes repeosant sur des micro-ondes à basse fréquence avec une portée d'une dizaine de kilomètres, 
 +  * Ondes Wi-Fi - Ondes Hertziennes reposant sur des micro-ondes à haute fréquence avec une portée de 20 à 50 mètres, 
 +  * Ondes Satellitaires - Ondes Hertziennes longues portées. 
 + 
 +==Le Courant Porteur en Ligne== 
 + 
 +Le CPL utilise le réseau électrique domestique, le réseau moyenne et basse tension pour transmettre des informations numériques. 
 + 
 +Le CPL superpose un signal à plus haute fréquence au signal électrique. 
 + 
 +Seuls donc, les fils conducteurs transportent les signaux CPL. 
 + 
 +Le coupleur intégré en entrée des boîtiers CPL élimine les composants basses fréquences pour isoler le signal CPL. 
 + 
 +Le CPL utilise la phase électrique et le neutre. De ce fait, une installation triphasée fournit 3 réseaux CPL différents. 
 + 
 +Le signal CPL ne s'arrête pas necéssairement aux limites de l'installation électrique. En effet en cas de compteurs non-numériques le signal les traversent. 
 + 
 +Les normes CPL sont : 
 + 
 +^ Norme ^ Débit Théorique ^ Débit Pratique ^ Temps pour copier 1 Go ^ 
 +| Homeplug 1.01 | 14 Mbps | 5.4 Mbps | 25m 20s | 
 +| Homeplug 1.1 | 85 Mbps | 12 Mbps | 11m 20s | 
 +| PréUPA 200 | 200 Mbps | 30 Mbps | 4m 30s | 
 + 
 +==Technologies== 
 + 
 +Il existe plusieurs technologies de réseau :  
 + 
 +  * Ethernet, 
 +  * Token-Ring, 
 +  * ARCnet, 
 +  * etc.. 
 + 
 +Nous détaillerons ici les deux technologies les plus répandues, à savoir Ethernet et Token-Ring. 
 + 
 +**Ethernet** 
 + 
 +La technologie Ethernet se repose sur : 
 + 
 +  * une topologie logique de bus, 
 +  * une topologie physique de bus ou étoile. 
 + 
 +L'accès au bus utilise le **CSMA/CD**, Carrier Sense Multiple Access / Collision Detection (Accès Multiple à Détection de Porteuse / Détection de Collisions).  
 + 
 +Il faut noter que : 
 + 
 +  * les données sont transmises à chaque nœud - c'est la méthode d'**accès multiple**, 
 +  * chaque nœud qui veut émettre écoute le réseau - c'est la **détection de porteuse**, 
 +  * quand le réseau est silencieux une trame est émise dans laquelle se trouvent les données ainsi que l'adresse du destinataire, 
 +  * le système est dit donc **aléatoire** ou **non-déterministe**, 
 +  * quand deux nœuds émettent en même temps, il y a **collision de données**, 
 +  * les deux nœuds vont donc cesser d'émettre, se mettant en attente jusqu'à ce qu'ils commencent à émettre de nouveau. 
 + 
 +**Token-Ring** 
 + 
 +La technologie Token-Ring se repose sur : 
 + 
 +  * une topologie logique en anneau, 
 +  * une topologie physique en étoile. 
 + 
 +Token-Ring se traduit par **Anneau à Jeton**. Il n'est pas aussi répandu que l'Ethernet pour des raisons de coûts. En effet le rajout d'un nœud en Token-Ring peut coûter jusqu'à **4 fois plus cher qu'en Ethernet**. 
 + 
 +Il faut noter que : 
 + 
 +  * les données sont transmises dans le réseau par un système appelé **méthode de passage de jeton**, 
 +  * le jeton est une **trame numérique vide** de données qui tourne en permanence dans l'anneau, 
 +  * quand un nœud souhaite émettre, il saisit le jeton, y dépose des données avec l'adresse du destinataire et ensuite laisse poursuivre son chemin jusqu'à sa destination, 
 +  * pendant son voyage, aucun autre nœud ne peut émettre, 
 +  * une fois arrivé à sa destination, le jeton dépose ses données et retourne à l'émetteur pour confirmer la livraison, 
 +  * ce système est appelé **déterministe**. 
 + 
 +L'intérêt de la technologie Token-Ring se trouve dans le fait : 
 + 
 +  * qu'il **évite des collisions**, 
 +  * qu'il est **possible de déterminer avec exactitude le temps que prenne l'acheminement des données**. 
 + 
 +La technologie Token-Ring est donc idéale, voire obligatoire, dans des installations où chaque nœud doit disposer d'une opportunité à intervalle fixe d'émettre des données. 
 + 
 +===Périphériques Réseaux Spéciaux=== 
 + 
 +En plus du câblage, les périphériques de réseau spéciaux sont des éléments primordiaux tant au niveau de la topologie physique que la topologie logique. 
 + 
 +Les périphériques de réseau spéciaux sont : 
 + 
 +  * les Concentrateurs ou //Hubs//, 
 +  * les Répéteurs ou //Repeaters//, 
 +  * les Ponts ou //Bridges//, 
 +  * les Commutateurs ou //Switches//, 
 +  * les Routeurs ou //Routers//, 
 +  * les Passerelles ou //Gateways//
 + 
 +L'objectif ici est de vous permettre de comprendre le rôle de chaque périphérique. 
 + 
 +==Les Concentrateurs== 
 + 
 +Les Concentrateurs permettent une connectivité entre les nœuds en topologie en étoile. Selon leur configuration, la topologie logique peut être en étoile, en bus ou en anneau. Il existe de multiples types de Concentrateurs allant du plus simple au Concentrateur intelligent. 
 + 
 +  * **Le Concentrateur Simple**  
 +    * est une boîte de raccordement centrale, 
 +    * joue le rôle de récepteur et du réémetteur des signaux sans accélération ni gestion de ceux-ci, 
 +    * est un périphérique utilisé pour des groupes de travail. 
 + 
 +  * **Le Concentrateur Évolué**  
 +    * est un Concentrateur simple qui offre en plus l'amplification des signaux, la gestion du type de topologie logique grâce à des capacités d'être configurés à l'aide d'un logiciel ainsi que l'homogénéisation du réseau en offrant des ports pour un câblage différent. Par exemple, 8 ports en paire torsadée non-blindée et un port BNC. 
 + 
 +  * **Le Concentrateur Intelligent** 
 +    * est un Concentrateur évolué qui offre en plus la détection automatique des pannes, la connectique avec un Pont ou un Routeur ainsi que le diagnostic et la génération de rapports. 
 + 
 +==Les Répéteurs== 
 + 
 +Un Répéteur est un périphérique réseau simple. Il est utilisé pour amplifier le signal quand : 
 + 
 +  * la longueur du câble dépasse la limite autorisée, 
 +  * le câble passe par une zone ou les interférences sont importantes. 
 + 
 +Éventuellement, et uniquement dans le cas où le Répéteur serait muni d'une telle fonction, celui-ci peut être utiliser pour connecter deux réseaux ayant un câblage différent. 
 + 
 +==Les Ponts== 
 + 
 +Un Pont est **Répéteur intelligent**. Outre sa capacité d'amplifier les signaux, le Pont analyse le trafic qui passe par lui et met à jour une liste d'adresses des cartes réseau, appelée **une table de routage**, n'autorisant que les transmissions destinées à d'autres segments du réseau.  
 + 
 +Les **diffusions** sont néanmoins autorisées. 
 + 
 +Comme un Pont doit être intelligent, on utilise souvent un micro-ordinateur comme Pont. Forcément équipé de 2 cartes réseau, le Pont peut également jouer le rôle de serveur de fichiers. 
 + 
 +Le Pont sert donc à isoler des segments du réseau pour des raisons de : 
 + 
 +  * **sécurité** afin d'éviter à ce que des données sensibles soient propagées sur tout le réseau, 
 +  * **performance** afin qu'une partie du réseau trop chargée ralentisse le réseau entier, 
 +  * **fiabilité** afin par exemple qu'une carte en panne ne gène pas le reste du réseau avec une diffusion. 
 + 
 +Il existe trois types de configuration de Ponts 
 + 
 +**Le Pont de Base** 
 + 
 +Le Pont de Base est utilisé très rarement pour isoler deux segments. 
 + 
 +{{:solaris:sol2:pont1.png|}} 
 + 
 +**Le Pont en Cascade** 
 + 
 +Le Pont en Cascade est à éviter car les données en provenance d'un segment doivent passer par plusieurs Ponts. Ceci a pour conséquence de ralentir la transmission des données, voire même de créer un trafic superflu en cas de rémission par le nœud 
 + 
 +{{:solaris:sol2:pont2.png|}} 
 + 
 +**Le Pont en Dorsale** 
 + 
 +Le Pont en Dorsale coûte plus chère que la configuration précédente car il faut un nombre de Ponts équivalent au nombre de segments + 1. Par contre elle réduit les problèmes précédemment cités puisque les données ne transitent que par deux Ponts. 
 + 
 +{{:solaris:sol2:pont3.png|}} 
 + 
 +==Les Commutateurs== 
 + 
 +Un Commutateur peut être considéré comme un Concentrateur intelligent et un Pont. Ils sont gérés souvent par des logiciels. La topologie physique d'un réseau commuté est en étoile. Par contre la topologie logique est spéciale, elle s'appelle une topologie commutée. 
 + 
 +Lors de la communication de données entre deux nœuds, le Commutateur ouvre une connexion temporaire virtuelle en fermant les autres ports. De cette façon la bande passante totale est disponible pour cette transmission et les risques de collision sont minimisés. 
 + 
 +Certains Commutateurs haut de gamme sont équipés d'un système anti-catastrophe qui leur permet d'isoler une partie d'un réseau en panne afin que les autres parties puissent continuer à fonctionner sans problème. 
 + 
 +==Les Routeurs== 
 + 
 +Un Routeur est un Pont sophistiqué capable :  
 + 
 +  * d'assurer l'interconnexion entre des segments, 
 +  * de filtrer le trafic, 
 +  * d’isoler une partie du réseau, 
 +  * d’ explorer les informations d'adressage pour trouver le chemin le plus approprié et le plus rentable pour la transmission des données. 
 + 
 +Les Routeurs utilisent une table de routage pour stocker les informations sur :
    
-Un Chargeur de Démarrage pour booter à partir d'un serveur réseau. Ce système utilise le standard **PXE** (//Pre-boot Execution Environment//) qui utilise :+  * les adresses du réseau, 
 +  * les solutions de connexion vers d'autres réseaux, 
 +  l'efficacité des différentes routes.
  
-    * **DHCP** pour attribuer une adresse IP à la machine et +Il existe deux types de Routeur :
-    * **BOOTP** pour charger l'image du Chargeur de Démarrage à partir du serveur en utilisant le protocol **TFTP** (//Trivial File Transfer Protocol//). L'image à télécharger doit s'appeler **/tftpboot/pxelinux.0** et chaque machine doit avoir un fichier de configuration dans le répertoire **/tftpboot/pxelinux.cfg/**+
  
-===Isodhpfx===+  * le **Routeur Statique**  
 +    * la table de routage est éditer manuellement, 
 +    * les routes empruntées pour la transmission des données sont toujours les mêmes, 
 +    * il n'y a pas de recherche d'efficacité.
  
-Un Chargeur de Démarrage hybride, appelé **isodhpfx.bin**, qui peut être chargé sur un disque **ou** une clef USB. Le fichier isodhpfx.bin est créé avec le programme **xorriso**.+  le **Routeur Dynamique**  
 +    découvre automatiquement les routes à emprunter dans un réseau.
  
-====Initramfs====+==Les Passerelles==
  
-Le fichier Initramfs //%%INITial Ram File System%%// est une archive au format cpio :+Ce périphérique, souvent un logiciel, sert à faire une conversion de données :
  
-<code> +  * entre deux technologies différentes ( Ethernet Token-Ring ), 
-[root@centos8 ~]# cp /boot/initramfs-4.18.0-240.22.1.el8_3.x86_64.img /tmp/custom +  * entre deux protocoles différents, 
-[root@centos8 ~]# cd /tmp +  * entre des formats de données différents.
-[root@centos8 tmp]# ls +
-cpio.list +
-custom +
-dateref +
-incremental.tar +
-mbr.save +
-systemd-private-9af7a2f7444849578f55b306bfd9f820-chronyd.service-iQiNzF +
-tblpart.save +
-test.cpio +
-test.print +
-test.tar +
-tmp.iso +
-vg0_backup+
  
-[root@centos8 tmp]# mv custom custom.gz+=====Comprendre le Chiffrement=====
  
-[root@centos8 tmp]# gunzip custom.gz+====Introduction à la cryptologie====
  
-[root@centos8 tmp]# mkdir initramfs+===Définitions===
  
-[root@centos8 tmp]# cd initramfs+  * **La Cryptologie** 
 +    * La science qui étudie les aspects scientifiques de ces techniques, c'est-à-dire qu'elle englobe la cryptographie et la cryptanalyse.  
 +  * **La Cryptanalyse** 
 +    * Lorsque la clef de déchiffrement n'est pas connue de l'attaquant on parle alors de cryptanalyse ou cryptoanalyse (on entend souvent aussi le terme plus familier de cassage). 
 +  * **La Cryptographie** 
 +    * Un terme générique désignant l'ensemble des techniques permettant de chiffrer des messages, c'est-à-dire permettant de les rendre inintelligibles sans une action spécifique. Les verbes crypter et chiffrer sont utilisés. 
 +  * **Le Décryptement ou Décryptage** 
 +    * Est le fait d'essayer de déchiffrer illégitimement le message (que la clé de déchiffrement soit connue ou non de l'attaquant).
  
-[root@centos8 initramfs]# cpio -cid -I ../custom +{{ :redhat:lx04:crypto1.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement. }}
-216 blocks +
-[root@centos8 initramfs]# ls +
-bin  dev  etc  init  lib  lib64  proc  root  run  sbin  shutdown  sys  sysroot  tmp  usr  var +
-</code>+
  
-===Examiner l'image existante===+==La Cryptographie==
  
-Pour examiner une image initramfs archivée, il convient d'utiliser la commande **lsinitrd** :+La cryptographie apporte quatre points clefs
  
-<code> +  * La confidentialité 
-[root@centos8 tmp]# lsinitrd custom | more +    * consiste à rendre l'information inintelligible à d'autres personnes que les acteurs de la transaction. 
-Image: custom: 25M +  * L'intégrité 
-======================================================================== +    * consiste à déterminer si les données n'ont pas été altérées durant la communication (de manière fortuite ou intentionnelle). 
-Early CPIO image +  * L'authentification 
-======================================================================== +    * consiste à assurer l'identité d'un utilisateur
-drwxr-xr-x   3 root     root            0 Feb 22 10:57 +  * La non-répudiation 
--rw-r--r--   1 root     root            2 Feb 22 10:57 early_cpio +    * est la garantie qu'aucun des correspondants ne pourra nier la transaction
-drwxr-xr-x   3 root     root            0 Feb 22 10:57 kernel +
-drwxr-xr-x   3 root     root            0 Feb 22 10:57 kernel/x86 +
-drwxr-xr-x   2 root     root            0 Feb 22 10:57 kernel/x86/microcode +
--rw-r--r--   1 root     root       109568 Feb 22 10:57 kernel/x86/microcode/GenuineIntel.bin +
-======================================================================== +
-Version: dracut-049-95.git20200804.el8_3.4+
  
-Arguments: -f --kver '4.18.0-240.22.1.el8_3.x86_64'+La cryptographie est basée sur l'arithmétiqueIl s'agit, dans le cas d'un texte, de transformer les lettres qui composent le message en une succession de chiffres (sous forme de bits dans le cas de l'informatique), puis ensuite de faire des calculs sur ces chiffres pour:
  
-dracut modules: +  * Procéder au chiffrement 
-bash +    * Le résultat de cette modification (le message chiffré) est appelé cryptogramme (Ciphertext) par opposition au message initialappelé message en clair (Plaintext) 
-systemd +  * Procéder au déchiffrement
-systemd-initrd +
-nss-softokn +
-rngd +
-i18n +
-network-legacy +
-network +
-ifcfg +
-drm +
-plymouth +
-prefixdevname +
-kernel-modules +
-kernel-modules-extra +
-kernel-network-modules +
-resume +
-rootfs-block +
-terminfo +
-udev-rules +
-biosdevname +
-dracut-systemd +
-usrmount +
-base +
-fs-lib +
-memstrack +
-microcode_ctl-fw_dir_override +
-shutdown +
-======================================================================== +
-drwxr-xr-x  12 root     root            0 Feb 22 10:57 . +
-crw-r--r--   1 root     root       5,   1 Feb 22 10:57 dev/console +
-crw-r--r--   1 root     root       1 11 Feb 22 10:57 dev/kmsg +
-crw-r--r--   1 root     root       1,   3 Feb 22 10:57 dev/null +
-crw-r--r--   1 root     root       1,   8 Feb 22 10:57 dev/random +
-crw-r--r--   1 root     root       1,   9 Feb 22 10:57 dev/urandom +
-lrwxrwxrwx   1 root     root            7 Feb 22 10:57 bin -> usr/bin +
-drwxr-xr-x   2 root     root            0 Feb 22 10:57 dev +
-drwxr-xr-x  11 root     root            0 Feb 22 10:57 etc +
--rw-r--r--   1 root     root           30 Nov 10  2020 etc/centos-release +
-drwxr-xr-x   2 root     root            0 Feb 22 10:57 etc/cmdline.d +
-drwxr-xr-x   2 root     root            0 Feb 22 10:57 etc/conf.d +
--rw-r--r--   1 root     root          124 Feb 22 10:57 etc/conf.d/systemd.conf +
---More-- +
-</code>+
  
-===Le script init===+Le chiffrement se fait à l'aide d'une clef de chiffrement. Le déchiffrement nécessite  une clef de déchiffrement.
  
-RHEL/CentOS 8 utilise le système de démarrage **systemd**. Pour cette raison le script init est un lien symbolique vers **/usr/lib/systemd/systemd** :+On distingue deux types de clefs: 
 + 
 +  * Les clés symétriques:  
 +    * des clés utilisées pour le chiffrement ainsi que pour le déchiffrement. On parle alors de chiffrement symétrique ou de chiffrement à clé secrète. 
 +  * Les clés asymétriques:  
 +    * des clés utilisées dans le cas du chiffrement asymétrique (aussi appelé chiffrement à clé publique). Dans ce cas, une clé différente est utilisée pour le chiffrement et pour le déchiffrement. 
 + 
 +==Le Chiffrement par Substitution== 
 +  
 +Le chiffrement par substitution consiste à remplacer dans un message une ou plusieurs entités (généralement des lettres) par une ou plusieurs autres entités. On distingue généralement plusieurs types de cryptosystèmes par substitution : 
 + 
 +  * La substitution **monoalphabétique** 
 +    * consiste à remplacer chaque lettre du message par une autre lettre de l'alphabet 
 +  * La substitution **polyalphabétique**  
 +    * consiste à utiliser une suite de chiffres monoalphabétique réutilisée périodiquement 
 +  * La substitution **homophonique**  
 +    * permet de faire correspondre à chaque lettre du message en clair un ensemble possible d'autres caractères 
 +  * La substitution de **polygrammes**   
 +    * consiste à substituer un groupe de caractères (polygramme) dans le message par un autre groupe de caractères 
 + 
 +====Algorithmes à clé secrète==== 
 + 
 +===Le Chiffrement Symétrique=== 
 + 
 +Ce système est aussi appelé le système à **Clef Secrète** ou à **clef privée**. 
 + 
 +Ce système consiste à effectuer une opération de chiffrement par algorithme mais comporte un inconvénient, à savoir qu'il nécessite un canal sécurisé pour la transmission de la clef de chiffrement/déchiffrement. 
 + 
 +{{:redhat:lx04:crypto2.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 +<WRAP center round important 60%> 
 +**Important** - Le système de Méthode du Masque Jetable (One Time Pad) fût mis au point dans les années 1920Il utilisait une clef générée aléatoirement à usage unique. 
 +</WRAP> 
 + 
 +Les algorithmes de chiffrement symétrique couramment utilisés en informatique sont: 
 + 
 +  * **[[wpfr>Data_Encryption_Standard|Data Encryption Standard]]** (DES), 
 +  * **[[wpfr>Triple_DES|Triple DES]]** (3DES), 
 +  * **[[wpfr>RC2]]**,  
 +  * **[[wpfr>Blowfish|Blowfish]]**, 
 +  * **[[wpfr>International_Data_Encryption_Algorithm|International Data Encryption Algorithm]]** (IDEA), 
 +  * **[[wpfr>Standard_de_chiffrement_avancé|Advanced Encryption Standard]]** (AES). 
 + 
 +====Algorithmes à clef publique==== 
 + 
 +===Le Chiffrement Asymétrique=== 
 + 
 +Ce système est aussi appelé **Système à Clef Publique**. 
 + 
 +Ce système consiste à avoir deux clefs appelées des **bi-clefs**: 
 + 
 +  * Une clef **publique** pour le chiffrement 
 +  * Une clef **secrète** ou **privée** pour le déchiffrement 
 + 
 +{{:redhat:lx04:crypto3.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 +  * L'utilisateur A (celui qui déchiffre) choisit une clef privée.  
 +  * A partir de cette clef il génère plusieurs clefs publiques grâce à un algorithme. 
 +  * L'utilisateur B (celui qui chiffre) choisit une des clefs publiques à travers un canal non-sécurisé pour chiffrer les données à l'attention de l'utilisateur A. 
 + 
 +Ce système est basé sur ce que l'on appelle une **fonction à trappe à sens unique** ou **one-way trap door**. 
 + 
 +Il existe toutefois un problème – s'assurer que la clef publique récupérée est bien celle qui correspond au destinataire ! 
 + 
 +Les algorithmes de chiffrement asymétrique couramment utilisés en informatique sont: 
 + 
 +  * **[[wpfr>Digital_Signature_Algorithm|Digital Signature Algorithm]]** (DSA) 
 +  * **[[wpfr>Rivest_Shamir_Adleman|Rivest, Shamir, Adleman]]** (RSA) 
 + 
 +===La Clef de Session=== 
 + 
 +Ce système est un compromis entre le système symétrique et le système asymétrique. Il permet l'envoie de données chiffrées à l'aide d'un algorithme de chiffrement symétrique par un canal non-sécurisé et a été mis au point pour palier au problème de lenteur de déchiffrement du système asymétrique. 
 + 
 +{{:redhat:lx04:crypto4.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 +Ce système fonctionne de la façon suivante : 
 + 
 +  * L'utilisateur A chiffre une clef privée générée aléatoirement, appelée une « clef de session », en utilisant une des clefs publiques de l'utilisateur B. 
 +  * L'utilisateur A chiffre les données avec la clef de session. 
 +  * L'utilisateur B déchiffre la clef de session en utilisant sa propre clef privée. 
 +  * L'utilisateur B déchiffre les données en utilisant la clef de session. 
 + 
 +====Fonctions de Hachage==== 
 + 
 +La fonction de **hachage**, aussi appelée une fonction de **condensation**, est à **sens unique** (one way function). Il « condense » un message en clair et produit un haché unique. 
 + 
 +{{:redhat:lx04:crypto5.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 +Les deux algorithmes de hachage utilisés sont:  
 + 
 +  * **[[wpfr>MD5|Message Digest 5]]** (MD5)  
 +  * **[[wpfr>SHA-1|Secure Hash Algorithm]]** (SHA) 
 + 
 +Lors de son envoie, le message est accompagné de son haché et il est donc possible de garantir son intégrité: 
 + 
 +{{:redhat:lx04:crypto6.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 +  
 +  * A la réception du message, le destinataire ou l’utilisateur B calcule le haché du message reçu et le compare avec le haché accompagnant le document.  
 +  * Si le message ou le haché a été falsifié durant la communication, les deux empreintes ne correspondront pas.  
 + 
 +<WRAP center round important 60%> 
 +**Important** - Ce système permet de vérifier que l'empreinte correspond bien au message reçu, mais ne permet pas de prouver que le message a bien été envoyé par l’utilisateur A. 
 +</WRAP> 
 + 
 +====Signature Numérique==== 
 + 
 +Pour garantir l'authentification du message l‘utilisateur A va chiffrer ou **signer** le haché à l'aide de sa clé privée. Le haché signé est appelé un **sceau**. 
 + 
 +{{:redhat:lx04:crypto7.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 +  * L’utilisateur A envoie le sceau au destinataire. 
 +  * A la réception du message L’utilisateur B déchiffre le sceau avec la clé publique de l’utilisateur A. 
 +  * Il compare le haché obtenu au haché reçu en pièce jointe. 
 +  
 +Ce mécanisme de création de sceau est appelé **scellement**. 
 + 
 +Ce mécanisme est identique au procédé utilisé par SSH lors d'une connexion  
 + 
 +====Utilisation de GnuPG==== 
 + 
 +===Présentation=== 
 + 
 +**GNU Privacy Guard** permet aux utilisateurs de transférer des messages chiffrés et/ou signés. 
 + 
 +===Installation=== 
 + 
 +Sous RHEL 9, le paquet gnupg est installé par défaut :
  
 <code> <code>
-[root@centos8 tmp]# lsinitrd custom | grep usr/lib/systemd/systemd | grep init +[root@centos8 ~]# whereis gpg 
-lrwxrwxrwx   1 root     root           23 Feb 22 10:57 init -> usr/lib/systemd/systemd+gpg: /usr/bin/gpg /usr/share/man/man1/gpg.1.gz
 </code> </code>
  
-===Consulter le contenu d'un fichier dans initramfs===+===Configuration===
  
-Pour consulter le contenu d'un fichier inclus dans l'initramfsil convient d'utiliser la commande **lsinitrd** de la manière suivante :+Pour initialiser %%GnuPG%%saisissez la commande suivante :
  
 <code> <code>
-[root@centos8 tmp]# lsinitrd /boot/initramfs-$(uname -r).img  /etc/ld.so.conf +[root@centos8 ~]# gpg 
-include ld.so.conf.d/*.conf+gpg: directory '/root/.gnupg' created 
 +gpg: keybox '/root/.gnupg/pubring.kbx' created 
 +gpg: WARNING: no command supplied Trying to guess what you mean ... 
 +gpg: Go ahead and type your message ... 
 +^C 
 +gpg: signal Interrupt caught ... exiting
 </code> </code>
  
-====Processus de Démarrage du Noyau Linux====+Pour générer les clefs, saisissez la commande suivante :
  
-Le processus de démarrage du Noyau Linux peut être divisé en 6 étapes :+<code> 
 +[root@centos8 ~]# gpg --full-generate-key 
 +gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation, Inc. 
 +This is free softwareyou are free to change and redistribute it. 
 +There is NO WARRANTY, to the extent permitted by law.
  
-^ Etape ^ Description ^ +Please select what kind of key you want: 
-| Chargement, configuration et exécution du chargeur du noyau | Le fichier **bootsect.s** est chargé en mémoire par le BIOS. Une fois configuré celui-ci charge le reste du noyau en mémoire | +   (1) RSA and RSA (default) 
-| Configuration des paramètres et bascule vers le mode 32 bits | Le fichier **boot.s** met en place un **[[http://fr.wikipedia.org/wiki/Interrupt_Descriptor_Table|IDT]]** (//Interrupt Descriptor Table//temporaire et **[[http://fr.wikipedia.org/wiki/Global_Descriptor_Table|GDT]]** (//Global Descriptor Table//temporaire et gère le basculement vers le mode 32 bits | +   (2DSA and Elgamal 
-| Décompression du Noyau | Le fichier **head.s** décompresse le noyau | +   (3) DSA (sign only) 
-| Initialisation du noyau et de la mémoire | Le fichier **head.s** crée un GDT et IDT définitif | +   (4) RSA (sign only) 
-| Configuration du noyau | Le fichier **main.c** met en place les contraintes de mémoire et configure la mémoire virtuelle | +  (14) Existing key from card 
-| Création du processus Init | Le fichier **main.c** crée le processus init |+Your selection? 1 
 +RSA keys may be between 1024 and 4096 bits long. 
 +What keysize do you want? (2048 
 +Requested keysize is 2048 bits 
 +Please specify how long the key should be valid
 +         0 = key does not expire 
 +      <n>  = key expires in n days 
 +      <n>w = key expires in n weeks 
 +      <n>m = key expires in n months 
 +      <n>y = key expires in n years 
 +Key is valid for? (0)  
 +Key does not expire at all 
 +Is this correct? (y/N) y
  
-La fonction **init_post()** essaie ensuite d'exécuter un des processus suivant dans l'ordre :+GnuPG needs to construct a user ID to identify your key.
  
-  * /sbin/init ==> /usr/sbin/init ==> /usr/lib/systemd/systemd +Real name: I2TCH 
-  * /etc/init +Email address: infos@i2tch.co.uk 
-  * /bin/init +Comment: Test Key 
-  * /bin/sh ==> /bin/bash ==/usr/bin/bash+You selected this USER-ID: 
 +    "I2TCH (Test Key) <infos@i2tch.co.uk>"
  
-Dans le cas d'un échec à ce stade le message **Kernel Panic** sera affiché.+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
 +We need to generate a lot of random bytes. It is a good idea to perform 
 +some other action (type on the keyboard, move the mouse, utilize the 
 +disks) during the prime generation; this gives the random number 
 +generator a better chance to gain enough entropy. 
 +We need to generate a lot of random bytes. It is a good idea to perform 
 +some other action (type on the keyboard, move the mouse, utilize the 
 +disks) during the prime generation; this gives the random number 
 +generator a better chance to gain enough entropy. 
 +gpg: /root/.gnupg/trustdb.gpg: trustdb created 
 +gpg: key 8B4DEC5CC2B2AC5A marked as ultimately trusted 
 +gpg: directory '/root/.gnupg/openpgp-revocs.d' created 
 +gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9666229B8B43D80C1832BE0D8B4DEC5CC2B2AC5A.rev' 
 +public and secret key created and signed.
  
-=====Systemd=====+pub   rsa2048 2021-08-24 [SC] 
 +      9666229B8B43D80C1832BE0D8B4DEC5CC2B2AC5A 
 +uid                      I2TCH (Test Key) <infos@i2tch.co.uk> 
 +sub   rsa2048 2021-08-24 [E] 
 +</code>
  
-Les systèmes de démarrage antérieurs à Systemd, **SysVinit** et **Upstart**, étaient des systèmes de démarrage **séquentiels**. +<WRAP center round important 60%> 
 +**Important** - Lorsque le système vous la demandeentrez la passphrase **fenestros**. 
 +</WRAP>
  
-**Systemd** essaie, par contre, de démarrer autant de services en parallèle que possible. Ceci est rendu possible car la majorité d'architectures matérielles modernes sont multi-cœurs. Si un service dépend d'un autre qui n'est pas encore démarré ce premier est mis en attente dans une mémoire tampon. Qui plus est, les services qui ne sont pas nécessaires au démarrage de la machine, tel cups, ne sont démarrés ultérieurement que si nécessaire. Lors de démarrage, les partitions sont montées en parallèle. Dernièrement, **Systemd** remplace les scripts de démarrage traditionnels avec des binaires compilés, beaucoup plus rapides que leur prédécesseurs.+La liste de clefs peut être visualisée avec la commande suivante :
  
-Au lieu de parler de scripts de démarrage et de niveaux d'exécution**Systemd** utilise la terminologie **Unités** (//Units//) et **Cibles** (//Targets//). Une Unité peut être :+<code> 
 +[root@centos8 ~]# gpg --list-keys 
 +gpg: checking the trustdb 
 +gpg: marginals needed: 3  completes needed: 1  trust model: pgp 
 +gpg: depth: 0  valid:    signed:    trust: 0-0q, 0n, 0m, 0f, 1u 
 +/root/.gnupg/pubring.kbx 
 +------------------------ 
 +pub   rsa2048 2021-08-24 [SC] 
 +      9666229B8B43D80C1832BE0D8B4DEC5CC2B2AC5A 
 +uid           [ultimate] I2TCH (Test Key<infos@i2tch.co.uk> 
 +sub   rsa2048 2021-08-24 [E] 
 +</code>
  
-  * **.automount** - active la fonctionalité d'automount. +<WRAP center round important 60%> 
-  * **.device** - expose une périphérique dans systemd. +**Important** - Pour importer la clef d'un correspondant dans sa trousse de clefs il convient d'utiliser la commande suivante :
-  * **.mount** - contrôle quand et comment les systèmes de fichiers sont montés. +
-  * **.path** - active un service quand il y a un accès à un fichier ou répertoire sous surveillance par le système. +
-  * **.service** - démarre, arrête, redémarre ou recharge un service. +
-  * **.scope** - gère des services. +
-  * **.slice** - regroupe des Unités dans une arborescence afin de limiter des ressources en utilisant des CGroups. +
-  * **.snapshot** - un état sauvegardé du gestionnaire Systemd. +
-  * **.socket** - permet aux Unités d'utiliser des sockets pour la communication inter-processus. +
-  * **.swap** - encapsule une périphérique ou un fichier swap. +
-  * **.timer** - déclenche l'activation d'autres Unités en utilisant des minuteurs de Systemd. +
-  * **.target** - regroupe des Unités multiples afin qu'elles puissent être démarrées en même temps. Par exemple **network.target** regroupe toutes les Unités nécessaires pour démarrer toutes les interfaces réseaux en même temps.+
  
-Une Cible est en quelque sorte une **grande étape** dans le démarrage du système : +  # gpg --import la-clef.asc 
- +</WRAP>
-  * **halt.target** arrête le système. +
-  * **poweroff.target** arrête le système et coupe le courant. +
-  * **shutdown.target** arrête le système+
-  * **rescue.target** - démarre le système en mode single-user (seul root peut s'y connecter). Tous les systèmes de fichiers sont montés mais le réseau n'est pas démarré. +
-  * **emergency.target** - démarre le système en mode single-user (seul root peut s'y connecter). Uniquement le système de fichiers racine est monté en mode lecture seule. Le réseau n'est pas démarré. +
-  * **multi-user.target** - démarre le système en mode multi-utilisateur avec tous les systèmes de fichiers montés et le service network démarré. +
-  * **graphical.target** - démarre le système en multi-user.target puis démarre l'interface graphique. +
-  * **hibernate.target** - sauvegarde l'état courant sur disque et arrête le système. Quand le système est démarré, l'état est restauré. +
-  * **reboot.target** - redémarre le système.+
  
-**Systemd** utilise des Cibles d'une manière similaire à ce que **SysVinit** utilise des niveaux d'exécution. Pour rendre la transition plus facile, il existe des **Cibles** qui "simulent" les niveaux d'exécution de **SysVinit** :+Pour exporter sa clef publique, il convient d'utiliser la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# ls -l /usr/lib/systemd/system/runlevel* +[root@centos8 ~]# gpg --export --armor I2TCH ~/I2TCH.asc 
-lrwxrwxrwx. 1 root root 15 Apr  7 16:55 /usr/lib/systemd/system/runlevel0.target -> poweroff.target +[root@centos8 ~]# cat I2TCH.asc 
-lrwxrwxrwx. 1 root root 13 Apr  7 16:55 /usr/lib/systemd/system/runlevel1.target -> rescue.target +-----BEGIN PGP PUBLIC KEY BLOCK-----
-lrwxrwxrwx. 1 root root 17 Apr  7 16:55 /usr/lib/systemd/system/runlevel2.target -> multi-user.target +
-lrwxrwxrwx. 1 root root 17 Apr  7 16:55 /usr/lib/systemd/system/runlevel3.target -> multi-user.target +
-lrwxrwxrwx. 1 root root 17 Apr  7 16:55 /usr/lib/systemd/system/runlevel4.target -> multi-user.target +
-lrwxrwxrwx. 1 root root 16 Apr  7 16:55 /usr/lib/systemd/system/runlevel5.target -> graphical.target +
-lrwxrwxrwx. 1 root root 13 Apr  7 16:55 /usr/lib/systemd/system/runlevel6.target -> reboot.target+
  
-/usr/lib/systemd/system/runlevel1.target.wants: +mQENBGElDSgBCACih8Jfs1nlSPiK/wGCygz2WSljsiXdXlnSHaklznxNldpY4Xrj 
-total 0+TPl145L95XJkHsMf++74MVMdGBn1TnG6m+J1iXkV2EbZzxw9rExA5u9W6rtzWIzP 
 +a/90kuQNAfc/sCUoAM10MqOvpiuc+vSHoJNuqdh4Vv1K3wSg+yQKBXacStZ/7ZS3 
 +0PFXXFCjP6IW4a7h761EcyCXPWhuDfc7qXqLiRjNJS9xKWj0/Hd/O+UYi20XgGB8 
 +VnjMoHodvNvmmsLCvBM8bsxUxT4izFKRHk4xM2AaQurmiU9i1J8nOC51a2IinOtD 
 +QT1WCryY1pnnNzO14BY8VjN2eFWIFh9R9UZhABEBAAG0JEkyVENIIChUZXN0IEtl 
 +eSkgPGluZm9zQGkydGNoLmNvLnVrPokBTgQTAQgAOBYhBJZmIpuLQ9gMGDK+DYtN 
 +7FzCsqxaBQJhJQ0oAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEItN7FzC 
 +sqxaFAkH/1ZQrtW6oNsATiG0i+X6obmWfMcRaKZiGcT5TNYdjEvXzDM/ND43nVzy 
 +wBHJR6jZ45M4e+OeQAe01VrqBJGirrgZDOg0m8gXdXr0mygAFmUwQ6E+qYlawx7j 
 +29p2al54zpaaRSy2r/y5+hD0KV/OQxzb9xUSm0qhqMFryh+hBBvJXqNVdBH0lk+j 
 +ENK/8BvD5FtjgU6r3pvICWiA+hwSQ2bCT+l2O83twP5o19oRE3dTd+pX5/RI5Kgj 
 ++YuD6jtVzCnA2hbjCJ4xVErEBubg/1f9D4IgnZp5QTaznpH6US2rZ1Xhz2P6Jo95 
 +61kuoR4K4H7zvdyEOgbtZf3iDfrAc/i5AQ0EYSUNKAEIALidAGF/Ev18YfokQy5z 
 +Xssxj2UuKRYwRO6xr731aBaYKgOym0/56Aj944WhWmJ0/RyIMpRz51p/yFLtHy1H 
 +nWg0a3WnwGssQbL4UErEe1wUrNb3hLsvFXYDehZTWcr2adfl94Yv4yaOa9vYmb5p 
 +Qu5tAoDQ1PUqZYsR83IjIQinF2ZgQh6+cK+MfojtwwarmwhHJnYAhbOux3WB0FVy 
 +h6SbGxA4Sps/ANqpgR/TPFlXzXI1vVFN9x9QMhMNGjyO1oIs8dcYLYoixb970shx 
 +9IucE6Yw7SBfVlJ5ezI+Q+CNEzCJgJ/kUXNST/QWdq/h7lSE2CNnhrcYAoOdEAaB 
 +pNUAEQEAAYkBNgQYAQgAIBYhBJZmIpuLQ9gMGDK+DYtN7FzCsqxaBQJhJQ0oAhsM 
 +AAoJEItN7FzCsqxadFgH/R3ncPLtfjlRE0bZM6MUbutnQxq4RbBp9JrbqYhFy97o 
 +lWbhMrca8Ts9pCZE3/kFbsNhg3uoe7rbECYMvmCJ2Gi8RtM45SAyzezYyR45fa2W 
 +825P+DaUdZ4ahX1jzaNEWgzMjKRt2P84ih1St7oW9OcOT/04kCYhmsGfLZPch9+R 
 +W+S8kIoiBJ8ucL5KNy9TAOTTvk4fC7w9plovpU9fJRs7CMg0kKEnTrgkH06bVK65 
 ++4aNWr0LPPNzJaalBMLAghbzcMzRVwsB79AuKciUP/6ZTjyEGXtH/cF5Xxup5qHT 
 +WEhhheTEBxVhlpK40Gs0B6TMSkBGq8LjQ98V3hghYa4= 
 +=0TAN 
 +-----END PGP PUBLIC KEY BLOCK----- 
 +</code>
  
-/usr/lib/systemd/system/runlevel2.target.wants: +Cette clef peut ensuite être jointe à des messages électroniques ou bien être déposée sur un serveur de clefs tel que http://www.keyserver.net.
-total 0+
  
-/usr/lib/systemd/system/runlevel3.target.wants: +===Signer un message===
-total 0+
  
-/usr/lib/systemd/system/runlevel4.target.wants: +Créez maintenant un message à signer :
-total 0+
  
-/usr/lib/systemd/system/runlevel5.target.wants: +<code> 
-total 0+[root@centos8 ~]# vi ~/message.txt 
 +[root@centos8 ~]# cat ~/message.txt 
 +This is a test message for gpg
 </code> </code>
  
-====LAB #1 - La Commande systemctl==== +Pour signer ce message en format binaire, il convient d'utiliser la commande suivante :
- +
-Pour visualiser la liste des Unités, il convient d'utiliser la commande **systemctl** avec l'option **list-units** :+
  
 <code> <code>
-[root@centos8 ~]# systemctl list-units +[root@centos8 ~]# gpg --default-key I2TCH --detach-sign message.txt 
-UNIT                                                                                      LOAD   ACTIVE SUB       DESCRIPTION                                                                   +gpgusing "I2TCH" as default secret key for signing 
-proc-sys-fs-binfmt_misc.automount                                                         loaded active waiting   Arbitrary Executable File Formats File System Automount Point                 +[root@centos8 ~]# ls -l | grep message 
-sys-devices-pci0000:00-0000:00:01.1-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device       loaded active plugged   CD-ROM                                                                        +-rw-r--r--. 1 root root   31 Aug 24 11:22 message.txt 
-sys-devices-pci0000:00-0000:00:03.0-net-enp0s3.device                                     loaded active plugged   82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter)             +-rw-r--r--. 1 root root  329 Aug 24 11:23 message.txt.sig 
-sys-devices-pci0000:00-0000:00:05.0-sound-card0.device                                    loaded active plugged   82801AA AC'97 Audio Controller                                                +[root@centos8 ~]# cat message.txt.sig  
-sys-devices-pci0000:00-0000:00:0d.0-ata3-host2-target2:0:0-2:0:0:0-block-sda-sda1.device  loaded active plugged   VBOX_HARDDISK                                                               +0!f"C 
-sys-devices-pci0000:00-0000:00:0d.0-ata3-host2-target2:0:0-2:0:0:0-block-sda-sda2.device  loaded active plugged   VBOX_HARDDISK 2                                                               +M\²Za%infos@i2tch.co.uk 
-sys-devices-pci0000:00-0000:00:0d.0-ata3-host2-target2:0:0-2:0:0:0-block-sda-sda3.device  loaded active plugged   VBOX_HARDDISK 3                                                               +        M\²ZT2oh@<E=n)\jED$kFvѧ`@ՂL/4XYO?49U*cje?sh 
-sys-devices-pci0000:00-0000:00:0d.0-ata3-host2-target2:0:0-2:0:0:0-block-sda.device       loaded active plugged   VBOX_HARDDISK                                                                 +-p&̨Za2i?qUuQ悐                                     غ<![l 
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb1.device  loaded active plugged   VBOX_HARDDISK                                                               +9٨B|RA?Rk#b2V65mt"vC,:n 
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb10.device loaded active plugged   VBOX_HARDDISK 10                                                              +/H4&                   krZ 
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb11.device loaded active plugged   VBOX_HARDDISK my_ext4                                                         +a+ 6%6O%<z+(qsv[root@centos8 ~]# 
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb12.device loaded active plugged   VBOX_HARDDISK 12                                                              +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb2.device  loaded active plugged   VBOX_HARDDISK 2                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb3.device  loaded active plugged   VBOX_HARDDISK 3                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb4.device  loaded active plugged   VBOX_HARDDISK 4                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb5.device  loaded active plugged   VBOX_HARDDISK 5                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb6.device  loaded active plugged   VBOX_HARDDISK 6                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb7.device  loaded active plugged   VBOX_HARDDISK 7                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb8.device  loaded active plugged   VBOX_HARDDISK 8                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb-sdb9.device  loaded active plugged   VBOX_HARDDISK 9                                                               +
-sys-devices-pci0000:00-0000:00:0d.0-ata4-host3-target3:0:0-3:0:0:0-block-sdb.device       loaded active plugged   VBOX_HARDDISK                                                                 +
-sys-devices-platform-serial8250-tty-ttyS0.device                                          loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS0                                    +
-sys-devices-platform-serial8250-tty-ttyS1.device                                          loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS1                                    +
-sys-devices-platform-serial8250-tty-ttyS2.device                                          loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS2                                    +
-sys-devices-platform-serial8250-tty-ttyS3.device                                          loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS3                                    +
-sys-devices-virtual-block-dm\x2d0.device                                                  loaded active plugged   /sys/devices/virtual/block/dm-0                                               +
-sys-devices-virtual-block-dm\x2d1.device                                                  loaded active plugged   /sys/devices/virtual/block/dm-1                                               +
-sys-devices-virtual-net-virbr0.device                                                     loaded active plugged   /sys/devices/virtual/net/virbr0                                               +
-sys-devices-virtual-net-virbr0\x2dnic.device                                              loaded active plugged   /sys/devices/virtual/net/virbr0-nic                                           +
-sys-module-configfs.device                                                                loaded active plugged   /sys/module/configfs                                                          +
-sys-subsystem-net-devices-enp0s3.device                                                   loaded active plugged   82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter            +
-sys-subsystem-net-devices-virbr0.device                                                   loaded active plugged   /sys/subsystem/net/devices/virbr0                                             +
-sys-subsystem-net-devices-virbr0\x2dnic.device                                            loaded active plugged   /sys/subsystem/net/devices/virbr0-nic                                         +
--.mount                                                                                   loaded active mounted   Root Mount                                                                    +
-boot.mount                                                                                loaded active mounted   /boot                                                                         +
-dev-hugepages.mount                                                                       loaded active mounted   Huge Pages File System                                                        +
-dev-mqueue.mount                                                                          loaded active mounted   POSIX Message Queue File System                                               +
-run-user-1000.mount                                                                       loaded active mounted   /run/user/1000                                                                +
-sys-kernel-config.mount                                                                   loaded active mounted   Kernel Configuration File System                                              +
-sys-kernel-debug.mount                                                                    loaded active mounted   Kernel Debug File System                                                      +
-sys-kernel-tracing.mount                                                                  loaded active mounted   /sys/kernel/tracing                                                           +
-var-lib-nfs-rpc_pipefs.mount                                                              loaded active mounted   RPC Pipe File System                                                          +
-cups.path                                                                                 loaded active running   CUPS Scheduler                                                                +
-systemd-ask-password-plymouth.path                                                        loaded active waiting   Forward Password Requests to Plymouth Directory Watch                         +
-systemd-ask-password-wall.path                                                            loaded active waiting   Forward Password Requests to Wall Directory Watch                             +
-init.scope                                                                                loaded active running   System and Service Manager                                                    +
-session-96.scope                                                                          loaded active running   Session 96 of user trainee                                                    +
-atd.service                                                                               loaded active running   Job spooling tools                                                            +
-auditd.service                                                                            loaded active running   Security Auditing Service                                                     +
-avahi-daemon.service                                                                      loaded active running   Avahi mDNS/DNS-SD Stack                                                       +
-chronyd.service                                                                           loaded active running   NTP client/server                                                             +
-crond.service                                                                             loaded active running   Command Scheduler                                                             +
-cups.service                                                                              loaded active running   CUPS Scheduler                                                                +
-dbus.service                                                                              loaded active running   D-Bus System Message Bus                                                      +
-dracut-shutdown.service                                                                   loaded active exited    Restore /run/initramfs on shutdown                                            +
-firewalld.service                                                                         loaded active running   firewalld - dynamic firewall daemon                                           +
-lines 1-57+
 </code> </code>
  
-Pour consulter la liste des Unités inactifsutilisez la commande suivante :+Pour signer ce message en format asciiil convient d'utiliser la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl list-units --all | grep inactive | more +[root@centos8 ~]# gpg --default-key I2TCH --armor --detach-sign message.txt 
-● boot.automount                                                                                                 not-found inactive dead      boot.automount                                                                               +gpg: using "I2TCH" as default secret key for signing 
-  proc-fs-nfsd.mount                                                                                             loaded    inactive dead      NFSD configuration filesystem                                                                +[root@centos8 ~]# ls -l | grep message 
-  proc-sys-fs-binfmt_misc.mount                                                                                  loaded    inactive dead      Arbitrary Executable File Formats File System                                                +-rw-r--r--. 1 root root   31 Aug 24 11:22 message.txt 
-  sys-fs-fuse-connections.mount                                                                                  loaded    inactive dead      FUSE Control File System                                                                     +-rw-r--r--. 1 root root  512 Aug 24 11:24 message.txt.asc 
-● sysroot.mount                                                                                                  not-found inactive dead      sysroot.mount                                                                                +-rw-r--r--. 1 root root  329 Aug 24 11:23 message.txt.sig 
-  tmp.mount                                                                                                      loaded    inactive dead      Temporary Directory (/tmp)                                                                   +[root@centos8 ~]# cat message.txt.asc 
-  var-lib-machines.mount                                                                                         loaded    inactive dead      Virtual Machine and Container Storage                                                        +-----BEGIN PGP SIGNATURE----- 
-  systemd-ask-password-console.path                                                                              loaded    inactive dead      Dispatch Password Requests to Console Directory Watch                                        + 
-● apparmor.service                                                                                               not-found inactive dead      apparmor.service                                                                             +iQFGBAABCAAwFiEElmYim4tD2AwYMr4Ni03sXMKyrFoFAmElDywSHGluZm9zQGky 
-  auth-rpcgss-module.service                                                                                     loaded    inactive dead      Kernel Module supporting RPCSEC_GSS                                                          +dGNoLmNvLnVrAAoJEItN7FzCsqxac1YIAIohAPQ8x2G60HW8yhJKIJxCLrM+gvKz 
-  cpupower.service                                                                                               loaded    inactive dead      Configure CPU power related settings                                                         +GsTB/l+vPDEP6fToBnvMkvQwJqqQ7C0m7WkE4M2VWte6RxcpnUVcdwSlkpTKT4ww 
-● display-manager.service                                                                                        not-found inactive dead      display-manager.service                                                                      +Dbwlt7kgwX0MNPr4qOQfAG8azJB40UCRd9aq3nwstdZWmLiQ48zraR/h50WOFN/H 
-  dm-event.service                                                                                               loaded    inactive dead      Device-mapper event daemon                                                                   +0muyB4khwk2lonE/z7T09BNb8kMajK0CC+ZTSb2eOHb4U2C1jfzUybfR2v2+ApmC 
-  dnf-makecache.service                                                                                          loaded    inactive dead      dnf makecache                                                                                +Dmj4vu2jM5YnElP5Kbz4me/JY5zZbYIFhTb8TMq7kVIuibaB4keERVdd+fk0FY1Z 
-  dracut-cmdline.service                                                                                         loaded    inactive dead      dracut cmdline hook                                                                          +WFggEvw1tSuoC3rZ0y1c0Rj59HoZ9QxaKX8n+wq5+A4k8slt6WzuAu8= 
-  dracut-initqueue.service                                                                                       loaded    inactive dead      dracut initqueue hook                                                                        +=//z2 
-  dracut-mount.service                                                                                           loaded    inactive dead      dracut mount hook                                                                            +-----END PGP SIGNATURE-----
-  dracut-pre-mount.service                                                                                       loaded    inactive dead      dracut pre-mount hook                                                                        +
-  dracut-pre-pivot.service                                                                                       loaded    inactive dead      dracut pre-pivot and cleanup hook                                                            +
-  dracut-pre-trigger.service                                                                                     loaded    inactive dead      dracut pre-trigger hook                                                                      +
-  dracut-pre-udev.service                                                                                        loaded    inactive dead      dracut pre-udev hook                                                                         +
-  ebtables.service                                                                                               loaded    inactive dead      Ethernet Bridge Filtering tables                                                             +
-  emergency.service                                                                                              loaded    inactive dead      Emergency Shell                                                                              +
-  initrd-cleanup.service                                                                                         loaded    inactive dead      Cleaning Up and Shutting Down Daemons                                                        +
-  initrd-parse-etc.service                                                                                       loaded    inactive dead      Reload Configuration from the Real Root                                                      +
-  initrd-switch-root.service                                                                                     loaded    inactive dead      Switch Root                                                                                  +
-  initrd-udevadm-cleanup-db.service                                                                              loaded    inactive dead      Cleanup udevd DB                                                                             +
-● ip6tables.service                                                                                              not-found inactive dead      ip6tables.service                                                                            +
-● ipset.service                                                                                                  not-found inactive dead      ipset.service                                                                                +
-● iptables.service                                                                                               not-found inactive dead      iptables.service                                                                             +
-  iscsi-onboot.service                                                                                           loaded    inactive dead      Special handling of early boot iSCSI sessions                                                +
-  iscsi.service                                                                                                  loaded    inactive dead      Login and scanning of iSCSI devices                                                          +
-  iscsid.service                                                                                                 loaded    inactive dead      Open-iSCSI                                                                                   +
-  iscsiuio.service                                                                                               loaded    inactive dead      iSCSI UserSpace I/O driver                                                                   +
-  ldconfig.service                                                                                               loaded    inactive dead      Rebuild Dynamic Linker Cache                                                                 +
-  libvirt-guests.service                                                                                         loaded    inactive dead      Suspend/Resume Running libvirt Guests                                                        +
-  libvirtd.service                                                                                               loaded    inactive dead      Virtualization daemon                                                                        +
-  loadmodules.service                                                                                            loaded    inactive dead      Load legacy module configuration                                                             +
-● lvm2-activation.service                                                                                        not-found inactive dead      lvm2-activation.service                                                                      +
-  lvm2-lvmpolld.service                                                                                          loaded    inactive dead      LVM2 poll daemon                                                                             +
-  mdmonitor.service                                                                                              loaded    inactive dead      Software RAID monitoring and management                                                      +
-  microcode.service                                                                                              loaded    inactive dead      Load CPU microcode update                                                                    +
-● network.service                                                                                                not-found inactive dead      network.service                                                                              +
-  nfs-blkmap.service                                                                                             loaded    inactive dead      pNFS block layout mapping daemon                                                             +
-  nfs-convert.service                                                                                            loaded    inactive dead      Preprocess NFS configuration convertion                                                      +
-  nfs-idmapd.service                                                                                             loaded    inactive dead      NFSv4 ID-name mapping service                                                                +
-  nfs-mountd.service                                                                                             loaded    inactive dead      NFS Mount Daemon                                                                             +
-  nfs-server.service                                                                                             loaded    inactive dead      NFS server and services                                                                      +
-  nfs-utils.service                                                                                              loaded    inactive dead      NFS server and client services                                                               +
-  nfsdcld.service                                                                                                loaded    inactive dead      NFSv4 Client Tracking Daemon                                                                 +
-  nftables.service                                                                                               loaded    inactive dead      Netfilter Tables                                                                             +
-● ntpd.service                                                                                                   not-found inactive dead      ntpd.service                                                                                 +
-● ntpdate.service                                                                                                not-found inactive dead      ntpdate.service                                                                              +
-  plymouth-switch-root.service                                                                                   loaded    inactive dead      Plymouth switch root service                                                                 +
-  rc-local.service                                                                                               loaded    inactive dead      /etc/rc.d/rc.local Compatibility                                                             +
-  rescue.service                                                                                                 loaded    inactive dead      Rescue Shell                                                                                 +
-  rpc-gssd.service                                                                                               loaded    inactive dead      RPC security service for NFS client and server                                               +
---More--+
 </code> </code>
  
-Les points noirs au début de certaines lignes dans la sortie ci-dessus sont en réalité des points blancs à l'écran. Ces points impliquent que le service, la cible ou l'unité spécifié n'a pas été trouvé sur le système. Par exemple :+Pour vérifier la signature d'un message signé en mode ascii, il convient d'utiliser la commande :
  
 <code> <code>
-[root@centos8 ~]# systemctl status ntpd +[root@centos8 ~]# gpg --verify message.txt.asc 
-Unit ntpd.service could not be found.+gpg: assuming signed data in 'message.txt' 
 +gpg: Signature made Tue 24 Aug 2021 11:24:28 EDT 
 +gpg:                using RSA key 9666229B8B43D80C1832BE0D8B4DEC5CC2B2AC5A 
 +gpg:                issuer "infos@i2tch.co.uk" 
 +gpg: Good signature from "I2TCH (Test Key) <infos@i2tch.co.uk>" [ultimate]
 </code> </code>
  
-Pour consulter la liste des Unités ainsi que leurs statutsutilisez la commande suivante :+Pour vérifier la signature d'un message signé en mode ascii et produit en dehors du message lui-mêmeil convient d'utiliser la commande :
  
 <code> <code>
-[root@centos8 ~]# systemctl list-unit-files | more +[root@centos8 ~]# gpg --verify message.txt.asc message.txt 
-UNIT FILE                                                              STATE     +gpg: Signature made Tue 24 Aug 2021 11:24:28 EDT 
-proc-sys-fs-binfmt_misc.automount                                      static    +gpg:                using RSA key 9666229B8B43D80C1832BE0D8B4DEC5CC2B2AC5A 
--.mount                                                                generated +gpg:                issuer "infos@i2tch.co.uk" 
-boot.mount                                                             generated +gpg: Good signature from "I2TCH (Test Key) <infos@i2tch.co.uk>" [ultimate]
-dev-hugepages.mount                                                    static    +
-dev-mqueue.mount                                                       static    +
-proc-fs-nfsd.mount                                                     static    +
-proc-sys-fs-binfmt_misc.mount                                          static    +
-sys-fs-fuse-connections.mount                                          static    +
-sys-kernel-config.mount                                                static    +
-sys-kernel-debug.mount                                                 static    +
-tmp.mount                                                              disabled  +
-var-lib-machines.mount                                                 static    +
-var-lib-nfs-rpc_pipefs.mount                                           static    +
-cups.path                                                              enabled   +
-systemd-ask-password-console.path                                      static    +
-systemd-ask-password-plymouth.path                                     static    +
-systemd-ask-password-wall.path                                         static    +
-session-96.scope                                                       transient +
-arp-ethers.service                                                     disabled  +
-atd.service                                                            enabled   +
-auditd.service                                                         enabled   +
-auth-rpcgss-module.service                                             static    +
-autovt@.service                                                        enabled   +
-avahi-daemon.service                                                   enabled   +
-blk-availability.service                                               disabled  +
-chrony-dnssrv@.service                                                 static    +
-chrony-wait.service                                                    disabled  +
-chronyd.service                                                        enabled   +
-cockpit-motd.service                                                   static    +
-cockpit-wsinstance-http-redirect.service                               static    +
-cockpit-wsinstance-http.service                                        static    +
-cockpit-wsinstance-https-factory@.service                              static    +
-cockpit-wsinstance-https@.service                                      static    +
-cockpit.service                                                        static    +
-console-getty.service                                                  disabled  +
-container-getty@.service                                               static    +
-cpupower.service                                                       disabled  +
-crond.service                                                          enabled   +
-cups-browsed.service                                                   disabled  +
-cups.service                                                           enabled   +
-dbus-org.fedoraproject.FirewallD1.service                              enabled   +
-dbus-org.freedesktop.Avahi.service                                     enabled   +
-dbus-org.freedesktop.hostname1.service                                 static    +
-dbus-org.freedesktop.import1.service                                   static    +
-dbus-org.freedesktop.locale1.service                                   static    +
-dbus-org.freedesktop.login1.service                                    static    +
-dbus-org.freedesktop.machine1.service                                  static    +
-dbus-org.freedesktop.nm-dispatcher.service                             enabled   +
-dbus-org.freedesktop.portable1.service                                 static    +
-dbus-org.freedesktop.timedate1.service                                 enabled   +
-dbus.service                                                           static    +
-debug-shell.service                                                    disabled  +
-dm-event.service                                                       static    +
-dnf-makecache.service                                                  static    +
-dnsmasq.service                                                        disabled  +
-dracut-cmdline.service                                                 static    +
---More--+
 </code> </code>
  
-Pour visualiser les Unités d'un type spécifique, il convient d'utiliser l'option **-t** :+Pour signer ce message **dans le message lui-même** en format ascii, il convient d'utiliser la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl list-unit-files -t mount +[root@centos8 ~]# gpg --default-key I2TCH --clearsign message.txt 
-UNIT FILE                     STATE     +gpg: using "I2TCH" as default secret key for signing 
--.mount                       generated +File 'message.txt.asc' exists. Overwrite? (y/N) y 
-boot.mount                    generated +[root@centos8 ~]# ls -l | grep message 
-dev-hugepages.mount           static    +-rw-r--r--. 1 root root   31 Aug 24 11:22 message.txt 
-dev-mqueue.mount              static    +-rw-r--r--. 1 root root  592 Aug 24 11:28 message.txt.asc 
-proc-fs-nfsd.mount            static    +-rw-r--r--. 1 root root  329 Aug 24 11:23 message.txt.sig 
-proc-sys-fs-binfmt_misc.mount static    +[root@centos8 ~]# cat message.txt.asc 
-sys-fs-fuse-connections.mount static    +-----BEGIN PGP SIGNED MESSAGE----- 
-sys-kernel-config.mount       static    +Hash: SHA256
-sys-kernel-debug.mount        static    +
-tmp.mount                     disabled  +
-var-lib-machines.mount        static    +
-var-lib-nfs-rpc_pipefs.mount  static   +
  
-12 unit files listed.+This is a test message for gpg 
 +-----BEGIN PGP SIGNATURE----- 
 + 
 +iQFGBAEBCAAwFiEElmYim4tD2AwYMr4Ni03sXMKyrFoFAmElEBMSHGluZm9zQGky 
 +dGNoLmNvLnVrAAoJEItN7FzCsqxaQa0H+gLxI8PTEJtbg6q+PmhlsQq2PkITRDFB 
 +bC5vW8CQzXUNA08aqkBEOgA1OvX9gJG0Q/aJO7fPrQFWP9g7IYPax/GvmgHCmS7B 
 +Hc5uULOawGvulctflk7xCmhgtaFndwCUN685xCPDOdhUMs0rX9Zqj8pKhbwh4Xpz 
 +Q7vY5gPJTn2aj4PL5GkXN/ZzGclFTVN9o5BQuxYnTCB694WzZepf48dMPaIdlDxJ 
 +l2yHf/jZGt2ZE2hoVllvjMN81LhjaqMxIoSTLwUAn+WBtrwNreQdERxtQv0waIA7 
 +NNFzGPdi0HGdJhjYJ/v4eFbi5X4gvHVVazzOpY5p48yVgCRAwZHJh/0= 
 +=C3OQ 
 +-----END PGP SIGNATURE-----
 </code> </code>
  
-Dans la colonne STATE on voit les mots **static** et **generated**. +===Chiffrer un message===
  
-  * STATE = static +Pour chiffrer un messageil faut disposer de la clef publique du destinataire du messageCe dernier utilisera ensuite sa clef privée pour déchiffrer le messageIl convient de préciser le destinataire du messageou plus précisément la clef publique à utiliser, lors d'un chiffrement :
-    * Ceci implique que l'Unité ne peut ni être démarréeni être arrêtée par l'administrateurLe démarrage et l'arrêt d'une telle Unité est effectué par le systèmeEn règle généraleles Unités dont le STATE est static sont des dépendances d'autres Unité+
  
-  * STATE = generated +    gpg --recipient <destinataire> --encrypt <message> 
-    * Ceci implique que le fichier a été généré automatiquement en utilisant les informations dans le fichier **/etc/fstab** lors du démarrage du systèmeDans le cas d'un point de montage, l'exécutable respopnsable de la génération du fichier est **/lib/systemd/system-generators/systemd-fstab-generator** :+ 
 +  * //<destinataire>// représente toute information permettant de distinguer sans ambigüité une clef publique dans votre trousseauCette information peut-être le nom ou l'adresse email associé à la clef publique que vous voulez utiliser,  
 +  * //<message>// représente le message à chiffrer. 
 + 
 +Par exemple pour chiffrer un message en mode binaire, il convient de saisir la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# ls -l /lib/systemd/system-generators/systemd-fstab-generator +[root@centos8 ~]# gpg --recipient I2TCH --encrypt message.txt 
--rwxr-xr-x. 1 root root 46096 Apr  7 16:56 /lib/systemd/system-generators/systemd-fstab-generator+[root@centos8 ~]# ls -l | grep message 
 +-rw-r--r--. 1 root root   31 Aug 24 11:22 message.txt 
 +-rw-r--r--. 1 root root  592 Aug 24 11:28 message.txt.asc 
 +-rw-r--r--. 1 root root  367 Aug 24 11:30 message.txt.gpg 
 +-rw-r--r--. 1 root root  329 Aug 24 11:23 message.txt.sig 
 +[root@centos8 ~]# cat message.txt.gpg 
 + 
 +EeJ վ 
 + 
 +     pqa=w_wZI)0,G@"s"+i:(AVG;@GX)[㏤ba9hh%7 
 +                                            Wg7X 
 +                                                o#U>g̖ɉHEre8K\R*4u0n@"{SIlgt6gy]܄Z{t0'ҏ@k{%I~}puO-#făt^S)[Ŝ)Xq=#94t;fMҥC|UVoɜ,H|+.!4:DmZlO]bI{H[root@centos8 ~]#
 </code> </code>
  
-Il existe aussi d'autres exécutables responsables de la génération d'autres fichiers :+Et pour chiffrer un message en mode ascii, il convient de saisir la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# ls -l /lib/systemd/system-generators +[root@centos8 ~]# gpg --recipient I2TCH --armor --encrypt message.txt 
-total 508 +File 'message.txt.asc' exists. Overwrite? (y/N) y 
--rwxr-xr-x. 1 root root    504 Jan  4 11:25 kdump-dep-generator.sh +[root@centos8 ~]# ls -l | grep message 
--r-xr-xr-x1 root root 134976 Aug 17  2020 lvm2-activation-generator +-rw-r--r--. 1 root root   31 Aug 24 11:22 message.txt 
--rwxr-xr-x. 1 root root  67792 Jul 20  2020 nfs-server-generator +-rw-r--r--. 1 root root  561 Aug 24 11:32 message.txt.asc 
--rwxr-xr-x. 1 root root  38216 Jul 20  2020 rpc-pipefs-generator +-rw-r--r--. 1 root root  367 Aug 24 11:30 message.txt.gpg 
--rwxr-xr-x. 1 root root    743 Apr 23  2020 selinux-autorelabel-generator.sh +-rw-r--r--. 1 root root  329 Aug 24 11:23 message.txt.sig 
--rwxr-xr-x. 1 root root  33504 Apr  7 16:56 systemd-cryptsetup-generator +[root@centos8 ~]# cat message.txt.asc  
--rwxr-xr-x. 1 root root  16648 Apr  7 16:56 systemd-debug-generator +-----BEGIN PGP MESSAGE----- 
--rwxr-xr-x. 1 root root  46096 Apr  7 16:56 systemd-fstab-generator + 
--rwxr-xr-x. 1 root root  17064 Apr  7 16:56 systemd-getty-generator +hQEMA0XsZUog1b4LAQf7BgGL8LMcMbLdD4nSOwc45FLNyj9MXkr0ru01jBRb3UP/ 
--rwxr-xr-x. 1 root root  29432 Apr  7 16:56 systemd-gpt-auto-generator +MW6VxWekLrWOXRBvFo/dS1Y/KIAYiZ9kDVSYwbbrQxOql/F4sWBagWAOs/gzeWt6 
--rwxr-xr-x. 1 root root  12568 Apr  7 16:56 systemd-hibernate-resume-generator +MrKuOK6pgPdgO57AcImOeUjPL42RHh6enGRdud+GWiZNQKAvPiCNikfhJUza+o1Z 
--rwxr-xr-x. 1 root root  12368 Apr  7 16:56 systemd-rc-local-generator +GyAcq5RMSuohOp2weai5CwcVqZddrTvKzjkoUrMCwnMxGKjdbNRC3+DKEI9B4L3j 
--rwxr-xr-x. 1 root root  12408 Apr  7 16:56 systemd-system-update-generator +7Dno9DseQcebD3NYEICSt2oJr+xazejiLj4X8nerBrCqV7nK9v7mvxTKCIL5iOBR 
--rwxr-xr-x. 1 root root  33544 Apr  7 16:56 systemd-sysv-generator +duBPFvgJuSVnSJZ+XzBeEQ8q24L3FLV9B5yJnF+e8tJeASweIXfqWaeWNObfAHC3 
--rwxr-xr-x. 1 root root  17024 Apr  7 16:56 systemd-veritysetup-generator+dkMtvNUNs6jkmFUGdONYosNlHW9jFWllpe2Q5Ra13kdZob3o1eevU2iGBAx0Gi0Z 
 +yEB3HjqYFKxFj+lCj4KP59O55sEpePgAo2qhPhfeMw== 
 +=UDxQ 
 +-----END PGP MESSAGE-----
 </code> </code>
  
-Les options de la commande **systemctl** sont :+Pour décrypter un message il convient d'utiliser la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl --help +[root@centos8 ~]# gpg --decrypt message.txt.asc 
-systemctl [OPTIONS...] {COMMAND} ...+gpg: encrypted with 2048-bit RSA key, ID 45EC654A20D5BE0B, created 2021-08-24 
 +      "I2TCH (Test Key) <infos@i2tch.co.uk>" 
 +This is a test message for gpg 
 +</code>
  
-Query or send control commands to the systemd manager.+====PKI====
  
-  -h --help           Show this help +On appelle **[[wpfr>Public_Key_Infrastructure|PKI]]** (Public Key Infrastucture, ou en français **infrastructure à clé publique (ICP)**, parfois **infrastructure de gestion de clés (IGC)**) l’ensemble des solutions techniques basées sur la cryptographie à clé publique. 
-     --version        Show package version + 
-     --system         Connect to system manager +Les cryptosystèmes à clés publiques permettent de s'affranchir de la nécessité d'avoir recours systématiquement à un canal sécurisé pour s'échanger les clés. En revanche, la publication de la clé publique à grande échelle doit se faire en toute confiance pour assurer que : 
-     --user           Connect to user service manager + 
-  -H --host=[USER@]HOST +    * La clé publique est bien celle de son propriétaire ; 
-                      Operate on remote host +    * Le propriétaire de la clé est digne de confiance ; 
-  -M --machine=CONTAINER +    * La clé est toujours valide.  
-                      Operate on local container + 
-  -t --type=TYPE      List units of a particular type +Ainsi, il est nécessaire d'associer au bi-clé (ensemble clé publique / clé privée) un certificat délivré par un **tiers de confiance** : l'infrastructure de gestion de clés. 
-     --state=STATE    List units with particular LOAD or SUB or ACTIVE state + 
-  -p --property=NAME  Show only properties by this name +Le tiers de confiance est une entité appelée communément autorité de certification (ou en anglais Certification authority, abrégé CA) chargée d'assurer la véracité des informations contenues dans le certificat de clé publique et de sa validité. 
-  -a --all            Show all properties/all units currently in memory, + 
-                      including dead/empty onesTo list all units installed on +Pour ce faire, l'autorité signe le certificat de clé publique à l'aide de sa propre clé en utilisant le principe de signature numérique. 
-                      the system, use the 'list-unit-files' command instead+ 
-     --failed         Same as --state=failed +Le rôle de l'infrastructure de clés publiques est multiple et couvre notamment les champs suivants : 
-  -l --full           Don't ellipsize unit names on output + 
-  ---recursive      Show unit list of host and local containers +    * enregistrer des demandes de clés en vérifiant l'identité des demandeurs ; 
-     --reverse        Show reverse dependencies with 'list-dependencies+    * générer les paires de clés (clé privée / clé publique) ; 
-     --job-mode=MODE  Specify how to deal with already queued jobswhen +    * garantir la confidentialité des clés privées correspondant aux clés publiques ; 
-                      queueing a new job +    * certifier l'association entre chaque utilisateurs et sa clé publique ; 
-     --show-types     When showing socketsexplicitly show their type +    * révoquer des clés (en cas de perte par son propriétaire, d'expiration de sa date de validité ou de compromission).  
-     --value          When showing propertiesonly print the value + 
-  ---ignore-inhibitors +Une infrastructure à clé publique est en règle générale composée de trois entités distinctes : 
-                      When shutting down or sleeping, ignore inhibitors + 
-     --kill-who=WHO   Who to send signal to +    * L'autorité d'enregistrement (AE ou RA pour Recording authority), chargée des formalité administratives telles que la vérification de l'identité des demandeurs, le suivi et la gestion des demandes, etc.) ; 
-  -s --signal=SIGNAL  Which signal to send +    * L'autorité de certification (AC ou CA pour Certification Authority), chargée des tâches techniques de création de certificats. L'autorité de certification est ainsi chargée de la signature des demandes de certificat (CSR pour Certificate Signing Request, parfois appelées PKCS#10, nom du format correspondant). L'autorité de certification a également pour mission la signature des listes de révocations (CRL pour Certificate Revocation List) ; 
-     --now            Start or stop unit in addition to enabling or disabling it +    * L'Autorité de dépôt (Repository) dont la mission est de conserver en sécurité les certificats. 
-     --dry-run        Only print what would be done + 
-  -q --quiet          Suppress output +===Certificats X509=== 
-     --wait           For (re)startwait until service stopped again + 
-     --no-block       Do not wait until operation finished +Pour palier aux problèmes liés à des clefs publiques piratées, un système de certificats a été mis en place. 
-     --no-wall        Don't send wall message before halt/power-off/reboot + 
-     --no-reload      Don't reload daemon after en-/dis-abling unit files +Le certificat permet d’associer la clef publique à une entité ou une personne. Les certificats sont délivrés par des Organismes de Certification. 
-     --no-legend      Do not print a legend (column headers and hints) + 
-     --no-pager       Do not pipe output into a pager +Les certificats sont des fichiers divisés en deux parties :  
-     --no-ask-password + 
-                      Do not ask for system passwords +  * La partie contenant les informations  
-     --global         Enable/disable/mask unit files globally +  * La partie contenant la signature de l'autorité de certification 
-     --runtime        Enable/disable/mask unit files temporarily until next + 
-                      reboot +La structure des certificats est normalisée par le standard **[[wpfr>X.509|X.509]]** de l’**[[wpfr>UIT|Union internationale des télécommunications]]**.  
-  -f --force          When enabling unit files, override existing symlinks + 
-                      When shutting down, execute action immediately +Elle contient :  
-     --preset-mode=   Apply only enable, only disable, or all presets + 
-     --root=PATH      Enable/disable/mask unit files in the specified root +  * Le nom de l'autorité de certification  
-                      directory +  * Le nom du propriétaire du certificat  
-  ---lines=INTEGER  Number of journal entries to show +  * La date de validité du certificat  
-  -o --output=STRING  Change journal output mode (short, short-precise+  * L'algorithme de chiffrement utilisé  
-                             short-isoshort-iso-precise, short-full, +  * La clé publique du propriétaire  
-                             short-monotonic, short-unix, + 
-                             verboseexportjson, json-pretty, json-sse, cat+Le Certificat est signé par l'autorité de certification: 
-     --firmware-setup Tell the firmware to show the setup menu on next boot + 
-     --plain          Print unit dependencies as a list instead of a tree+{{:redhat:lx04:crypto8.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 +La vérification se passe ainsi: 
 + 
 +{{:redhat:lx04:crypto9.gif|Cette image issue de Comment Ça Marche (www.commentcamarche.net) est mise à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de l'image, dans les conditions fixées par la licence, tant que cette note apparaît clairement.}} 
 + 
 + 
 +=====Comprendre IPv4====
 + 
 +==== En-tête TCP ===
 + 
 +L'en-tête TCP est codée sur 4 octets soit 32 bits :  
 + 
 +^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +|   Port source   ||   Port destination   || 
 +|   Numéro de séquence   |||| 
 +|   Numéro d'acquittement   |||| 
 +|   Offset  |  Flags  |  Fenêtre   || 
 + Checksum  ||  Pointeur Urgent  || 
 +|  Options  |||  Padding 
 +|  Données  |||| 
 + 
 +Vous noterez que les numéros de ports sont codés sur 16 bits. Cette information nous permet de calculer le nombres de ports maximum en IPv4, soit 2<sup>16</sup> ports ou 65 535
 + 
 +L'**Offset** contient la taille de l'en-tête. 
 + 
 +Les **Flags** sont : 
 + 
 +  * URG Si la valeur est 1 le pointeur urgent est utilisé. Le numéro de séquence et le pointeur urgent indique un octet spécifique
 +  * ACK Si la valeur est 1, le paquet est un accusé de réception 
 +  * PSH Si la valeur est 1, les données sont immédiatement présentées à l'application 
 +  * RST Si la valeur est 1, la communication comporte un problème et la connexion est réinitialisée 
 +  * SYN Si la valeur est 1, le paquet est un paquet de synchronisation 
 +  * FIN Si la valeur est 1, le paquet indique la fin de la connexion 
 + 
 +La **Fenêtre** est codée sur 16 bits. La Fenêtre est une donnée liée au fonctionnement d'expédition de données appelé le **sliding window** ou la **fenêtre glissante**. Puisque il serait impossible, pour des raisons de performance, d'attendre l'accusé de réception de chaque paquet envoyé, l'expéditeur envoie des paquets par groupe. La taille de cette groupe s'appelle la Fenêtre. Dans le cas d'un problème de réception d'une partie de la Fenêtre, toute la Fenêtre est ré-expédiée. 
 + 
 +Le **Checksum** est une façon de calculer si le paquet est complet. 
 + 
 +Le **Padding** est un champ pouvant être rempli de valeurs nulles de façon à ce que la taille de l'en-tête soit un multiple de 32 
 + 
 +==== En-tête UDP ==== 
 + 
 +L'en-tête UDP est codée sur 4 octets soit 32 bits :  
 + 
 +^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +|   Port source   ||   Port destination   || 
 +|   longueur   ||   Checksum   || 
 +|  Données  |||| 
 + 
 +L'en-tête UDP a une longueur de 8 octets. 
 + 
 +==== Fragmentation et Ré-encapsulation ==== 
 + 
 +La taille limite d'un paquet TCP, l'en-tête comprise, ne peut pas dépasser **65 535 octets**. Cependant chaque réseau est qualifié par son MTU ( Maximum Tranfer Unit ). Cette valeur est la taille maximum d'un paquet autorisée. L'unité est en **octets**. Pour un réseau Ethernet sa valeur est de 1 500. Quand un paquet doit être expédié sur un réseau ayant un MTU inférieur à sa propre taille, le paquet doit être **fractionné**. A la sortie du réseau, le paquet est reconstitué. Cette reconstitution s'appelle **ré-encapsulation**. 
 + 
 +==== Adressage ==== 
 + 
 +L'adressage IP requière que chaque périphérique sur le réseau possède une adresse IP unique de 4 octetssoit 32 bits au format XXX.XXX.XXX.XXX De cette façon le nombre total d'adresses est de 2<sup>32</sup> = 4.3 Milliards. 
 + 
 +Les adresses IP sont divisées en 5 classes, de A à E. Les 4 octets des classes A à C sont divisés en deux, une partie qui s'appelle le **Net ID** qui identifie le réseau et une partie qui s'appelle le **Host ID** qui identifie le hôte  : 
 + 
 +    ^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +|  A  |   Net ID     Host ID   ||| 
 +|  B  |   Net ID    ||   Host ID   || 
 +|  C  |   Net ID    |||   Host ID   | 
 +|  D  |   Multicast  |||| 
 +|  E  |   Réservé  |||| 
 + 
 +L'attribution d'une classe dépend du nombre de hôtes à connecter. Chaque classe est identifié par un **Class ID** composé de 1 à 3 bits : 
 + 
 +^  Classe  ^  Bits ID Classe  ^  Valeur ID Classe  ^  Bits ID Réseau  ^  Nb. de Réseaux  ^  Bits ID hôtes  ^  Nb. d'adresses  ^  Octet de Départ 
 +|  A  |  1  |  0  |  7  |  2<sup>7</sup>=128  |  24  |  2<sup>24</sup>=16 777 216  |  1 126  | 
 +|  B  |  2  |  10  |  14  |  2<sup>14</sup>=16 834  |  16  |  2<sup>16</sup>=65 535  |  128 191  | 
 +|  C  |  3  |  110  |  21  |  2<sup>21</sup>=2 097 152  |  8  |  2<sup>8</sup>=256  |  192 223  | 
 +  
 +Le réseau 127. est réservé. Il s'appelle le **loopback** et identifie la machine locale. 
 + 
 +Dans chaque classecertaines adresses sont réservées pour un usage privé : 
 + 
 +^  Classe  ^  IP de Départ  ^  IP de Fin  ^ 
 +|  A  |  10.0.0.0  |  10.255.255.255 
 +|  B  |  172.16.0.0  |  172.31.255.255 
 +|  C  |  192.168.0.0  |  192.168.255.255 
 + 
 +Il existe des adresses particulières ne pouvant pas être utilisées pour identifier un hôte : 
 + 
 +^  Adresse Particulière  ^  Description 
 +|  169.254.0.0 à 169.254.255.255  |  Automatic Private IP Addressing de Microsoft 
 +|  Hôte du réseau courant  |  Tous les bits du Net ID sont à 0  | 
 +|  Adresse de réseau  |  Tous les bits du Host ID sont à 0  | 
 +|  Adresse de diffusion  |  Tous les bits du Host ID sont à 1  | 
 + 
 +L'adresse de réseau identifie le **segment** du réseau entier tandis que l'adresse de diffusion identifie tous les hôtes sur le segment de réseau. 
 + 
 +Afin de mieux comprendre l'adresse de réseau et l'adresse de diffusionprenons le cas de l'adresse 192.168.10.1 en classe C : 
 + 
 +^    ^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +^    ^  Net ID  ^^^  Host ID  ^ 
 +|  Adresse IP  |   192     168    10  |  1  | 
 +|  Binaire  |   11000000     10101000    000001010  |  00000001 
 +|  Calcul de l'adresse de réseau  ||||| 
 +|  Binaire  |   11000000     10101000    000001010  |  **00000000** 
 +|  Adresse réseau  |   192     168    10  |  0  | 
 +|  Calcul de l'adresse de diffusion  ||||| 
 +|  Binaire  |   11000000     10101000    000001010  |  **11111111** 
 +|  Adresse de diffusion |   192     168    10  |  255  | 
 + 
 +==== Masques de sous-réseaux ==== 
 + 
 +Tout comme l'adresse IP, le masque de sous-réseau compte 4 octets ou 32 bits. Les masques de sous-réseaux permettent d'identifer le Net ID et le Host ID : 
 + 
 +^  Classe  ^  Masque  ^  Notation CIDR  ^ 
 +|  A  |  255.0.0.0  |  /8  | 
 +|  B  |  255.255.0.0  |  /16  | 
 +|  C  |  255.255.255.0  |  /24  | 
 + 
 +Le terme **CIDR** veut dire **Classless %%InterDomain%% Routing**. Le terme Notation CIDR correspond au nombre de bits d'une valeur de 1 dans le masque de sous-réseau. 
 + 
 +Quand un hôte souhaite émettre il procède d'abord à l'identification de sa propre adresse réseau par un calcul AND (ET) appliqué à sa propre adresse et son masque de sous-réseau qui stipule : 
 + 
 +  * 1 x 1 
 +  * 0 x 1 = 0 
 +  * 1 x 0 = 0 
 +  * 0 x 0 = 0 
 + 
 +Prenons le cas de l'adresse IP 192.168.10.1 ayant un masque de 255.255.255.0 : 
 + 
 +^    ^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +|  Adresse IP  |   192     168    10  |  1  | 
 + Binaire  |   11000000     10101000    00001010  |  00000001 
 +|  Masque de sous-réseau  ||||| 
 +|  Binaire  |   11111111     11111111    11111111 |  00000000 
 +|  Calcul AND  |   11000000     10101000    00001010 |  00000000 
 +|  Adresse réseau  |   192     168    10  |  0  | 
 + 
 + 
 +Cet hôte essaie de communiquer avec un hôte ayant une adresse IP de 192.168.10.10. Il procède donc au même calcul en appliquant **son propre masque de sous-réseau** à l'adresse IP de l'hôte destinataire : 
 + 
 +^    ^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +|  Adresse IP  |   192     168    10  |  10  | 
 +|  Binaire  |   11000000     10101000    00001010  |  00001010 
 +|  Masque de sous-réseau  ||||| 
 + Binaire  |   11111111     11111111    11111111 |  00000000 
 +|  Calcul AND  |   11000000     10101000    00001010 |  00000000 
 +|  Adresse réseau  |   192     168    10  |  0  | 
 + 
 +Puisque l'adresse réseau est identique dans les deux cas, l'hôte émetteur présume que l'hôte de destination se trouve sur son réseau et envoie les paquets directement sur le réseau sans s'adresser à sa passerelle par défaut. 
 + 
 +L'hôte émetteur essaie maintenant de communiquer avec avec un hôte ayant une adresse IP de 192.168.2.1. Il procède donc au même calcul en appliquant **son propre masque de sous-réseau** à l'adresse IP de l'hôte destinataire : 
 + 
 +^    ^ 1er octet ^ 2ème octet ^ 3ème octet ^ 4 ème octet ^ 
 +|  Adresse IP  |   192     168    2  |  1  | 
 +|  Binaire  |   11000000     10101000    00000010  |  00000001 
 +|  Masque de sous-réseau  ||||| 
 +|  Binaire  |   11111111     11111111    11111111 |  00000000 
 +|  Calcul AND  |   11000000     10101000    00000010 |  00000000 
 +|  Adresse réseau  |   192     168    2  |  0  | 
 + 
 +Dans ce casl'hôte émetteur constate que le réseau de destination 192.168.2.0 n'est pas identique à son propre réseau 192.168.10.0. Il adresse donc les paquets à la passerelle par défaut. 
 + 
 +==== VLSM ==== 
 + 
 +Puisque le stock de réseaux disponibles sous IPv4 est presque épuisé, une solution a du être trouvée pour créer des sous-réseaux en attendant l'introduction de l'IPv6. Cette solution s'appelle le VLSM ou Variable Length Subnet Masks. Le VLSM exprime les masques de sous-réseaux au format CIDR.  
 + 
 +Son principe est simple. Afin de créer des réseaux différents à partir d'une adresse réseau d'une classe donnée, il convient de réduire le nombre d'hôtes. De cette façon les bits 'libérés' du Host ID peuvent être utilisés pour identifier les sous-réseaux. 
 + 
 +Pour illustrer ceci, prenons l'exemple d'un réseau 192.168.1.0. Sur ce réseau, nous pouvons mettre 2<sup>8</sup>-2 soit 254 hôtes entre 192.168.1.1 au 192.168.1.254. 
 + 
 +Supposons que nous souhaiterions diviser notre réseau en 2 sous-réseaux. Pour coder 2 sous-réseaux, il faut que l'on libère 2 bits du Host ID. Les deux bits libérés auront les valeurs binaires suivantes : 
 + 
 +  * 00 
 +  * 01 
 +  * 10 
 +  * 11 
 + 
 +Les valeurs binaires du quatrième octet de nos adresses de sous-réseaux seront donc : 
 + 
 +  * 192.168.1.00XXXXXX 
 +  * 192.168.1.01XXXXXX 
 +  * 192.168.1.10XXXXXX 
 +  * 192.168.1.11XXXXXX 
 + 
 +où les XXXXXX représentent les bits que nous réservons pour décrire les hôtes dans chacun des sous-réseaux. 
 + 
 +Nous ne pouvons pas utiliser les deux sous-réseaux suivants : 
 + 
 +  * 192.168.1.00XXXXXX 
 +  * 192.168.1.11XXXXXX 
 + 
 +car ceux-ci correspondent aux débuts de l'adresse réseau 192.168.1.0 et de l'adresse de diffusion 192.168.1.255. 
 + 
 +Nous pouvons utiliser les deux sous-réseaux suivants : 
 + 
 +  * 192.168.1.01XXXXXX 
 +  * 192.168.1.10XXXXXX 
 + 
 +Pour le premier sous-réseau l'adresse réseau et l'adresse de diffusion sont : 
 + 
 +|  Sous-réseau #1  |   192     168    1 |  01XXXXXX 
 +|  Calcul de l'adresse de réseau  ||||| 
 +|  Binaire  |   11000000     10101000    00000001  |  01**000000** | 
 +|  Adresse réseau  |   192     168    1  |  **64** 
 +|  Calcul de l'adresse de diffusion  ||||| 
 +|  Binaire  |   11000000     10101000    00000001  |  01**111111** 
 +|  Adresse de diffusion |   192     168    1  |  **127** 
 + 
 +  * L'adresse CIDR du réseau est donc 192.168.1.64/26 car le Net ID est codé sur 24+2 bits. 
 + 
 +  * Le masque de sous-réseau est donc le 11111111.11111111.11111111.11000000 ou le 255.255.255.192 
 + 
 +  * Nous pouvons avoir 2<sup>6</sup>-2 soit 62 hôtes. 
 + 
 +  * La plage valide d'adresses IP est de 192.168.1.65 à 192.168.1.126 
 + 
 +Pour le deuxième sous-réseau l'adresse réseau et l'adresse de diffusion sont : 
 + 
 +|  Sous-réseau #2  |   192     168    1 |  10XXXXXX  | 
 +|  Calcul de l'adresse de réseau  ||||| 
 +|  Binaire  |   11000000     10101000    00000001  |  10**000000** | 
 +|  Adresse réseau  |   192     168    1  |  **128** 
 +|  Calcul de l'adresse de diffusion  ||||| 
 +|  Binaire  |   11000000     10101000    00000001  |  10**111111** 
 +|  Adresse de diffusion |   192     168    1  |  **191** 
 + 
 +  * L'adresse CIDR du réseau est donc 192.168.1.128/26 car le Net ID est codé sur 24+2 bits. 
 + 
 +  * Le masque de sous-réseau est donc le 11111111.11111111.11111111.11000000 ou le 255.255.255.192 
 + 
 +  * Nous pouvons avoir 2<sup>6</sup>-2 soit 62 hôtes. 
 + 
 +  * La plage valide d'adresses IP est de 192.168.1.129 à 192.168.1.190 
 + 
 + 
 +La valeur qui sépare les sous-réseaux est 64. Cette valeur comporte le nom **incrément**. 
 + 
 +==== Ports et sockets ==== 
 + 
 +Afin que les données arrivent aux applications que les attendent, TCP utilise des numéros de ports sur la couche transport. Le numéros de ports sont divisés en trois groupes : 
 + 
 +  * **Well Known Ports** 
 +    * De 1 à 1023 
 +  * **Registered Ports** 
 +    * De 1024 à 49151 
 +  * **Dynamic** et/ou **Private Ports** 
 +    * De 49152 à 65535 
 + 
 +Le couple **numéro IP:numéro de port** s'appelle un **socket**. 
 + 
 +==== /etc/services ==== 
 + 
 +Les ports les plus utilisés sont détaillés dans le fichier **/etc/services** : 
 + 
 +<code> 
 +[root@centos8 ~]# more /etc/services 
 +# /etc/services: 
 +# $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ 
 +
 +# Network servicesInternet style 
 +# IANA services version: last updated 2016-07-08 
 +
 +# Note that it is presently the policy of IANA to assign a single well-known 
 +# port number for both TCP and UDP; hencemost entries here have two entries 
 +# even if the protocol doesn't support UDP operations. 
 +# Updated from RFC 1700``Assigned Numbers'' (October 1994).  Not all ports 
 +# are included, only the more common ones. 
 +
 +# The latest IANA port assignments can be gotten from 
 +#       http://www.iana.org/assignments/port-numbers 
 +# The Well Known Ports are those from 0 through 1023. 
 +# The Registered Ports are those from 1024 through 49151 
 +# The Dynamic and/or Private Ports are those from 49152 through 65535 
 +
 +# Each line describes one service, and is of the form: 
 +
 +# service-name  port/protocol  [aliases ...]   [# comment]
  
-lines 1-57+tcpmux          1/tcp                           # TCP port service multiplexer 
 +tcpmux          1/udp                           # TCP port service multiplexer 
 +rje             5/tcp                           # Remote Job Entry 
 +rje             5/udp                           # Remote Job Entry 
 +echo            7/tcp 
 +echo            7/udp 
 +discard         9/tcp           sink null 
 +discard         9/udp           sink null 
 +systat          11/tcp          users 
 +systat          11/udp          users 
 +daytime         13/tcp 
 +daytime         13/udp 
 +qotd            17/tcp          quote 
 +qotd            17/udp          quote 
 +chargen         19/tcp          ttytst source 
 +chargen         19/udp          ttytst source 
 +ftp-data        20/tcp 
 +ftp-data        20/udp 
 +# 21 is registered to ftp, but also used by fsp 
 +ftp             21/tcp 
 +ftp             21/udp          fsp fspd 
 +--More--(0%)
 </code> </code>
  
-====LAB #2 - Fichiers de Configuration====+Notez que les ports sont listés par deux :
  
-===2.1 - Fichiers de Configuration par Défaut===+  * le port TCP 
 +  * le port UDP
  
-Les fichiers de configuration des Cibles et fichiers de configuration des Unités installés par des paquets se trouvent dans le répertoire **/usr/lib/systemd/system** :+La liste la plus complète peut être consultée à l'adresse suivante **https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml**
 + 
 +Pour connaitre la liste des sockets ouverts sur l'ordinateur, saisissez la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# pkg-config systemd --variable=systemdsystemunitdir +[root@centos8 ~]# netstat -an | more 
-/usr/lib/systemd/system+Active Internet connections (servers and established) 
 +Proto Recv-Q Send-Q Local Address           Foreign Address         State       
 +tcp        0      0 0.0.0.0:111             0.0.0.0:              LISTEN      
 +tcp        0      0 192.168.122.1:53        0.0.0.0:              LISTEN      
 +tcp        0      0 0.0.0.0:22              0.0.0.0:              LISTEN      
 +tcp        0      0 127.0.0.1:631           0.0.0.0:              LISTEN      
 +tcp        0      0 0.0.0.0:8888            0.0.0.0:              LISTEN      
 +tcp        0      0 0.0.0.0:5901            0.0.0.0:              LISTEN      
 +tcp        0      0 10.0.2.45:22            10.0.2.1:50574          ESTABLISHED 
 +tcp       32      0 10.0.2.45:50280         8.43.85.29:443          CLOSE_WAIT  
 +tcp       32      0 10.0.2.45:50278         8.43.85.29:443          CLOSE_WAIT  
 +tcp        0      0 10.0.2.45:36844         44.238.3.246:443        ESTABLISHED 
 +tcp6            0 :::111                  :::*                    LISTEN      
 +tcp6            0 :::22                   :::                   LISTEN      
 +tcp6            0 ::1:631                 :::                   LISTEN      
 +tcp6            0 :::5901                 :::                   LISTEN      
 +udp        0      0 0.0.0.0:25826           0.0.0.0:                          
 +udp        0      0 0.0.0.0:5353            0.0.0.0:                          
 +udp        0      0 0.0.0.0:36264           0.0.0.0:                          
 +udp        0      0 192.168.122.1:53        0.0.0.0:                          
 +udp        0      0 0.0.0.0:67              0.0.0.0:                          
 +udp        0      0 0.0.0.0:111             0.0.0.0:                          
 +udp        0      0 127.0.0.1:323           0.0.0.0:                          
 +udp6            0 :::5353                 :::                               
 +udp6            0 :::42631                :::*                                
 +udp6            0 :::111                  :::*                                
 +udp6            0 ::1:323                 :::                               
 +raw6            0 :::58                   :::                   7           
 +Active UNIX domain sockets (servers and established) 
 +Proto RefCnt Flags       Type       State         I-Node   Path 
 +unix  2      [ ACC ]     STREAM     LISTENING     37076    @/tmp/.ICE-unix/1873 
 +unix  2      [ ACC ]     STREAM     LISTENING     25881    @irqbalance907.sock 
 +unix  2      [ ACC ]     STREAM     LISTENING     37130    /run/user/1000/keyring/cont 
 +rol 
 +unix  2      [ ACC ]     STREAM     LISTENING     37132    /run/user/1000/keyring/ssh 
 +unix  2      [ ACC ]     STREAM     LISTENING     32014    /run/gssproxy.sock 
 +unix  2      [ ACC ]     STREAM     LISTENING     30479    /run/user/42/bus 
 +unix  2      [ ACC ]     STREAM     LISTENING     30481    /run/user/42/pulse/native 
 +unix  2      [ ACC ]     STREAM     LISTENING     5617     @/org/kernel/linux/storage/ 
 +multipathd 
 +unix  2      [ ACC ]     STREAM     LISTENING     1811     /var/run/.heim_org.h5l.kcm- 
 +socket 
 +unix  2      [ ACC ]     STREAM     LISTENING     30484    /run/user/42/pipewire-0 
 +--More--
 </code> </code>
 +
 +Pour connaitre la liste des applications ayant ouvert un port sur l'ordinateur, saisissez la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# ls -l /usr/lib/systemd/system | more +[root@centos8 ~]# netstat -anp | more 
-total 1464 +Active Internet connections (servers and established) 
--rw-r--r--. 1 root root  275 Apr 26  2020 arp-ethers.service +Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     
--rw-r--r--1 root root  222 May 11  2019 atd.service +tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd            
--rw-r--r--. 1 root root 1512 Apr 23  2020 auditd.service +tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1859/dnsmasq         
--rw-r--r--1 root root  628 Jul 20  2020 auth-rpcgss-module.service +tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1027/sshd            
-lrwxrwxrwx. 1 root root   14 Apr  7 16:55 autovt@.service -> getty@.service +tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1030/cupsd           
--rw-r--r--1 root root 1044 Nov 16  2020 avahi-daemon.service +tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      804664/python2       
--rw-r--r--1 root root  870 Nov 16  2020 avahi-daemon.socket +tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      1797/Xvnc            
--rw-r--r--1 root root  956 Apr  7 16:54 basic.target +tcp        0      0 10.0.2.45:22            10.0.2.1:50574          ESTABLISHED 841191/sshd: traine  
-drwxr-xr-x2 root root    6 Apr  7 16:55 basic.target.wants +tcp       32      0 10.0.2.45:50280         8.43.85.29:443          CLOSE_WAIT  2071/gnome-shell     
--r--r--r--. 1 root root  408 Aug 17  2020 blk-availability.service +tcp       32      0 10.0.2.45:50278         8.43.85.29:443          CLOSE_WAIT  1903/gnome-shell     
--rw-r--r--1 root root  419 Jun 22  2018 bluetooth.target +tcp        0      0 10.0.2.45:36844         44.238.3.246:443        ESTABLISHED 2903/firefox         
--rw-r--r--1 root root  455 Apr  7 16:54 boot-complete.target +tcp6            0 :::111                  :::*                    LISTEN      1/systemd            
--rw-r--r--1 root root  209 Nov 19  2019 chrony-dnssrv@.service +tcp6            0 :::22                   :::*                    LISTEN      1027/sshd            
--rw-r--r--1 root root  138 Nov 19  2019 chrony-dnssrv@.timer +tcp6            0 ::1:631                 :::                   LISTEN      1030/cupsd           
--rw-r--r--1 root root  491 Nov 19  2019 chronyd.service +tcp6            0 :::5901                 :::                   LISTEN      1797/Xvnc            
--rw-r--r--1 root root  472 May 10  2019 chrony-wait.service +udp        0      0 0.0.0.0:25826           0.0.0.0:*                           804615/collectd      
--rw-r--r--1 root root  222 Aug 24  2020 cockpit-motd.service +udp        0      0 0.0.0.0:5353            0.0.0.0:*                           905/avahi-daemon:  
--rw-r--r--1 root root  835 Aug 24  2020 cockpit.service +udp        0      0 0.0.0.0:36264           0.0.0.0:*                           905/avahi-daemon: r  
--rw-r--r--. 1 root root  373 Aug 24  2020 cockpit.socket +udp        0      0 192.168.122.1:53        0.0.0.0:*                           1859/dnsmasq         
--rw-r--r--1 root root  251 Aug 24  2020 cockpit-wsinstance-http-redirect.service +udp        0      0 0.0.0.0:67              0.0.0.0:*                           1859/dnsmasq         
--rw-r--r--1 root root  233 Aug 24  2020 cockpit-wsinstance-http-redirect.socket +udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd            
--rw-r--r--1 root root  221 Aug 24  2020 cockpit-wsinstance-http.service +udp        0      0 127.0.0.1:323           0.0.0.0:*                           909/chronyd          
--rw-r--r--1 root root  165 Aug 24  2020 cockpit-wsinstance-https-factory@.service +udp6            0 :::5353                 :::                               905/avahi-daemon:  
--rw-r--r--1 root root  244 Aug 24  2020 cockpit-wsinstance-https-factory.socket +udp6            0 :::42631                :::*                                905/avahi-daemon:  
--rw-r--r--1 root root  215 Aug 24  2020 cockpit-wsinstance-http.socket +udp6            0 :::111                  :::*                                1/systemd            
--rw-r--r--. 1 root root  264 Aug 24  2020 cockpit-wsinstance-https@.service +udp6            0 ::1:323                 :::                               909/chronyd          
--rw-r--r--1 root root  478 Aug 24  2020 cockpit-wsinstance-https@.socket +raw6            0 :::58                   :::                   7           1002/NetworkManager  
--rw-r--r--1 root root 1082 Apr  7 16:55 console-getty.service +Active UNIX domain sockets (servers and established) 
--rw-r--r--1 root root 1263 Apr  7 16:55 container-getty@.service +Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path 
--rw-r--r--. root root  294 Apr  8 15:21 cpupower.service +unix  2      [ ACC ]     STREAM     LISTENING     37076    1873/gnome-session-  @/tmp/.ICE-unix/1873 
--rw-r--r--. root root  356 Nov  8  2019 crond.service +unix       [ ACC ]     STREAM     LISTENING     25881    907/irqbalance       @irqbalance907.sock 
--rw-r--r--. 1 root root  465 Jun 22  2018 cryptsetup-pre.target +unix  2      [ ACC ]     STREAM     LISTENING     37130    2063/gnome-keyring /run/user/1000/keyring/control 
--rw-r--r--1 root root  412 Jun 22  2018 cryptsetup.target +unix  2      [ ACC ]     STREAM     LISTENING     37132    2063/gnome-keyring-  /run/user/1000/keyring/ssh 
-lrwxrwxrwx1 root root   13 Apr  7 16:55 ctrl-alt-del.target -> reboot.target +unix  2      [ ACC ]     STREAM     LISTENING     32014    1040/gssproxy        /run/gssproxy.sock 
--rw-r--r--1 root root  234 Oct  4  2017 cups-browsed.service +unix       [ ACC ]     STREAM     LISTENING     30479    1439/systemd         /run/user/42/bus 
--r--r--r--1 root root  142 Jun 15  2020 cups.path +unix  2      [ ACC ]     STREAM     LISTENING     30481    1439/systemd         /run/user/42/pulse/native 
--r--r--r--1 root root  248 Jun 15  2020 cups.service +unix  2      [ ACC ]     STREAM     LISTENING     5617     1/systemd            @/org/kernel/linux/storage/multipathd 
--r--r--r--1 root root  136 Jun 15  2020 cups.socket +unix  2      [ ACC ]     STREAM     LISTENING     1811     1/systemd            /var/run/.heim_org.h5l.kcm-socket 
-lrwxrwxrwx1 root root   25 Apr  7 16:55 dbus-org.freedesktop.hostname1.service -> systemd-hostnamed.service +unix  2      [ ACC ]     STREAM     LISTENING     30484    1439/systemd         /run/user/42/pipewire-0 
-lrwxrwxrwx. 1 root root   23 Apr  7 16:55 dbus-org.freedesktop.import1.service -> systemd-importd.service +unix  2      [ ACC ]     STREAM     LISTENING     1813     1/systemd            /run/avahi-daemon/socket 
-lrwxrwxrwx1 root root   23 Apr  7 16:55 dbus-org.freedesktop.locale1.service -> systemd-localed.service +unix  2      [ ACC ]     STREAM     LISTENING     1817     1/systemd            /run/libvirt/virtlockd-sock 
-lrwxrwxrwx1 root root   22 Apr  7 16:55 dbus-org.freedesktop.login1.service -> systemd-logind.service +unix  2      [ ACC ]     STREAM     LISTENING     34456    1902/gnome-session @/tmp/.ICE-unix/1902
-lrwxrwxrwx. 1 root root   24 Apr  7 16:55 dbus-org.freedesktop.machine1.service -> systemd-machined.service +
-lrwxrwxrwx1 root root   25 Apr  7 16:55 dbus-org.freedesktop.portable1.service -> systemd-portabled.service +
-lrwxrwxrwx. 1 root root   25 Apr  7 16:55 dbus-org.freedesktop.timedate1.service -> systemd-timedated.service +
--rw-r--r--. root root  380 Apr  7 12:08 dbus.service +
--rw-r--r--. 1 root root  102 Apr  7 12:08 dbus.socket +
-drwxr-xr-x. root root    6 Apr  7 16:55 dbus.target.wants +
--rw-r--r--. 1 root root 1084 Apr  7 16:55 debug-shell.service +
-lrwxrwxrwx. 1 root root   16 Apr  7 16:55 default.target -> graphical.target +
-drwxr-xr-x. root root    6 Apr  7 16:55 default.target.wants +
--rw-r--r--. root root  750 Jun 22  2018 dev-hugepages.mount +
--rw-r--r--1 root root  665 Jun 22  2018 dev-mqueue.mount +
--r--r--r--. 1 root root  345 Aug 17  2020 dm-event.service +
--r--r--r--. root root  248 Aug 17  2020 dm-event.socket +
--rw-r--r--. 1 root root  457 Jun  2  2020 dnf-makecache.service+
 --More-- --More--
 </code> </code>
  
-Certains fichiers de configuration sont créés à la volée dans le répertoire **/run/systemd/system** lors du runtime puis ils sont détruits quand le système n'en a plus besoin :+La commande **ss** peut aussi être utilisée pour connaître la liste des sockets ouverts :
  
 <code> <code>
-[root@centos8 ~]# ls -l /run/systemd/system/ +[root@centos8 ~]# ss -ta 
-total 0+State                   Recv-Q                  Send-Q                                    Local Address:Port                                         Peer Address:Port                   Process                   
 +LISTEN                  0                                                                     0.0.0.0:5901                                              0.0.0.0:                                               
 +LISTEN                  0                       128                                             0.0.0.0:sunrpc                                            0.0.0.0:                                               
 +LISTEN                  0                       32                                        192.168.122.1:domain                                            0.0.0.0:                                               
 +LISTEN                  0                       128                                             0.0.0.0:ssh                                               0.0.0.0:                                               
 +LISTEN                  0                                                                   127.0.0.1:ipp                                               0.0.0.0:                                               
 +ESTAB                                                                                     10.0.2.45:50438                                      151.101.193.91:https                                            
 +ESTAB                                                                                     10.0.2.45:ssh                                              10.0.2.1:52744                                            
 +ESTAB                                                                                     10.0.2.45:46986                                       35.190.72.216:https                                            
 +ESTAB                                                                                     10.0.2.45:50442                                      151.101.193.91:https                                            
 +LISTEN                  0                                                                        [::]:5901                                                 [::]:                                               
 +LISTEN                  0                       128                                                [::]:sunrpc                                               [::]:                                               
 +LISTEN                  0                       128                                                [::]:ssh                                                  [::]:                                               
 +LISTEN                                        5                                                 [::1]:ipp                                                  [::]:    
 </code> </code>
  
-Les fichiers de configuration des Unités crées par les utilisateurs doivent être mis dans le répertoire **/usr/lib/systemd/user** :+==== Résolution d'adresses Ethernet ==== 
 + 
 +Chaque protocole peut être encapsulé dans une **trame** Ethernet. Lorsque la trame doit être transportée de l'expéditeur au destinataire, ce premier doit connaitre l'adresse Ethernet du dernier. L'adresse Ethernet est aussi appelée l'adresse **Physique** ou l'adresse **MAC**. 
 + 
 +Pour connaître l'adresse Ethernet du destinataire, l'expéditeur fait appel au protocol **ARP**. Les informations reçues sont stockées dans une table. Pour visualiser ces informations, il convient d'utiliser la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# pkg-config systemd --variable=systemduserunitdir +[root@centos8 ~]# arp -a 
-/usr/lib/systemd/user+_gateway (10.0.2.1) at 42:8e:e7:de:a9:b4 [ether] on ens18
 </code> </code>
  
-<WRAP center round important 60%> +===Options de la commande===
-**Important** : De cette façon les fichiers dans **/usr/lib/systemd/user** surchargent les fichiers dans le répertoire **/run/systemd/system** qui surchargent les fichiers dans le répertoire **/usr/lib/systemd/system**. +
-</WRAP>+
  
-Prenons le cas du service **sshd** qui est configuré par le fichier **/usr/lib/systemd/system/sshd.service** :+Les options de cette commande sont :
  
 <code> <code>
-[root@centos8 ~]# cat /usr/lib/systemd/system/sshd.service +[root@centos8 ~]# arp --help 
-[Unit+Usage: 
-Description=OpenSSH server daemon +  arp [-vn [<HW>] [-i <if>] [-a] [<hostname>            <-Display ARP cache 
-Documentation=man:sshd(8) man:sshd_config(5) +  arp [-v]          [-i <if>] -d  <host> [pub]               <-Delete ARP entry 
-After=network.target sshd-keygen.target +  arp [-vnD] [<HW>] [-i <if>] -f  [<filename>           <-Add entry from file 
-Wants=sshd-keygen.target+  arp [-v]   [<HW>] [-i <if>] -s  <host> <hwaddr> [temp]            <-Add entry 
 +  arp [-v]   [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub          <-''-
  
-[Service] +        -a                       display (all) hosts in alternative (BSD) style 
-Type=notify +        -e                       display (all) hosts in default (Linux) style 
-EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config +        -s, --set                set a new ARP entry 
-EnvironmentFile=-/etc/sysconfig/sshd +        -d, --delete             delete a specified entry 
-ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY +        -v, --verbose            be verbose 
-ExecReload=/bin/kill -HUP $MAINPID +        -n, --numeric            don't resolve names 
-KillMode=process +        -i, --device             specify network interface (e.g. eth0) 
-Restart=on-failure +        -D, --use-device         read <hwaddr> from given device 
-RestartSec=42s+        -A, -p, --protocol       specify protocol family 
 +        -f, --file               read new entries from file or from /etc/ethers
  
-[Install] +  <HW>=Use '-H <hw>' to specify hardware address typeDefault: ether 
-WantedBy=multi-user.target+  List of possible hardware types (which support ARP): 
 +    ash (Ash) ether (Ethernet) ax25 (AMPR AX.25)  
 +    netrom (AMPR NET/ROM) rose (AMPR ROSE) arcnet (ARCnet)  
 +    dlci (Frame Relay DLCI) fddi (Fiber Distributed Data Interface) hippi (HIPPI)  
 +    irda (IrLAP) x25 (generic X.25) infiniband (InfiniBand)  
 +    eui64 (Generic EUI-64) 
 </code> </code>
  
-Dans le fichier on peut noter la présence des lignes suivantes dans la section **[Unit]** :+=====Comprendre IPv6=====
  
-  * **Description=OpenSSH server daemon**, +====Présentation====
-    * Cette directive est utilisée pour donner une courte description des fonctionnalités de l'Unité, +
-  * **Documentation=man:sshd(8) man:sshd_config(5)**, +
-    * Cette directive stipule les chapitres des manuels et les URLs contenant de l'information en relation avec l'Unité, +
-  * **After=network.target sshd-keygen.target**, +
-    * Cette directive indique les cibles qui devraient être atteintes et les Unités qui devraient être démarrées avant l'Unité sshd. Par contre, cette directive ne spécifie pas une dépendance, +
-  * **Wants=sshd-keygen.target**, +
-    * Cette directive stipule une dépendance douce. Autrement dit, Systemd essayera de démarrer l'Unité **sshd-keygen.target** mais si ce démarrage est en échec, l'Unité sshd sera démarré.+
  
-Dans le fichier on peut aussi noter la présence des lignes suivantes dans la section **[Service]** :+IPv6 peut être utilisé en parallèle avec IPv4 dans un modèle à double pile. Dans cette configuration, une interface réseau peut avoir une ou plusieurs adresses IPv6 ainsi que des adresses IPv4. RHEL 9 fonctionne par défaut en mode double pile.
  
-  * **Type=notify**, +====Adresses IPv6====
-    * Cette directive indique que le service informera Systemd quand son démarrage a terminé, +
-  * **ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY**, +
-     * Cette directive définit l'exécutable à lancer, +
-  * **ExecReload=/bin/kill -HUP $MAINPID**, +
-    * Cette directive indique la commande necéssaire pour redémarrer le service, +
-  * **KillMode=process**, +
-    * Cette directive indique comment les processus du service doivent être arrêtés. La valeur de **process** implique l'utilisation de SIGTERM suivi par SIGHUP, +
-  * **Restart=on-failure**, +
-    * Cette ligne indique que le service doit être re-démarré en cas d'arrêt de celui-ci. +
-  * **RestartSec=42s**, +
-    * Cette directive stipule le temps d'attente entre l'arrêt du service et le redémarrage par Systemd,+
  
-Dernièrement on note la présence de la ligne suivante dans la section **[Install]** :+Une adresse IPv6 est un nombre de 128 bits, normalement exprimé sous la forme de huit groupes de quatre **nibbles** (demi-octets) hexadécimaux séparés par deux points. Chaque nibble représente quatre bits de l'adresse IPv6, de sorte que chaque groupe représente 16 bits de l'adresse IPv6.
  
-  * **WantedBy=multi-user.target**, +  2001:0db8:0000:0010:0000:0000:0000:0001
-    * Cette directive indique la Cible dans laquelle le service doit être démarré. La présence de cette directive crée un lien symbolique dans le répertoire **/etc/systemd/system/multi-user.target.wants** qui pointe vers ce fichier.+
  
-Pour consulter **l'ensemble** des directives de configuration ainsi que leurs valeurs d'une Unitéil convient d'utiliser la commande **systemctl show**  en spécifiant l'Unité concernée :+Pour faciliter l'écriture des adresses IPv6, il n'est pas nécessaire d'écrire les zéros en tête d'un groupe séparé par deux points. Cependant, au moins un chiffre hexadécimal doit être écrit dans chaque groupe séparé par des deux-points : 
 + 
 +  2001:db8:0:10:0:0:0:
 + 
 +En vertu de ces règles, 2001:db8::0010:0:0:0:1 serait une autre façon moins pratique d'écrire l'adresse de l'exemple, mais il s'agit d'une représentation valide de la même adresse 
 + 
 +Le conseils pour rédiger des adresses lisibles de manière cohérente sont : 
 + 
 +  Supprimer les zéros initiaux dans un groupe. 
 +  Utiliser : : pour raccourcir autant que possible. 
 +  * Si une adresse contient deux groupes de zéros consécutifs de même longueur, il est préférable de raccourcir les groupes de zéros les plus à gauche en : : et les groupes les plus à droite en :0 : pour chaque groupe. 
 +  * Bien que cela soit autorisé, n'utiliser pas : : pour raccourcir un groupe de zéros. Utiliser plutôt :0 : et conserver : : pour les groupes de zéros consécutifs. 
 +  * Utiliser toujours des lettres minuscules pour les nombres hexadécimaux de a à f 
 + 
 +Par exemple : 
 + 
 +  2001:db8:0:10::
 + 
 +Dernièrement, un socket IPv6 doit comporter les caractères [ ] autour de l'adresse IPv6 : 
 + 
 +  [2001:db8:0:10::1]:80 
 + 
 +Une adresse unicast IPv6 normale est divisée en deux parties : 
 + 
 +  Le préfixe de réseau, 
 +    Le préfixe identifie le sous-réseau. 
 +  * L'identifiant d'interface,  
 +    * Deux interfaces réseau sur le même sous-réseau ne peuvent pas avoir le même identifiant, 
 +    * Un identifiant d'interface identifie une interface particulière sur le sous-réseau. 
 + 
 +====Masque de Sous-réseau==== 
 + 
 +Contrairement à l'IPv4, l'IPv6 dispose d'un masque de sous-réseau standard de /64, utilisé pour presque toutes les adresses normales. Cela signifie qu'un seul sous-réseau peut contenir autant d'hôtes que nécessaire. Généralement, le fournisseur de réseau attribue un préfixe plus court à une organisationpar exemple, /48. Cela laisse au reste du réseau la possibilité d'attribuer des sous-réseaux (toujours de longueur /64) à partir du préfixe attribué. Pour un préfixe /48, il reste 16 bits pour les sous-réseaux, soit 65536 sous-réseaux. 
 + 
 +Par exemple, dans le cas de l'adresse **2001:0db8:0000:0001:0000:0000:0000:0001**, exprimée en tant que **2001:0db8:0:1/64**, la partie NetID est **2001:0db8:0000:0001** et la partie HostID est **0000:0000:0000:0001**. 
 + 
 +En regardant le NetID, la partie **2001:0db8:0000**, exprimée en tant que **2001:db8::/48** représente l'allocation fournie, tant que **0001/16** représente le sous-réseau. 
 + 
 +====Adresses IPv6 Réservées==== 
 + 
 +Les adresses IPv6 réservés à une utilisation spécifique sont : 
 + 
 +^ Adresse ^ Description ^ 
 +| ::1/128 | L'adresse loopback similaire à l'adresse 127.0.0.1/8 | 
 +| :: | L'adresse d'écoute global similaire à l'adresse 0.0.0.0 | 
 +| ::/0 | La route par défaut similaire à l'adresse 0.0.0.0/0 | 
 +| 2000::/3 | Cet espace d'adressage concerne les adresse réseaux allouées par l'IANA, allons de 2000::/16 à 3fff::/16 | 
 +| fd00::/8 | Issue de la RFC 4193, ceci est similaire à la RFC 1918, c'est-à-dire une espace d'adressage privé. 
 +| fe80::/10 | Adresses Link-local | 
 +| ff00::/8 | Adresses Multicast | 
 + 
 +====L'Adresse Link-local==== 
 + 
 +Chaque interface sur un réseau est configurée automatiquement avec une adresse Link-local :
  
 <code> <code>
-[root@centos8 ~]# systemctl show sshd +[root@centos8 ~]# ifconfig 
-Type=notify +ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 
-Restart=on-failure +        inet 10.0.2.45  netmask 255.255.255.0  broadcast 10.0.2.255 
-NotifyAccess=main +        inet6 fe80::8af3:5782:3598:aa0f  prefixlen 64  scopeid 0x20<link> 
-RestartUSec=42s +        ether 1e:2c:5e:55:02:2b  txqueuelen 1000  (Ethernet) 
-TimeoutStartUSec=1min 30s +        RX packets 175  bytes 30014 (29.3 KiB) 
-TimeoutStopUSec=1min 30s +        RX errors 0  dropped 0  overruns 0  frame 0 
-RuntimeMaxUSec=infinity +        TX packets 179  bytes 24197 (23.6 KiB) 
-WatchdogUSec=+        TX errors  dropped overruns  carrier 0  collisions 
-WatchdogTimestamp=Thu 2021-06-03 15:09:54 EDT + 
-WatchdogTimestampMonotonic=12502561 +ens19: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 
-PermissionsStartOnly=no +        ether ee:9d:9e:c3:04:f9  txqueuelen 1000  (Ethernet) 
-RootDirectoryStartOnly=no +        RX packets  bytes (0.B) 
-RemainAfterExit=no +        RX errors  dropped 0  overruns 0  frame 
-GuessMainPID=yes +        TX packets 0  bytes 0 (0.0 B) 
-MainPID=902 +        TX errors 0  dropped 0 overruns 0  carrier  collisions 
-ControlPID=0 + 
-FileDescriptorStoreMax=0 +lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536 
-NFileDescriptorStore=0 +        inet 127.0.0.1  netmask 255.0.0.0 
-StatusErrno=+        inet6 :: prefixlen 128  scopeid 0x10<host> 
-Result=success +        loop  txqueuelen 1000  (Local Loopback) 
-UID=[not set] +        RX packets 0  bytes 0 (0.0 B) 
-GID=[not set] +        RX errors 0  dropped 0  overruns 0  frame 0 
-NRestarts=0 +        TX packets 0  bytes 0 (0.0 B) 
-ExecMainStartTimestamp=Thu 2021-06-03 15:09:54 EDT +        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
-ExecMainStartTimestampMonotonic=12446178 + 
-ExecMainExitTimestampMonotonic=0 +virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500 
-ExecMainPID=902 +        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255 
-ExecMainCode=0 +        ether 52:54:00:79:02:66  txqueuelen 1000  (Ethernet) 
-ExecMainStatus=0 +        RX packets 0  bytes 0 (0.0 B) 
-ExecStart={ path=/usr/sbin/sshd ; argv[]=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=; code=(null; status=0/} +        RX errors 0  dropped 0  overruns 0  frame 0 
-ExecReload={ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=; code=(null; status=0/} +        TX packets 0  bytes 0 (0.0 B) 
-Slice=system.slice +        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
-ControlGroup=/system.slice/sshd.service +
-MemoryCurrent=6270976 +
-CPUUsageNSec=[not set] +
-EffectiveCPUs= +
-EffectiveMemoryNodes= +
-TasksCurrent=+
-IPIngressBytes=18446744073709551615 +
-IPIngressPackets=18446744073709551615 +
-IPEgressBytes=18446744073709551615 +
-IPEgressPackets=18446744073709551615 +
-Delegate=no +
-CPUAccounting=no +
-CPUWeight=[not set] +
-StartupCPUWeight=[not set] +
-CPUShares=[not set] +
-StartupCPUShares=[not set] +
-CPUQuotaPerSecUSec=infinity +
-CPUQuotaPeriodUSec=infinity +
-AllowedCPUs= +
-AllowedMemoryNodes= +
-IOAccounting=no +
-IOWeight=[not set] +
-StartupIOWeight=[not set] +
-BlockIOAccounting=no +
-BlockIOWeight=[not set] +
-lines 1-57+
 </code> </code>
  
-Pour consulter la liste des dépendances d'une Unité, il convient d'utiliser **systemctl list-dependancies** en spécifiant l'Unité concernée :+Pour tester la connectivité de l'adresse Link-local, il convient d'utiliser la commande **ping6** :
  
 <code> <code>
-[root@centos8 ~]# systemctl list-dependencies sshd.service +[root@centos8 ~]# ping6 -c4 fe80::8af3:5782:3598:aa0f%ens18 
-sshd.service +PING fe80::8af3:5782:3598:aa0f%ens18(fe80::8af3:5782:3598:aa0f%ens18) 56 data bytes 
-● ├─system.slice +64 bytes from fe80::8af3:5782:3598:aa0f%ens18: icmp_seq=1 ttl=64 time=0.093 ms 
-● ├─sshd-keygen.target +64 bytes from fe80::8af3:5782:3598:aa0f%ens18: icmp_seq=2 ttl=64 time=0.060 ms 
-● │ ├─sshd-keygen@ecdsa.service +64 bytes from fe80::8af3:5782:3598:aa0f%ens18: icmp_seq=3 ttl=64 time=0.115 ms 
-● │ ├─sshd-keygen@ed25519.service +64 bytes from fe80::8af3:5782:3598:aa0f%ens18: icmp_seq=4 ttl=64 time=0.051 ms 
-● │ └─sshd-keygen@rsa.service + 
-● └─sysinit.target +--- fe80::8af3:5782:3598:aa0f%ens18 ping statistics --- 
-●   ├─dev-hugepages.mount +4 packets transmitted, 4 received, 0% packet loss, time 3106ms 
-●   ├─dev-mqueue.mount +rtt min/avg/max/mdev = 0.051/0.079/0.115/0.027 ms
-●   ├─dracut-shutdown.service +
-●   ├─import-state.service +
-●   ├─iscsi-onboot.service +
-●   ├─kmod-static-nodes.service +
-●   ├─ldconfig.service +
-●   ├─loadmodules.service +
-●   ├─lvm2-lvmpolld.socket +
-●   ├─lvm2-monitor.service +
-●   ├─nis-domainname.service +
-●   ├─plymouth-read-write.service +
-●   ├─plymouth-start.service +
-●   ├─proc-sys-fs-binfmt_misc.automount +
-●   ├─rngd.service +
-●   ├─selinux-autorelabel-mark.service +
-●   ├─sys-fs-fuse-connections.mount +
-●   ├─sys-kernel-config.mount +
-●   ├─sys-kernel-debug.mount +
-●   ├─systemd-ask-password-console.path +
-●   ├─systemd-binfmt.service +
-●   ├─systemd-firstboot.service +
-●   ├─systemd-hwdb-update.service +
-●   ├─systemd-journal-catalog-update.service +
-●   ├─systemd-journal-flush.service +
-●   ├─systemd-journald.service +
-●   ├─systemd-machine-id-commit.service +
-●   ├─systemd-modules-load.service +
-●   ├─systemd-random-seed.service +
-●   ├─systemd-sysctl.service +
-●   ├─systemd-sysusers.service +
-●   ├─systemd-tmpfiles-setup-dev.service +
-●   ├─systemd-tmpfiles-setup.service +
-●   ├─systemd-udev-trigger.service +
-●   ├─systemd-udevd.service +
-●   ├─systemd-update-done.service +
-●   ├─systemd-update-utmp.service +
-●   ├─cryptsetup.target +
-●   ├─local-fs.target +
-●   │ ├─-.mount +
-●   │ ├─boot.mount +
-●   │ └─systemd-remount-fs.service +
-●   └─swap.target +
-●     └─dev-disk-by\x2duuid-c8bb3f47\x2dd67f\x2d4b21\x2db781\x2d766899dc83d4.swap+
 </code> </code>
  
-===2.2 - Surchargement des Fichiers de Configuration par Défaut===+<WRAP center round important 60%> 
 +**Important** : Notez qu'à la fin de l'adresse, il faut ajouter le **scope** qui est représenté par le caractère **%** suivi par le nom de l'interface. 
 +</WRAP>
  
-Les fichiers de configuration par défaut peuvent aussi être surchargés par des fichiers dans d'autres répertoires :+====DHCPv6==== 
 + 
 +DHCPv6 ne fonctionne pas de la même façon que DHCPv4 parce qu'il n'existe pas d'adresses de diffusion sous IPv6. 
 + 
 +En résumé, l'hôte envoie une requête DHCPv6 à l'adresse multicast **all-dhcp-servers**, **ff02::1:2** sur le port **547/udp**. En retour, l'hôte reçoit les informations demandées sur le port **546/udp** de son adresse Link-local. 
 + 
 +=====Configurer le Réseau===== 
 + 
 +RHEL/CentOS 8 utilise **Network Manager** pour gérer le réseau. Network Manager est composé de deux éléments : 
 + 
 +  * un service qui gère les connexions réseaux et rapporte leurs états, 
 +  * des front-ends qui passent par un API de configuration du service. 
 + 
 +<WRAP center round important 60%> 
 +**Important** : Notez qu'avec cette version de NetworkManager, IPv6 est activée par défaut
 +</WRAP> 
 + 
 +Le service NetworkManager doit toujours être lancé :
  
 <code> <code>
-[root@centos8 ~]# pkg-config systemd --variable=systemdsystemunitpath +[root@centos8 ~]# systemctl status NetworkManager.service 
-/etc/systemd/system:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:/usr/lib/systemd/system:/usr/lib/systemd/system:/lib/systemd/system+● NetworkManager.service Network Manager 
 +   Loadedloaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor pr> 
 +   Active: active (running) since Thu 2021-07-22 05:05:29 EDT; 1 months 7 days ago 
 +     Docs: man:NetworkManager(8) 
 + Main PID: 1002 (NetworkManager) 
 +    Tasks: 3 (limit: 23535) 
 +   Memory: 6.8M 
 +   CGroup: /system.slice/NetworkManager.service 
 +           └─1002 /usr/sbin/NetworkManager --no-daemon 
 + 
 +WarningJournal has been rotated since unit was started. Log output is incomplete or> 
 +lines 1-11/11 (END) 
 +[^q]
 </code> </code>
 +
 +===La Commande nmcli===
 +
 +La commande **nmcli** (Network Manager Command Line Interface) est utilisée pour configurer NetworkManager.
 +
 +Les options et les sous-commandes peuvent être consultées en utilisant les commandes suivantes :
  
 <code> <code>
-[root@centos8 ~]# ls -l /etc/systemd/system +[root@centos8 ~]# nmcli help 
-total 4 +Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } 
-drwxr-xr-x. 2 root root   31 May  8  2020 basic.target.wants + 
-lrwxrwxrwx. 1 root root   41 May  8  2020 dbus-org.fedoraproject.FirewallD1.service -> /usr/lib/systemd/system/firewalld.service +OPTIONS 
-lrwxrwxrwx. 1 root root   44 Jun  3 14:02 dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service +  -a, --ask                                ask for missing parameters 
-lrwxrwxrwx. 1 root root   57 May  8  2020 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service +  -c, --colors auto|yes|no                 whether to use colors in output 
-lrwxrwxrwx. 1 root root   41 May  8  2020 dbus-org.freedesktop.timedate1.service -/usr/lib/systemd/system/timedatex.service +  -e, --escape yes|no                      escape columns separators in values 
-lrwxrwxrwx. 1 root root   37 May  8  2020 default.target -> /lib/systemd/system/multi-user.target +  -f, --fields <field,...>|all|common      specify fields to output 
-drwxr-xr-x2 root root   32 May  8  2020 getty.target.wants +  -g, --get-values <field,...>|all|common  shortcut for -m tabular --f 
-drwxr-xr-x. 2 root root 4096 Jun  3 14:02 multi-user.target.wants +  -h, --help                               print this help 
-drwxr-xr-x. 2 root root   48 May  8  2020 network-online.target.wants +  -m, --mode tabular|multiline             output mode 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 nfs-blkmap.service.requires +  -o, --overview                           overview mode 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 nfs-idmapd.service.requires +  -p, --pretty                             pretty output 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 nfs-mountd.service.requires +  -s, --show-secrets                       allow displaying passwords 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 nfs-server.service.requires +  -t, --terse                              terse output 
-drwxr-xr-x. 2 root root   26 Jun  3 14:02 printer.target.wants +  -v, --version                            show program version 
-drwxr-xr-x. 2 root root   52 Apr 19 12:07 remote-fs.target.wants +  -w, --wait <seconds>                     set timeout waiting for finishing operations 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 rpc-gssd.service.requires + 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 rpc-statd-notify.service.requires +OBJECT 
-drwxr-xr-x. 2 root root   33 Apr 19 12:07 rpc-statd.service.requires +  g[eneral]       NetworkManager's general status and operations 
-drwxr-xr-x. 2 root root  260 Jun  3 14:02 sockets.target.wants +  n[etworking]    overall networking control 
-drwxr-xr-x. 2 root root  235 Apr 19 12:07 sysinit.target.wants +  r[adio]         NetworkManager radio switches 
-lrwxrwxrwx. 1 root root   39 May   2020 syslog.service -> /usr/lib/systemd/system/rsyslog.service +  c[onnection]    NetworkManager's connections 
-lrwxrwxrwx. 1 root root    9 May 11  2019 systemd-timedated.service -> /dev/null +  d[evice]        devices managed by NetworkManager 
-drwxr-xr-x. 2 root root   34 May  8  2020 timers.target.wants+  a[gent]         NetworkManager secret agent or polkit agent 
 +  m[onitor]       monitor NetworkManager changes
 </code> </code>
  
-====LAB #La Commande systemd-analyze====+=====LAB #Configuration du Réseau===== 
 + 
 +====1.1 Connections et Profils====
  
-Pour avoir une évaluation du temps de démarrageil convient d'utiliser la commande suivante :+NetworkManager inclus la notion de **connections** ou **profils** permettant des configurations différentes en fonction de la localisation. Pour voir les connections actuellesutilisez la commande **nmcli c** avec la sous-commande **show** :
  
 <code> <code>
-[root@centos8 ~]# systemd-analyze +[root@centos8 ~]# nmcli c show 
-Startup finished in 1.665s (kernel) + 6.977s (initrd) + 8.458s (userspace) = 17.101s +NAME    UUID                                  TYPE      DEVICE  
-multi-user.target reached after 5.528s in userspace+ens18   fc4a4d23-b15e-47a7-bcfa-b2e08f49553e  ethernet  ens18   
 +virbr0  03f6c432-2a09-47e7-9693-208431a572ee  bridge    virbr0 
 </code> </code>
  
-L'option **blame** de la commande systemd-analyze permet de voir le temps de démarrage de chaque Unité afin de pourvoir se concentrer sur les plus lentes :+Créez donc un profil IP fixe rattaché au périphérique **ens18** :
  
 <code> <code>
-[root@centos8 ~]# systemd-analyze blame +[root@centos8 ~]# nmcli connection add con-name ip_fixe ifname ens18 type ethernet ip4 10.0.2.46/24 gw4 10.0.2.1 
-          4.080s dracut-initqueue.service +Connection 'ip_fixe' (0f48c74d-5d16-4c37-8220-24644507b589) successfully added.
-          3.257s kdump.service +
-          1.727s tuned.service +
-          1.415s initrd-switch-root.service +
-          1.393s NetworkManager-wait-online.service +
-          1.116s systemd-machined.service +
-          1.111s dracut-cmdline.service +
-           850ms sssd.service +
-           791ms vdo.service +
-           713ms firewalld.service +
-           622ms lvm2-monitor.service +
-           605ms polkit.service +
-           508ms chronyd.service +
-           434ms avahi-daemon.service +
-           426ms systemd-logind.service +
-           417ms netcf-transaction.service +
-           410ms dracut-pre-udev.service +
-           295ms libvirtd.service +
-           275ms dnf-makecache.service +
-           243ms systemd-udevd.service +
-           221ms systemd-journald.service +
-           196ms systemd-tmpfiles-setup.service +
-           151ms dracut-pre-pivot.service +
-           139ms sysroot.mount +
-           139ms systemd-update-utmp-runlevel.service +
-           122ms systemd-vconsole-setup.service +
-           110ms lvm2-pvscan@8:25.service +
-            98ms systemd-udev-trigger.service +
-            82ms gssproxy.service +
-            81ms cups.service +
-            79ms initrd-parse-etc.service +
-            77ms NetworkManager.service +
-            72ms lvm2-pvscan@8:23.service +
-            69ms systemd-user-sessions.service +
-            68ms lvm2-pvscan@8:22.service +
-            67ms unbound-anchor.service +
-            66ms rsyslog.service +
-            62ms boot.mount +
-            56ms sshd.service +
-            54ms smartd.service +
-            54ms systemd-fsck@dev-disk-by\x2duuid-2ae4c035\x2d9244\x2d458c\x2d82c5\x2da49ae169cdb6.service +
-            53ms user@1000.service +
-            52ms auditd.service +
-            51ms plymouth-quit.service +
-            49ms rngd-wake-threshold.service +
-            46ms import-state.service +
-            46ms systemd-tmpfiles-setup-dev.service +
-            43ms ksmtuned.service +
-            42ms plymouth-quit-wait.service +
-            42ms var-lib-nfs-rpc_pipefs.mount +
-            42ms rpc-statd-notify.service +
-            38ms plymouth-switch-root.service +
-            37ms systemd-remount-fs.service +
-            37ms plymouth-start.service +
-            33ms dev-disk-by\x2duuid-c8bb3f47\x2dd67f\x2d4b21\x2db781\x2d766899dc83d4.swap +
-            33ms systemd-tmpfiles-clean.service +
-            31ms dev-hugepages.mount +
-lines 1-57+
 </code> </code>
  
-L'option **critical-chain** de la commande **systemd-analyze** permet de voir l'enchaînement des événements qui amènent au chargement de l'Unité qui est passée en argument :+Constatez sa présence :
  
 <code> <code>
-[root@centos8 ~]# systemd-analyze critical-chain sshd.service +[root@centos8 ~]# nmcli c show 
-The time after the unit is active or started is printed after the "@" character. +NAME     UUID                                  TYPE      DEVICE  
-The time the unit takes to start is printed after the "+" character. +ens18    fc4a4d23-b15e-47a7-bcfa-b2e08f49553e  ethernet  ens18   
- +virbr0   03f6c432-2a09-47e7-9693-208431a572ee  bridge    virbr0  
-sshd.service +56ms +ip_fixe  0f48c74d-5d16-4c37-8220-24644507b589  ethernet  --   
-└─network.target @3.799s +
-  └─NetworkManager.service @3.719s +77ms +
-    └─network-pre.target @3.718s +
-      └─firewalld.service @3.004s +713ms +
-        └─polkit.service @2.397s +605ms +
-          └─basic.target @2.392s +
-            └─sockets.target @2.392s +
-              └─sssd-kcm.socket @2.391s +
-                └─sysinit.target @2.379s +
-                  └─systemd-update-utmp.service @2.370s +8ms +
-                    └─auditd.service @2.317s +52ms +
-                      └─systemd-tmpfiles-setup.service @2.118s +196ms +
-                        └─import-state.service @2.070s +46ms +
-                          └─local-fs.target @2.069s +
-                            └─boot.mount @2.006s +62ms +
-                              └─systemd-fsck@dev-disk-by\x2duuid-2ae4c035\x2d9244\x2d458c\x2d82c5\x2da49ae169cdb6.service @1.943s +54ms +
-                                └─local-fs-pre.target @1.942s +
-                                  └─lvm2-monitor.service @1.319s +622ms +
-                                    └─dm-event.socket @1.317s +
-                                      └─-.mount +
-                                        └─system.slice +
-                                          └─-.slice+
 </code> </code>
  
-Les options de la commande **systemd-analyze** sont :+Notez que la sortie n'indique pas que le profil **ip_fixe** soit associé au periphérique **ens18** car le profil **ip_fixe** n'est pas activé :
  
 <code> <code>
-[root@centos7 ~]# systemd-analyze --help +[root@centos8 ~]# nmcli d show 
-systemd-analyze [OPTIONS...] {COMMAND} ...+GENERAL.DEVICE:                         ens18 
 +GENERAL.TYPE:                           ethernet 
 +GENERAL.HWADDR:                         4E:B1:31:BD:5D:B2 
 +GENERAL.MTU:                            1500 
 +GENERAL.STATE:                          100 (connected) 
 +GENERAL.CONNECTION:                     ens18 
 +GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnect> 
 +WIRED-PROPERTIES.CARRIER:               on 
 +IP4.ADDRESS[1]:                         10.0.2.45/24 
 +IP4.GATEWAY:                            10.0.2.1 
 +IP4.ROUTE[1]:                           dst = 10.0.2.0/24, nh = 0.0.0.0, mt = 100 
 +IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.0.2.1, mt = 100 
 +IP4.DNS[1]:                             8.8.8.8 
 +IP6.ADDRESS[1]:                         fe80::86b6:8d39:cab2:d84d/64 
 +IP6.GATEWAY:                            -- 
 +IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100 
 +IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
  
-Process systemd profiling information+GENERAL.DEVICE:                         virbr0 
 +GENERAL.TYPE:                           bridge 
 +GENERAL.HWADDR:                         52:54:00:79:02:66 
 +GENERAL.MTU:                            1500 
 +GENERAL.STATE:                          100 (connected (externally)) 
 +GENERAL.CONNECTION:                     virbr0 
 +GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnect> 
 +IP4.ADDRESS[1]:                         192.168.122.1/24 
 +IP4.GATEWAY:                            -- 
 +IP4.ROUTE[1]:                           dst = 192.168.122.0/24, nh = 0.0.0.0, mt = 0 
 +IP6.GATEWAY:                            --
  
-  -h --help           Show this help +GENERAL.DEVICE:                         lo 
-     --version        Show package version +GENERAL.TYPE:                           loopback 
-     --system         Connect to system manager +GENERAL.HWADDR:                         00:00:00:00:00:00 
-     --user           Connect to user service manager +GENERAL.MTU:                            65536 
-     --order          When generating a dependency graph, show only order +GENERAL.STATE:                          10 (unmanaged) 
-     --require        When generating a dependency graph, show only requirement +GENERAL.CONNECTION:                     -- 
-     --from-pattern=GLOB, --to-pattern=GLOB +GENERAL.CON-PATH:                       -- 
-                      When generating a dependency graph, filter only origins +IP4.ADDRESS[1]:                         127.0.0.1/8 
-                      or destinations, respectively +IP4.GATEWAY:                            -- 
-     --fuzz=TIMESPAN  When printing the tree of the critical chain, print also +IP6.ADDRESS[1]:                         ::1/128 
-                      services, which finished TIMESPAN earlier, than the +IP6.GATEWAY:                            -- 
-                      latest in the branchThe unit of TIMESPAN is seconds +IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256
-                      unless specified with a different unit, i.e. 50ms +
-     --no-pager       Do not pipe output into a pager+
  
-Commands+GENERAL.DEVICE                        virbr0-nic 
-  time                Print time spent in the kernel before reaching userspace +GENERAL.TYPE:                           tun 
-  blame               Print list of running units ordered by time to init +GENERAL.HWADDR:                         52:54:00:79:02:66 
-  critical-chain      Print a tree of the time critical chain of units +GENERAL.MTU:                            1500 
-  plot                Output SVG graphic showing service initialization +GENERAL.STATE:                          10 (unmanaged
-  dot                 Output dependency graph in dot(1format +GENERAL.CONNECTION:                     -- 
-  set-log-level LEVEL Set logging threshold for systemd +GENERAL.CON-PATH:                       -- 
-  dump                Output state serialization of service manager+lines 28-50/50 (END) 
 +[q]
 </code> </code>
  
-====LAB #4 - Les Cibles Systemd====+Pour activer le profil ip_fixe, utilisez la commande suivante :
  
-Chaque Cible est décrite par un fichier de configuration :+<code> 
 +[root@centos8 ~]# nmcli connection up ip_fixe 
 + 
 +</code> 
 + 
 +Notez que votre terminal est bloqué à cause du changement de l'adresse IP.  
 + 
 +<WRAP center round todo 60%> 
 +**A faire** - Revenez à l'accueil du cloud IT Training et re-connectez-vous à la VM en tant que trainee en utilisant la connexion **CentOS8_SSH_10.0.2.46**. 
 +</WRAP> 
 + 
 +Le profil ip_fixe est maintenant activé tandis que le profil enp0s3 a été désactivé :
  
 <code> <code>
-[root@centos8 ~]# cat /usr/lib/systemd/system/graphical.target +[root@centos8 ~]# nmcli c show 
-#  SPDX-License-IdentifierLGPL-2.1+ +NAME     UUID                                  TYPE      DEVICE  
-# +ip_fixe  0f48c74d-5d16-4c37-8220-24644507b589  ethernet  ens18   
-#  This file is part of systemd+virbr0   03f6c432-2a09-47e7-9693-208431a572ee  bridge    virbr0  
-+ens18    fc4a4d23-b15e-47a7-bcfa-b2e08f49553e  ethernet  --   
-#  systemd is free software; you can redistribute it and/or modify it +    
-#  under the terms of the GNU Lesser General Public License as published by +[root@centos8 ~]# nmcli d show 
-#  the Free Software Foundation; either version 2.1 of the Licenseor +GENERAL.DEVICE:                         ens18 
-#  (at your option) any later version.+GENERAL.TYPE:                           ethernet 
 +GENERAL.HWADDR:                         4E:B1:31:BD:5D:B2 
 +GENERAL.MTU:                            1500 
 +GENERAL.STATE:                          100 (connected) 
 +GENERAL.CONNECTION:                     ip_fixe 
 +GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnect> 
 +WIRED-PROPERTIES.CARRIER              on 
 +IP4.ADDRESS[1]:                         10.0.2.46/24 
 +IP4.GATEWAY:                            10.0.2.1 
 +IP4.ROUTE[1]:                           dst = 10.0.2.0/24, nh = 0.0.0.0, mt = 100 
 +IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.0.2.1, mt = 100 
 +IP6.ADDRESS[1]:                         fe80::5223:aee1:998e:9f27/64 
 +IP6.GATEWAY:                            -- 
 +IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::mt = 100 
 +IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
  
-[Unit+GENERAL.DEVICE:                         virbr0 
-Description=Graphical Interface +GENERAL.TYPE:                           bridge 
-Documentation=man:systemd.special(7+GENERAL.HWADDR:                         52:54:00:79:02:66 
-Requires=multi-user.target +GENERAL.MTU:                            1500 
-Wants=display-manager.service +GENERAL.STATE:                          100 (connected (externally)) 
-Conflicts=rescue.service rescue.target +GENERAL.CONNECTION:                     virbr0 
-After=multi-user.target rescue.service rescue.target display-manager.service +GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnect> 
-AllowIsolate=yes+IP4.ADDRESS[1]:                         192.168.122.1/24 
 +IP4.GATEWAY:                            -- 
 +IP4.ROUTE[1]:                           dst 192.168.122.0/24, nh = 0.0.0.0, mt = 0 
 +IP6.GATEWAY                           -- 
 + 
 +GENERAL.DEVICE:                         lo 
 +GENERAL.TYPE:                           loopback 
 +GENERAL.HWADDR:                         00:00:00:00:00:00 
 +GENERAL.MTU:                            65536 
 +GENERAL.STATE:                          10 (unmanaged
 +GENERAL.CONNECTION:                     -- 
 +GENERAL.CON-PATH:                       -- 
 +IP4.ADDRESS[1]:                         127.0.0.1/8 
 +IP4.GATEWAY:                            -- 
 +IP6.ADDRESS[1]:                         ::1/128 
 +IP6.GATEWAY:                            -- 
 +IP6.ROUTE[1]:                           dst ::1/128, nh = ::, mt = 256 
 + 
 +GENERAL.DEVICE:                         virbr0-nic 
 +GENERAL.TYPE:                           tun 
 +GENERAL.HWADDR:                         52:54:00:79:02:66 
 +GENERAL.MTU:                            1500 
 +GENERAL.STATE:                          10 (unmanaged) 
 +GENERAL.CONNECTION:                     -
 +GENERAL.CON-PATH:                       -- 
 +lines 27-49/49 (END) 
 +[q]
 </code> </code>
  
-Dans ce fichier on peut noter la présence des lignes suivantes :+Pour consulter les paramètres du profil **ens18**, utilisez la commande suivante :
  
-  * **Requires=multi-user.target**, +<code> 
-     * Cette ligne indique que le **graphical.target** ne peut pas être atteint si le **multi-user.target** n'a pas été atteint au préalable, +[root@centos8 ~]# nmcli -p connection show ens18 
-  * **After=multi-user.target rescue.service rescue.target display-manager.service**, +=============================================================================== 
-    * Cette ligne indique le **multi-user.target** et **rescue.target** doivent d'abord être atteints et que les services **rescue.service** et **display-manager.service** doivent d'abord être démarrés, +                      Connection profile details (ens18) 
-  * **Conflicts=rescue.service rescue.target**, +=============================================================================== 
-    * Cette ligne indique la Cible et le service en conflits avec le **graphical.target**, +connection.id:                          ens18 
-  * **Wants=display-manager.service**, +connection.uuid:                        fc4a4d23-b15e-47a7-bcfa-b2e08f49553e 
-    * Cette ligne indique quel service doit être démarré.+connection.stable-id:                   -- 
 +connection.type:                        802-3-ethernet 
 +connection.interface-name:              ens18 
 +connection.autoconnect:                 yes 
 +connection.autoconnect-priority:        0 
 +connection.autoconnect-retries:         -1 (default) 
 +connection.multi-connect:               0 (default) 
 +connection.auth-retries:                -1 
 +connection.timestamp:                   1630224060 
 +connection.read-only:                   no 
 +connection.permissions:                 -- 
 +connection.zone:                        -
 +connection.master:                      -- 
 +connection.slave-type:                  -- 
 +connection.autoconnect-slaves:          -1 (default) 
 +connection.secondaries:                 -- 
 +connection.gateway-ping-timeout:        0 
 +connection.metered:                     unknown 
 +connection.lldp:                        default 
 +connection.mdns:                        -1 (default) 
 +connection.llmnr:                       -1 (default) 
 +connection.wait-device-timeout:         -1 
 +------------------------------------------------------------------------------- 
 +802-3-ethernet.port:                    -- 
 +802-3-ethernet.speed:                   0 
 +802-3-ethernet.duplex:                  -- 
 +802-3-ethernet.auto-negotiate:          no 
 +802-3-ethernet.mac-address:             -- 
 +802-3-ethernet.cloned-mac-address:      -- 
 +802-3-ethernet.generate-mac-address-mask:-- 
 +802-3-ethernet.mac-address-blacklist:   -- 
 +802-3-ethernet.mtu:                     auto 
 +802-3-ethernet.s390-subchannels:        -- 
 +802-3-ethernet.s390-nettype:            -- 
 +802-3-ethernet.s390-options:            -- 
 +802-3-ethernet.wake-on-lan:             default 
 +802-3-ethernet.wake-on-lan-password:    -- 
 +------------------------------------------------------------------------------- 
 +ipv4.method:                            manual 
 +ipv4.dns:                               8.8.8.8 
 +ipv4.dns-search:                        ittraining.loc 
 +ipv4.dns-options:                       -- 
 +ipv4.dns-priority:                      0 
 +ipv4.addresses:                         10.0.2.45/24 
 +ipv4.gateway:                           10.0.2.1 
 +ipv4.routes:                            -- 
 +ipv4.route-metric:                      -1 
 +ipv4.route-table:                       0 (unspec) 
 +ipv4.routing-rules:                     -- 
 +ipv4.ignore-auto-routes:                no 
 +ipv4.ignore-auto-dns:                   no 
 +ipv4.dhcp-client-id:                    -- 
 +ipv4.dhcp-iaid:                         -- 
 +ipv4.dhcp-timeout:                      0 (default) 
 +ipv4.dhcp-send-hostname:                yes 
 +ipv4.dhcp-hostname:                     -- 
 +ipv4.dhcp-fqdn:                         -- 
 +ipv4.dhcp-hostname-flags:               0x0 (none) 
 +ipv4.never-default:                     no 
 +ipv4.may-fail:                          yes 
 +ipv4.dad-timeout:                       -1 (default) 
 +ipv4.dhcp-vendor-class-identifier:      -- 
 +ipv4.dhcp-reject-servers:               -- 
 +------------------------------------------------------------------------------- 
 +ipv6.method:                            auto 
 +ipv6.dns:                               -- 
 +ipv6.dns-search:                        -- 
 +ipv6.dns-options:                       -- 
 +ipv6.dns-priority:                      0 
 +ipv6.addresses:                         -- 
 +ipv6.gateway:                           -- 
 +ipv6.routes:                            -- 
 +ipv6.route-metric:                      -1 
 +ipv6.route-table:                       0 (unspec) 
 +ipv6.routing-rules:                     -- 
 +ipv6.ignore-auto-routes:                no 
 +ipv6.ignore-auto-dns:                   no 
 +ipv6.never-default:                     no 
 +ipv6.may-fail:                          yes 
 +ipv6.ip6-privacy:                       0 (disabled) 
 +ipv6.addr-gen-mode:                     stable-privacy 
 +ipv6.ra-timeout:                        0 (default) 
 +ipv6.dhcp-duid:                         -- 
 +ipv6.dhcp-iaid:                         -- 
 +ipv6.dhcp-timeout:                      0 (default) 
 +ipv6.dhcp-send-hostname:                yes 
 +ipv6.dhcp-hostname:                     -- 
 +ipv6.dhcp-hostname-flags:               0x0 (none) 
 +ipv6.token:                             -- 
 +------------------------------------------------------------------------------- 
 +proxy.method:                           none 
 +proxy.browser-only:                     no 
 +proxy.pac-url:                          -- 
 +proxy.pac-script:                       -- 
 +------------------------------------------------------------------------------- 
 +lines 56-100/100 (END) 
 +[q] 
 +</code>
  
-===4.1 - Contrôler les dépendances d'une Cible===+De même, pour consulter les paramètres du profil **ip_fixe**, utilisez la commande suivante : 
 + 
 +<code> 
 +[root@centos8 ~]# nmcli -p connection show ip_fixe 
 +=============================================================================== 
 +                     Connection profile details (ip_fixe) 
 +=============================================================================== 
 +connection.id:                          ip_fixe 
 +connection.uuid:                        0f48c74d-5d16-4c37-8220-24644507b589 
 +connection.stable-id:                   -- 
 +connection.type:                        802-3-ethernet 
 +connection.interface-name:              ens18 
 +connection.autoconnect:                 yes 
 +connection.autoconnect-priority:        0 
 +connection.autoconnect-retries:         -1 (default) 
 +connection.multi-connect:               0 (default) 
 +connection.auth-retries:                -1 
 +connection.timestamp:                   1630224329 
 +connection.read-only:                   no 
 +connection.permissions:                 -- 
 +connection.zone:                        -- 
 +connection.master:                      -- 
 +connection.slave-type:                  -- 
 +connection.autoconnect-slaves:          -1 (default) 
 +connection.secondaries:                 -- 
 +connection.gateway-ping-timeout:        0 
 +connection.metered:                     unknown 
 +connection.lldp:                        default 
 +connection.mdns:                        -1 (default) 
 +connection.llmnr:                       -1 (default) 
 +connection.wait-device-timeout:         -1 
 +------------------------------------------------------------------------------- 
 +802-3-ethernet.port:                    -- 
 +802-3-ethernet.speed:                   0 
 +802-3-ethernet.duplex:                  -- 
 +802-3-ethernet.auto-negotiate:          no 
 +802-3-ethernet.mac-address:             -- 
 +802-3-ethernet.cloned-mac-address:      -- 
 +802-3-ethernet.generate-mac-address-mask:-- 
 +802-3-ethernet.mac-address-blacklist:   -- 
 +802-3-ethernet.mtu:                     auto 
 +802-3-ethernet.s390-subchannels:        -- 
 +802-3-ethernet.s390-nettype:            -- 
 +802-3-ethernet.s390-options:            -- 
 +802-3-ethernet.wake-on-lan:             default 
 +802-3-ethernet.wake-on-lan-password:    -- 
 +------------------------------------------------------------------------------- 
 +ipv4.method:                            manual 
 +ipv4.dns:                               -- 
 +ipv4.dns-search:                        -- 
 +ipv4.dns-options:                       -- 
 +ipv4.dns-priority:                      0 
 +ipv4.addresses:                         10.0.2.46/24 
 +ipv4.gateway:                           10.0.2.1 
 +ipv4.routes:                            -- 
 +ipv4.route-metric:                      -1 
 +ipv4.route-table:                       0 (unspec) 
 +ipv4.routing-rules:                     -- 
 +ipv4.ignore-auto-routes:                no 
 +ipv4.ignore-auto-dns:                   no 
 +ipv4.dhcp-client-id:                    -- 
 +ipv4.dhcp-iaid:                         -- 
 +ipv4.dhcp-timeout:                      0 (default) 
 +ipv4.dhcp-send-hostname:                yes 
 +ipv4.dhcp-hostname:                     -- 
 +ipv4.dhcp-fqdn:                         -- 
 +ipv4.dhcp-hostname-flags:               0x0 (none) 
 +ipv4.never-default:                     no 
 +ipv4.may-fail:                          yes 
 +ipv4.dad-timeout:                       -1 (default) 
 +ipv4.dhcp-vendor-class-identifier:      -- 
 +ipv4.dhcp-reject-servers:               -- 
 +------------------------------------------------------------------------------- 
 +ipv6.method:                            auto 
 +ipv6.dns:                               -- 
 +ipv6.dns-search:                        -- 
 +ipv6.dns-options:                       -- 
 +ipv6.dns-priority:                      0 
 +ipv6.addresses:                         -- 
 +ipv6.gateway:                           -- 
 +ipv6.routes:                            -- 
 +ipv6.route-metric:                      -1 
 +ipv6.route-table:                       0 (unspec) 
 +ipv6.routing-rules:                     -- 
 +ipv6.ignore-auto-routes:                no 
 +ipv6.ignore-auto-dns:                   no 
 +ipv6.never-default:                     no 
 +ipv6.may-fail:                          yes 
 +ipv6.ip6-privacy:                       -1 (unknown) 
 +ipv6.addr-gen-mode:                     stable-privacy 
 +ipv6.ra-timeout:                        0 (default) 
 +ipv6.dhcp-duid:                         -- 
 +ipv6.dhcp-iaid:                         -- 
 +ipv6.dhcp-timeout:                      0 (default) 
 +ipv6.dhcp-send-hostname:                yes 
 +ipv6.dhcp-hostname:                     -- 
 +ipv6.dhcp-hostname-flags:               0x0 (none) 
 +ipv6.token:                             -- 
 +------------------------------------------------------------------------------- 
 +proxy.method:                           none 
 +proxy.browser-only:                     no 
 +proxy.pac-url:                          -- 
 +proxy.pac-script:                       -- 
 +------------------------------------------------------------------------------- 
 +=============================================================================== 
 +      Activate connection details (0f48c74d-5d16-4c37-8220-24644507b589) 
 +=============================================================================== 
 +GENERAL.NAME:                           ip_fixe 
 +GENERAL.UUID:                           0f48c74d-5d16-4c37-8220-24644507b589 
 +GENERAL.DEVICES:                        ens18 
 +GENERAL.IP-IFACE:                       ens18 
 +GENERAL.STATE:                          activated 
 +GENERAL.DEFAULT:                        yes 
 +GENERAL.DEFAULT6:                       no 
 +GENERAL.SPEC-OBJECT:                    -- 
 +GENERAL.VPN:                            no 
 +GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/4 
 +GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/
 +GENERAL.ZONE:                           -- 
 +GENERAL.MASTER-PATH:                    -- 
 +------------------------------------------------------------------------------- 
 +IP4.ADDRESS[1]:                         10.0.2.46/24 
 +IP4.GATEWAY:                            10.0.2.1 
 +IP4.ROUTE[1]:                           dst = 10.0.2.0/24, nh = 0.0.0.0, mt = 100 
 +IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.0.2.1, mt = 100 
 +------------------------------------------------------------------------------- 
 +IP6.ADDRESS[1]:                         fe80::5223:aee1:998e:9f27/64 
 +IP6.GATEWAY:                            -- 
 +IP6.ROUTE[1]:                           dst fe80::/64, nh ::, mt 100 
 +IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255 
 +------------------------------------------------------------------------------- 
 +lines 83-127/127 (END) 
 +[q] 
 +</code>
  
-Les dépendances d'une Cible peuvent être consultées en utilisant la commande **systemctl list-dependencies** :+Pour consulter la liste profils associés à un périphérique, utilisez la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl list-dependencies multi-user.target +[root@centos8 ~]# nmcli -f CONNECTIONS device show ens18 
-multi-user.target +CONNECTIONS.AVAILABLE-CONNECTION-PATHS: /org/freedesktop/NetworkManager/Settings/1,/org/freedesktop/NetworkManager/Settings/4 
-● ├─atd.service +CONNECTIONS.AVAILABLE-CONNECTIONS[1]:   fc4a4d23-b15e-47a7-bcfa-b2e08f49553e | ens18 
-● ├─auditd.service +CONNECTIONS.AVAILABLE-CONNECTIONS[2]:   0f48c74d-5d16-4c37-8220-24644507b589 | ip_fixe
-● ├─avahi-daemon.service +
-● ├─chronyd.service +
-● ├─crond.service +
-● ├─cups.path +
-● ├─cups.service +
-● ├─dbus.service +
-● ├─dnf-makecache.timer +
-● ├─firewalld.service +
-● ├─irqbalance.service +
-● ├─kdump.service +
-● ├─ksm.service +
-● ├─ksmtuned.service +
-● ├─libstoragemgmt.service +
-● ├─libvirtd.service +
-● ├─mcelog.service +
-● ├─mdmonitor.service +
-● ├─netcf-transaction.service +
-● ├─NetworkManager.service +
-● ├─plymouth-quit-wait.service +
-● ├─plymouth-quit.service +
-● ├─rpcbind.service +
-● ├─rsyslog.service +
-● ├─smartd.service +
-● ├─sshd.service +
-● ├─sssd.service +
-● ├─systemd-ask-password-wall.path +
-● ├─systemd-logind.service +
-● ├─systemd-update-utmp-runlevel.service +
-● ├─systemd-user-sessions.service +
-● ├─tuned.service +
-● ├─vdo.service +
-● ├─basic.target +
-● │ ├─-.mount +
-● │ ├─microcode.service +
-● │ ├─paths.target +
-● │ ├─slices.target +
-● │ │ ├─-.slice +
-● │ │ └─system.slice +
-● │ ├─sockets.target +
-● │ │ ├─avahi-daemon.socket +
-● │ │ ├─cups.socket +
-● │ │ ├─dbus.socket +
-● │ │ ├─dm-event.socket +
-● │ │ ├─iscsid.socket +
-● │ │ ├─iscsiuio.socket +
-● │ │ ├─libvirtd-ro.socket +
-● │ │ ├─libvirtd.socket +
-● │ │ ├─rpcbind.socket +
-● │ │ ├─sssd-kcm.socket +
-● │ │ ├─systemd-coredump.socket +
-● │ │ ├─systemd-initctl.socket +
-● │ │ ├─systemd-journald-dev-log.socket +
-● │ │ ├─systemd-journald.socket +
-● │ │ ├─systemd-udevd-control.socket +
-lines 1-57+
 </code> </code>
  
-Les points noirs au début de chaque ligne dans la sortie ci-dessus peuvent être de trois couleurs différentes :+Les fichiers de configuration pour le periphérique **ens18** se trouvent dans le répertoire **/etc/sysconfig/network-scripts/** :
  
-  * **Vert** implique que le service, la cible ou l'unité est activé et démarré.  +<code> 
-  * **Blanc** implique le service, la cible ou l'unité est inactif+[root@centos8 ~]# ls -/etc/sysconfig/network-scripts/ | grep ifcfg 
-  * **Rouge** implique que le service, la cible ou l'unité n'a pas démarré à cause d'une erreur fatale.+-rw-r--r--1 root root 417 Jun 16 06:39 ifcfg-ens18 
 +-rw-r--r--1 root root 326 Aug 29 03:58 ifcfg-ip_fixe 
 +</code> 
 + 
 +====1.2 - Résolution des Noms====
  
-Pour visualiser les Unités en état d'erreur fatale, utilisez la commande **systemctl --failed** :+L'étude du fichier **/etc/sysconfig/network-scripts/ifcfg-ip_fixe** démontre l'abscence de directives concernant les DNS :
  
 <code> <code>
-[root@centos8 ~]# systemctl --failed +[root@centos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ip_fixe 
-loaded units listedPass --all to see loaded but inactive units, too+TYPE=Ethernet 
-To show all installed unit files use 'systemctl list-unit-files'.+PROXY_METHOD=none 
 +BROWSER_ONLY=no 
 +BOOTPROTO=none 
 +IPADDR=10.0.2.46 
 +PREFIX=24 
 +GATEWAY=10.0.2.1 
 +DEFROUTE=yes 
 +IPV4_FAILURE_FATAL=no 
 +IPV6INIT=yes 
 +IPV6_AUTOCONF=yes 
 +IPV6_DEFROUTE=yes 
 +IPV6_FAILURE_FATAL=no 
 +IPV6_ADDR_GEN_MODE=stable-privacy 
 +NAME=ip_fixe 
 +UUID=0f48c74d-5d16-4c37-8220-24644507b589 
 +DEVICE=ens18 
 +ONBOOT=yes
 </code> </code>
  
-Les dépendances sont créés sous la forme de liens symboliques dans les répertoires **/etc/systemd/system/multi-user.target.wants** et **/usr/lib/systemd/system/multi-user.target.wants** :+La résolution des noms est donc inactive :
  
 <code> <code>
-[root@centos8 ~]# ls -l /etc/systemd/system/multi-user.target.wants +[root@centos8 ~]# ping www.free.fr 
-total 0 +pingwww.free.frName or service not known 
-lrwxrwxrwx. 1 root root 35 May  8  2020 atd.service -> /usr/lib/systemd/system/atd.service +</code>
-lrwxrwxrwx. 1 root root 38 May  8  2020 auditd.service -> /usr/lib/systemd/system/auditd.service +
-lrwxrwxrwx. 1 root root 44 Jun  3 14:02 avahi-daemon.service -> /usr/lib/systemd/system/avahi-daemon.service +
-lrwxrwxrwx. 1 root root 39 May  8  2020 chronyd.service -> /usr/lib/systemd/system/chronyd.service +
-lrwxrwxrwx. 1 root root 37 May  8  2020 crond.service -> /usr/lib/systemd/system/crond.service +
-lrwxrwxrwx. 1 root root 33 Jun  3 14:02 cups.path -> /usr/lib/systemd/system/cups.path +
-lrwxrwxrwx. 1 root root 36 Jun  3 14:02 cups.service -> /usr/lib/systemd/system/cups.service +
-lrwxrwxrwx. 1 root root 43 May  8  2020 dnf-makecache.timer -> /usr/lib/systemd/system/dnf-makecache.timer +
-lrwxrwxrwx. 1 root root 41 May  8  2020 firewalld.service -/usr/lib/systemd/system/firewalld.service +
-lrwxrwxrwx. 1 root root 42 May  8  2020 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service +
-lrwxrwxrwx. 1 root root 37 May  8  2020 kdump.service -> /usr/lib/systemd/system/kdump.service +
-lrwxrwxrwx. 1 root root 35 Apr 19 12:07 ksm.service -> /usr/lib/systemd/system/ksm.service +
-lrwxrwxrwx. 1 root root 40 Apr 19 12:07 ksmtuned.service -> /usr/lib/systemd/system/ksmtuned.service +
-lrwxrwxrwx. 1 root root 46 May  8  2020 libstoragemgmt.service -> /usr/lib/systemd/system/libstoragemgmt.service +
-lrwxrwxrwx. 1 root root 40 Apr 19 12:07 libvirtd.service -> /usr/lib/systemd/system/libvirtd.service +
-lrwxrwxrwx. 1 root root 38 May  8  2020 mcelog.service -> /usr/lib/systemd/system/mcelog.service +
-lrwxrwxrwx. 1 root root 41 May  8  2020 mdmonitor.service -> /usr/lib/systemd/system/mdmonitor.service +
-lrwxrwxrwx. 1 root root 49 Apr 19 12:07 netcf-transaction.service -> /usr/lib/systemd/system/netcf-transaction.service +
-lrwxrwxrwx. 1 root root 46 May  8  2020 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service +
-lrwxrwxrwx. 1 root root 41 Apr 19 12:07 nfs-client.target -> /usr/lib/systemd/system/nfs-client.target +
-lrwxrwxrwx. 1 root root 40 May  8  2020 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target +
-lrwxrwxrwx. 1 root root 39 Apr 19 12:07 rpcbind.service -> /usr/lib/systemd/system/rpcbind.service +
-lrwxrwxrwx. 1 root root 39 May  8  2020 rsyslog.service -> /usr/lib/systemd/system/rsyslog.service +
-lrwxrwxrwx. 1 root root 38 May  8  2020 smartd.service -> /usr/lib/systemd/system/smartd.service +
-lrwxrwxrwx. 1 root root 36 May  8  2020 sshd.service -> /usr/lib/systemd/system/sshd.service +
-lrwxrwxrwx. 1 root root 36 May  8  2020 sssd.service -> /usr/lib/systemd/system/sssd.service +
-lrwxrwxrwx. 1 root root 37 May  8  2020 tuned.service -> /usr/lib/systemd/system/tuned.service +
-lrwxrwxrwx. 1 root root 35 May  8  2020 vdo.service -> /usr/lib/systemd/system/vdo.service+
  
-[root@centos8 ~]# ls -l /usr/lib/systemd/system/multi-user.target.wants +Modifiez donc la configuration du profil **ip_fixe** : 
-total 0 + 
-lrwxrwxrwx. 1 root root 15 Apr  7 12:08 dbus.service -> ../dbus.service +<code> 
-lrwxrwxrwx. 1 root root 15 Apr  7 16:55 getty.target -> ../getty.target +[root@centos8 ~]# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8
-lrwxrwxrwx. 1 root root 24 Oct  6  2020 plymouth-quit.service -> ../plymouth-quit.service +
-lrwxrwxrwx. 1 root root 29 Oct  6  2020 plymouth-quit-wait.service -> ../plymouth-quit-wait.service +
-lrwxrwxrwx. 1 root root 33 Apr  7 16:55 systemd-ask-password-wall.path -> ../systemd-ask-password-wall.path +
-lrwxrwxrwx. 1 root root 25 Apr  7 16:55 systemd-logind.service -> ../systemd-logind.service +
-lrwxrwxrwx. 1 root root 39 Apr  7 16:55 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service +
-lrwxrwxrwx. 1 root root 32 Apr  7 16:55 systemd-user-sessions.service -> ../systemd-user-sessions.service+
 </code> </code>
  
-===4.2 La Cible par Défaut===+L'étude du fichier **/etc/sysconfig/network-scripts/ifcfg-ip_fixe** démontre que la directive concernant le serveur DNS a été ajoutée :
  
-==Consulter la Cible par Défaut==+<code> 
 +[root@centos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ip_fixe 
 +TYPE=Ethernet 
 +PROXY_METHOD=none 
 +BROWSER_ONLY=no 
 +BOOTPROTO=none 
 +IPADDR=10.0.2.46 
 +PREFIX=24 
 +GATEWAY=10.0.2.1 
 +DEFROUTE=yes 
 +IPV4_FAILURE_FATAL=no 
 +IPV6INIT=yes 
 +IPV6_AUTOCONF=yes 
 +IPV6_DEFROUTE=yes 
 +IPV6_FAILURE_FATAL=no 
 +IPV6_ADDR_GEN_MODE=stable-privacy 
 +NAME=ip_fixe 
 +UUID=0f48c74d-5d16-4c37-8220-24644507b589 
 +DEVICE=ens18 
 +ONBOOT=yes 
 +DNS1=8.8.8.8 
 +</code>
  
-Pour consulter la cible par défautil convient d'utiliser la commande **systemctl get-default** :+Afin que la modification du serveur DNS soit prise en comptere-démarrez le service NetworkManager :
  
 <code> <code>
-[root@centos8 ~]# systemctl get-default +root@centos8 ~]# systemctl restart NetworkManager.service 
-multi-user.target+[root@centos8 ~]# systemctl status NetworkManager.service 
 +● NetworkManager.service Network Manager 
 +   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) 
 +   Active: active (running) since Sun 2021-08-29 04:15:11 EDT; 8s ago 
 +     Docs: man:NetworkManager(8) 
 + Main PID: 973390 (NetworkManager) 
 +    Tasks: 4 (limit: 23535) 
 +   Memory: 4.6M 
 +   CGroup: /system.slice/NetworkManager.service 
 +           └─973390 /usr/sbin/NetworkManager --no-daemon 
 + 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.2235] device (ens18): state change: ip-check -> secondaries (reas> 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.2237] device (virbr0): state change: secondaries -> activated (re> 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.2241] manager: NetworkManager state is now CONNECTED_LOCAL 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.2251] policy: set 'ip_fixe' (ens18) as default for IPv4 routing a> 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.3090] device (virbr0): Activation: successful, device activated. 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.3098] device (ens18): state change: secondaries -> activated (rea> 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.3102] manager: NetworkManager state is now CONNECTED_SITE 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.3111] device (ens18): Activation: successful, device activated. 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.3116] manager: NetworkManager state is now CONNECTED_GLOBAL 
 +Aug 29 04:15:12 centos8.ittraining.loc NetworkManager[973390]: <info>  [1630224912.3121] manager: startup complete 
 +lines 1-20/20 (END) 
 +[q]
 </code> </code>
  
-La Cible par défaut est représentée par le lien symbolique **/etc/systemd/system/default.target** :+Vérifiez que le fichier **/etc/resolv.conf** ait été modifié par NetworkManager :
  
 <code> <code>
-[root@centos8 ~]# ls -l /etc/systemd/system/default.target +[root@centos8 ~]# cat /etc/resolv.conf 
-lrwxrwxrwx1 root root 37 May   2020 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target+# Generated by NetworkManager 
 +search ittraining.loc 
 +nameserver 8.8.8.8
 </code> </code>
  
-==Modifier la Cible par Défaut==+Dernièrement vérifiez la resolution des noms :
  
-Pour modifier la Cible par défaut avec une prise en compte lors du **prochain** démarrage, il convient d'utiliser la commande **systemctl set-default** :+<code> 
 +[root@centos8 ~]# ping www.free.fr 
 +PING www.free.fr (212.27.48.10) 56(84) bytes of data. 
 +64 bytes from www.free.fr (212.27.48.10): icmp_seq=1 ttl=47 time=29.3 ms 
 +64 bytes from www.free.fr (212.27.48.10): icmp_seq=2 ttl=47 time=29.4 ms 
 +64 bytes from www.free.fr (212.27.48.10): icmp_seq=3 ttl=47 time=29.4 ms 
 +64 bytes from www.free.fr (212.27.48.10): icmp_seq=4 ttl=47 time=29.4 ms 
 +^C 
 +--- www.free.fr ping statistics --- 
 +4 packets transmitted, 4 received, 0% packet loss, time 3005ms 
 +rtt min/avg/max/mdev = 29.266/29.377/29.428/0.183 ms 
 +</code> 
 + 
 +<WRAP center round important 60%> 
 +**Important** : Notez qu'il existe un front-end graphique en mode texte, **nmtui**, pour configurer NetworkManager. 
 +</WRAP> 
 + 
 +====1.3 - Ajouter une Deuxième Adresse IP à un Profil==== 
 + 
 +Pour ajouter une deuxième adresse IP à un profil sous RHEL/CentOS 8, il convient d'utiliser la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl set-default graphical.target +[root@centos8 ~]# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.2/24
-Removed /etc/systemd/system/default.target. +
-Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target. +
-[root@centos8 ~]# ls -l /etc/systemd/system/default.target +
-lrwxrwxrwx. 1 root root 40 Jun  6 08:11 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target +
-[root@centos8 ~]# systemctl set-default multi-user.target +
-Removed /etc/systemd/system/default.target. +
-Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target. +
-[root@centos8 ~]# ls -l /etc/systemd/system/default.target +
-lrwxrwxrwx. 1 root root 41 Jun  6 08:11 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target+
 </code> </code>
  
-==Modifier la Cible en Cours==+Rechargez la configuration du profil :
  
-Il est possible de modifier la cible actuellement en cours en utilisant la commande **systemctl isolate** :+<code> 
 +[root@centos8 ~]# nmcli con up ip_fixe 
 +</code> 
 + 
 +Saisissez ensuite la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl isolate rescue +[root@centos8 ~]# nmcli connection show ip_fixe 
-[root@centos8 ~]# systemctl list-units --type target | egrep "eme|res|gra|mul" | head -1 +connection.id:                          ip_fixe 
-rescue.target       loaded active active Rescue Mode              +connection.uuid:                        0f48c74d-5d16-4c37-8220-24644507b589 
-[root@centos8 ~]# runlevel +connection.stable-id:                   -- 
-3 1 +connection.type:                        802-3-ethernet 
-[root@centos8 ~]# who -r +connection.interface-name:              ens18 
-         run-level  2021-06-15 04:22                   last=3+connection.autoconnect:                 yes 
 +connection.autoconnect-priority:        0 
 +connection.autoconnect-retries:         -1 (default) 
 +connection.multi-connect:               0 (default) 
 +connection.auth-retries:                -1 
 +connection.timestamp:                   1630225792 
 +connection.read-only:                   no 
 +connection.permissions:                 -- 
 +connection.zone:                        -- 
 +connection.master:                      -- 
 +connection.slave-type:                  -- 
 +connection.autoconnect-slaves:          -1 (default) 
 +connection.secondaries:                 -- 
 +connection.gateway-ping-timeout:        0 
 +connection.metered:                     unknown 
 +connection.lldp:                        default 
 +connection.mdns:                        -1 (default) 
 +connection.llmnr:                       -1 (default) 
 +connection.wait-device-timeout:         -1 
 +802-3-ethernet.port:                    -- 
 +802-3-ethernet.speed:                   0 
 +802-3-ethernet.duplex:                  -- 
 +802-3-ethernet.auto-negotiate:          no 
 +802-3-ethernet.mac-address:             -- 
 +802-3-ethernet.cloned-mac-address:      -- 
 +802-3-ethernet.generate-mac-address-mask:-- 
 +802-3-ethernet.mac-address-blacklist:   -- 
 +802-3-ethernet.mtu:                     auto 
 +802-3-ethernet.s390-subchannels:        -- 
 +802-3-ethernet.s390-nettype:            -- 
 +802-3-ethernet.s390-options:            -- 
 +802-3-ethernet.wake-on-lan:             default 
 +802-3-ethernet.wake-on-lan-password:    -- 
 +ipv4.method:                            manual 
 +ipv4.dns:                               8.8.8.8 
 +ipv4.dns-search:                        -- 
 +ipv4.dns-options:                       -- 
 +ipv4.dns-priority:                      0 
 +ipv4.addresses:                         10.0.2.46/24, 192.168.1.2/24 
 +ipv4.gateway:                           10.0.2.1 
 +ipv4.routes:                            -
 +ipv4.route-metric:                      -1 
 +ipv4.route-table:                       0 (unspec) 
 +ipv4.routing-rules:                     -- 
 +ipv4.ignore-auto-routes:                no 
 +ipv4.ignore-auto-dns:                   no 
 +ipv4.dhcp-client-id:                    -- 
 +ipv4.dhcp-iaid:                         -- 
 +ipv4.dhcp-timeout:                      0 (default) 
 +ipv4.dhcp-send-hostname:                yes 
 +ipv4.dhcp-hostname:                     -- 
 +ipv4.dhcp-fqdn:                         -- 
 +ipv4.dhcp-hostname-flags:               0x0 (none) 
 +ipv4.never-default:                     no 
 +ipv4.may-fail:                          yes 
 +ipv4.dad-timeout:                       -1 (default) 
 +ipv4.dhcp-vendor-class-identifier:      -- 
 +ipv4.dhcp-reject-servers:               -- 
 +ipv6.method:                            auto 
 +ipv6.dns:                               -- 
 +ipv6.dns-search:                        -- 
 +ipv6.dns-options:                       -- 
 +ipv6.dns-priority:                      0 
 +ipv6.addresses:                         -- 
 +ipv6.gateway:                           -- 
 +ipv6.routes:                            -- 
 +ipv6.route-metric:                      -1 
 +ipv6.route-table:                       0 (unspec) 
 +ipv6.routing-rules:                     -- 
 +ipv6.ignore-auto-routes:                no 
 +ipv6.ignore-auto-dns:                   no 
 +ipv6.never-default:                     no 
 +ipv6.may-fail:                          yes 
 +ipv6.ip6-privacy:                       -1 (unknown) 
 +ipv6.addr-gen-mode:                     stable-privacy 
 +ipv6.ra-timeout:                        0 (default) 
 +ipv6.dhcp-duid:                         -- 
 +ipv6.dhcp-iaid:                         -- 
 +ipv6.dhcp-timeout:                      0 (default) 
 +ipv6.dhcp-send-hostname:                yes 
 +ipv6.dhcp-hostname:                     -- 
 +ipv6.dhcp-hostname-flags:               0x0 (none) 
 +ipv6.token:                             -- 
 +proxy.method:                           none 
 +proxy.browser-only:                     no 
 +proxy.pac-url:                          -- 
 +proxy.pac-script:                       -- 
 +GENERAL.NAME:                           ip_fixe 
 +GENERAL.UUID:                           0f48c74d-5d16-4c37-8220-24644507b589 
 +GENERAL.DEVICES:                        ens18 
 +GENERAL.IP-IFACE:                       ens18 
 +GENERAL.STATE:                          activated 
 +GENERAL.DEFAULT:                        yes 
 +GENERAL.DEFAULT6:                       no 
 +GENERAL.SPEC-OBJECT:                    -- 
 +GENERAL.VPN:                            no 
 +GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/
 +GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/
 +GENERAL.ZONE:                           -- 
 +GENERAL.MASTER-PATH:                    -- 
 +IP4.ADDRESS[1]:                         10.0.2.46/24 
 +IP4.ADDRESS[2]:                         192.168.1.2/24 
 +IP4.GATEWAY:                            10.0.2.1 
 +IP4.ROUTE[1]:                           dst 10.0.2.0/24, nh = 0.0.0.0, mt = 100 
 +IP4.ROUTE[2]:                           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100 
 +IP4.ROUTE[3]:                           dst = 0.0.0.0/0, nh = 10.0.2.1, mt = 100 
 +IP4.DNS[1]:                             8.8.8.8 
 +IP6.ADDRESS[1]:                         fe80::5223:aee1:998e:9f27/64 
 +IP6.GATEWAY:                            -- 
 +IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100 
 +IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255 
 +lines 72-116/116 (END) 
 +[q]
 </code> </code>
 +
 +<WRAP center round important 60%>
 +**Important** : Notez l'ajout de l'adresse secondaire à la ligne **ipv4.addresses: ** ainsi que l'ajout de la ligne **IP4.ADDRESS[2]:**.
 +</WRAP>
 +
 +Consultez maintenant le contenu du fichier **/etc/sysconfig/network-scripts/ifcfg-ip_fixe** :
  
 <code> <code>
-[root@centos8 ~]# systemctl isolate multi-user +[root@centos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ip_fixe 
-[root@centos8 ~]# systemctl list-units --type target | egrep "eme|res|gra|mul" | head -1 +TYPE=Ethernet 
-multi-user.target      loaded active active Multi-User System           +PROXY_METHOD=none 
-[root@centos8 ~]# runlevel +BROWSER_ONLY=no 
-3 +BOOTPROTO=none 
-[root@centos8 ~]# who -r +IPADDR=10.0.2.46 
-         run-level 3  2021-06-15 04:24                   last=1+PREFIX=24 
 +GATEWAY=10.0.2.
 +DEFROUTE=yes 
 +IPV4_FAILURE_FATAL=no 
 +IPV6INIT=yes 
 +IPV6_AUTOCONF=yes 
 +IPV6_DEFROUTE=yes 
 +IPV6_FAILURE_FATAL=no 
 +IPV6_ADDR_GEN_MODE=stable-privacy 
 +NAME=ip_fixe 
 +UUID=0f48c74d-5d16-4c37-8220-24644507b589 
 +DEVICE=ens18 
 +ONBOOT=yes 
 +DNS1=8.8.8.8 
 +IPADDR1=192.168.1.2 
 +PREFIX1=24
 </code> </code>
  
-====LAB #5 - Gestion des Services====+<WRAP center round important 60%> 
 +**Important** : Notez l'ajout de la ligne **IPADDR1=192.168.1.2**. 
 +</WRAP>
  
-===5.1 - Gestion des Instances Uniques===+====1.4 La Commande hostname====
  
-Commencez par installer le paquet **httpd** :+La procédure de la modification du hostname est simplifiée et sa prise en compte est immédiate :
  
 <code> <code>
-[root@centos8 ~]# dnf install httpd+[root@centos8 ~]# hostname 
 +centos8.ittraining.loc 
 + 
 +[root@centos8 ~]# nmcli general hostname centos.ittraining.loc 
 + 
 +[root@centos8 ~]# cat /etc/hostname 
 +centos.ittraining.loc 
 + 
 +[root@centos8 ~]# hostname 
 +centos.ittraining.loc 
 + 
 +[root@centos8 ~]# nmcli general hostname centos8.ittraining.loc 
 + 
 +[root@centos8 ~]# cat /etc/hostname 
 +centos8.ittraining.loc 
 + 
 +[root@centos8 ~]# hostname 
 +centos8.ittraining.loc
 </code> </code>
  
-Pour obtenir le détail sur un service donné, il convient d'utiliser la commande **systemctl status** :+====1.5 - La Commande ip==== 
 + 
 +Sous RHEL/CentOS 8 la commande **ip** est préférée par rapport à la commande ifconfig :
  
 <code> <code>
-[root@centos8 ~]# systemctl status httpd.service +[root@centos8 ~]# ip address 
-● httpd.service - The Apache HTTP Server +1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
-   Loadedloaded (/usr/lib/systemd/system/httpd.service; disabled; vendor presetdisabled) +    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
-   Activeinactive (dead) +    inet 127.0.0.1/8 scope host lo 
-     Docsman:httpd.service(8)+       valid_lft forever preferred_lft forever 
 +    inet6 ::1/128 scope host  
 +       valid_lft forever preferred_lft forever 
 +2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
 +    link/ether 4e:b1:31:bd:5d:b2 brd ff:ff:ff:ff:ff:ff 
 +    inet 10.0.2.46/24 brd 10.0.2.255 scope global noprefixroute ens18 
 +       valid_lft forever preferred_lft forever 
 +    inet 192.168.1.2/24 brd 192.168.1.255 scope global noprefixroute ens18 
 +       valid_lft forever preferred_lft forever 
 +    inet6 fe80::5223:aee1:998e:9f27/64 scope link noprefixroute  
 +       valid_lft forever preferred_lft forever 
 +3virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 
 +    link/ether 52:54:00:79:02:66 brd ff:ff:ff:ff:ff:ff 
 +    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 
 +       valid_lft forever preferred_lft forever 
 +4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 
 +    link/ether 52:54:00:79:02:66 brd ff:ff:ff:ff:ff:ff
 </code> </code>
  
-Dans le cas du service httpd ci-dessus, on peut constater que le statut est **disabled**. Le statut peut être une de 2 valeurs :+===Options de la Commande ip===
  
-  * **disabled** - le service ne démarrera pas lors du prochain démarrage du système. +Les options de cette commande sont :
-  * **enabled** - le service démarrera lors du prochain démarrage du système.+
  
-Il est possible de vérifier le statut en utilisant le commande **systemctl is-enabled** :+<code> 
 +[root@centos8 ~]# ip --help 
 +Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } 
 +       ip [ -force ] -batch filename 
 +where  OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | 
 +                   tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | 
 +                   netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila | 
 +                   vrf | sr | nexthop | mptcp } 
 +       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | 
 +                    -h[uman-readable] | -iec | -j[son] | -p[retty] | 
 +                    -f[amily] { inet | inet6 | mpls | bridge | link } | 
 +                    -4 | -6 | -I | -D | -M | -B | -0 | 
 +                    -l[oops] { maximum-addr-flush-attempts } | -br[ief] | 
 +                    -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] | 
 +                    -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] | 
 +                    -c[olor]} 
 + 
 +</code> 
 + 
 +====1.6 - Activer/Désactiver une Interface Manuellement==== 
 + 
 +Deux commandes existent pour désactiver et activer manuellement une interface réseau :
  
 <code> <code>
-[root@centos8 ~]systemctl is-enabled httpd.service +nmcli device disconnect enp0s3 
-disabled+# nmcli device connect enp0s3
 </code> </code>
  
-Pour rendre le statut **enabled**, il convient d'utiliser la commande **systemctl enable** :+<WRAP center round important 60%> 
 +**Important** : Veuillez ne **PAS** exécuter ces deux commandes. 
 +</WRAP> 
 + 
 +====1.7 - Routage Statique==== 
 + 
 +===La commande ip=== 
 + 
 +Sous RHEL/CentOS 8pour supprimer la route vers le réseau 192.168.1.0 il convient d'utiliser la commande ip et non pas la commande route :
  
 <code> <code>
-[root@centos8 ~]# systemctl enable httpd.service +[root@centos8 ~]# ip route 
-Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.+default via 10.0.2.1 dev ens18 proto static metric 100  
 +10.0.2.0/24 dev ens18 proto kernel scope link src 10.0.2.46 metric 100  
 +192.168.1.0/24 dev ens18 proto kernel scope link src 192.168.1.2 metric 100  
 +192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
  
-[root@centos8 ~]# systemctl is-enabled httpd.service +root@centos8 ~]# ip route del 192.168.1.0/24 via 0.0.0.0 
-enabled+[root@centos8 ~]# ip route 
 +default via 10.0.2.1 dev ens18 proto static metric 100  
 +10.0.2.0/24 dev ens18 proto kernel scope link src 10.0.2.46 metric 100  
 +192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown  
 +</code>
  
-[root@centos8 ~]# systemctl status httpd.service +Pour ajouter la route vers le réseau 192.168.1.0 : 
-● httpd.service - The Apache HTTP Server + 
-   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) +<code> 
-   Active: inactive (dead) +[root@centos8 ~]# ip route add 192.168.1.0/24 via 10.0.2.1 
-     Docs: man:httpd.service(8)+[root@centos8 ~]# ip route 
 +default via 10.0.2.1 dev ens18 proto static metric 100  
 +10.0.2.0/24 dev ens18 proto kernel scope link src 10.0.2.46 metric 100  
 +192.168.1.0/24 via 10.0.2.1 dev ens18  
 +192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 
 </code> </code>
  
-Dans le cas du service httpd ci-dessus, on peut maintenant constater que l'état est **inactive (dead)**.  L'état peut être une de 7 valeurs :+<WRAP center round important 60%> 
 +**Important** La commande utilisée pour ajouter une passerelle par défaut prend la forme suivante **ip route add default via //adresse ip//**. 
 +</WRAP>
  
-  * **inactive (dead)** - le service est arrêté. +===Désactiver/Activer le routage sur le serveur===
-  * **active(running** - le service est démarré avec un ou plusieurs processus. +
-  * **active(exited)** - le service a terminé une configuration unique. +
-  * **active(waiting)** - le service est démarré mais en attente d'un évènement. +
-  * **activating** - le service est en cours d'activation. +
-  * **deactivating** - le service est en cours de désactivation. +
-  * **failed** - le service a rencontré une erreur fatale.+
  
-Il est possible de vérifier l'état en utilisant le commande **systemctl is-active** :+Pour désactiver le routage sur le serveur, il convient de désactiver la retransmission des paquets. 
 + 
 +Pour IPv4 :
  
 <code> <code>
-[root@centos8 ~]# systemctl is-active httpd.service +[root@centos8 ~]# cat /proc/sys/net/ipv4/ip_forward 
-inactive+
 +[root@centos8 ~]# echo 0 > /proc/sys/net/ipv4/ip_forward 
 +[root@centos8 ~]# cat /proc/sys/net/ipv4/ip_forward 
 +0
 </code> </code>
  
-Pour rendre l'état **active(running)**utilisez la commande suivante :+Pour activer le routage sur le serveuril convient d'activer la retransmission des paquets:
  
 <code> <code>
-[root@centos8 ~]# systemctl start httpd.service+[root@centos8 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 
 +[root@centos8 ~]# cat /proc/sys/net/ipv4/ip_forward 
 +1
 </code> </code>
  
-Vérifiez ensuite l'état du service :+Pour IPv6 :
  
 <code> <code>
-[root@centos8 ~]# systemctl is-active httpd.service +[root@centos8 ~]# cat /proc/sys/net/ipv6/conf/all/forwarding 
-active+
 +[root@centos8 ~]# echo "0" > /proc/sys/net/ipv6/conf/all/forwarding 
 +[root@centos8 ~]# cat /proc/sys/net/ipv6/conf/all/forwarding 
 +
 +</code>
  
-[root@centos8 ~]# systemctl status httpd.service +Pour activer le routage sur le serveuril convient d'activer la retransmission des paquets:
-● httpd.service - The Apache HTTP Server +
-   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) +
-   Active: active (running) since Sun 2021-06-06 15:33:06 EDT; 14s ago +
-     Docs: man:httpd.service(8) +
- Main PID: 34382 (httpd) +
-   Status: "Runninglistening on: port 80" +
-    Tasks: 213 (limit: 23719) +
-   Memory: 36.3M +
-   CGroup/system.slice/httpd.service +
-           ├─34382 /usr/sbin/httpd -DFOREGROUND +
-           ├─34383 /usr/sbin/httpd -DFOREGROUND +
-           ├─34384 /usr/sbin/httpd -DFOREGROUND +
-           ├─34385 /usr/sbin/httpd -DFOREGROUND +
-           └─34386 /usr/sbin/httpd -DFOREGROUND+
  
-Jun 06 15:33:05 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server... +<code> 
-Jun 06 15:33:06 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server. +[root@centos8 ~]# echo "1" > /proc/sys/net/ipv6/conf/all/forwarding 
-Jun 06 15:33:06 centos8.ittraining.loc httpd[34382]: Server configured, listening on: port 80+[root@centos8 ~]# cat /proc/sys/net/ipv6/conf/all/forwarding 
 +1
 </code> </code>
  
-Pour arrêter une Unité de serviceutilisez la commande suivante :+=====LAB #2 - Diagnostique du Réseau===== 
 + 
 +====2.1 - ping==== 
 + 
 +Pour tester l'accessibilité d'une machinevous devez utiliser la commande **ping** :
  
 <code> <code>
-[root@centos8 ~]# systemctl stop httpd.service +[root@centos8 ~]# ping -c4 10.0.2.1 
-[root@centos8 ~]# systemctl status httpd.service +PING 10.0.2.1 (10.0.2.156(84bytes of data. 
-● httpd.service - The Apache HTTP Server +64 bytes from 10.0.2.1icmp_seq=1 ttl=64 time=0.104 ms 
-   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) +64 bytes from 10.0.2.1icmp_seq=2 ttl=64 time=0.325 ms 
-   Active: inactive (deadsince Sun 2021-06-06 23:58:04 EDT; 8s ago +64 bytes from 10.0.2.1icmp_seq=3 ttl=64 time=0.250 ms 
-     Docs: man:httpd.service(8) +64 bytes from 10.0.2.1icmp_seq=4 ttl=64 time=0.123 ms
-  Process34382 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS) +
- Main PID34382 (code=exited, status=0/SUCCESS) +
-   Status"Running, listening on: port 80"+
  
-Jun 06 15:33:05 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server... +--- 10.0.2.1 ping statistics --- 
-Jun 06 15:33:06 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server. +4 packets transmitted4 received, 0% packet loss, time 3083ms 
-Jun 06 15:33:06 centos8.ittraining.loc httpd[34382]: Server configuredlistening on: port 80 +rtt min/avg/max/mdev = 0.104/0.200/0.325/0.092 ms
-Jun 06 23:58:02 centos8.ittraining.loc systemd[1]: Stopping The Apache HTTP Server..+
-Jun 06 23:58:04 centos8.ittraining.loc systemd[1]: httpd.service: Succeeded. +
-Jun 06 23:58:04 centos8.ittraining.loc systemd[1]: Stopped The Apache HTTP Server.+
 </code> </code>
  
-Pour désactiver un service au prochain démarrage du système, utilisez l'option **disable** :+===Options de la commande ping=== 
 + 
 +Les options de cette commande sont :
  
 <code> <code>
-[root@centos8 ~]# systemctl disable httpd.service +[root@centos8 ~]# ping --help 
-Removed /etc/systemd/system/multi-user.target.wants/httpd.service+ping: invalid option -- '-' 
-[root@centos8 ~]# systemctl status httpd.service +Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface] 
-● httpd.service The Apache HTTP Server +            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos] 
-   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) +            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option] 
-   Active: inactive (dead) +            [-w deadline] [-W timeout] [hop1 ...] destination 
-     Docs: man:httpd.service(8)+Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface
 +             [-l preload] [-m mark] [-M pmtudisc_option] 
 +             [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize] 
 +             [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline] 
 +             [-W timeout] destination 
 +</code>
  
-Jun 06 15:33:05 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server..+====2.2 - netstat -i==== 
-Jun 06 15:33:06 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server. + 
-Jun 06 15:33:06 centos8.ittraining.loc httpd[34382]: Server configuredlistening onport 80 +Pour visualiser les statistiques réseauxvous disposez de la commande **netstat** 
-Jun 06 23:58:02 centos8.ittraining.loc systemd[1]: Stopping The Apache HTTP Server... + 
-Jun 06 23:58:04 centos8.ittraining.loc systemd[1]: httpd.service: Succeeded. +<code> 
-Jun 06 23:58:04 centos8.ittraining.loc systemd[1]: Stopped The Apache HTTP Server.+[root@centos8 ~]# netstat -i 
 +Kernel Interface table 
 +Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg 
 +ens18            1500   476056      0      0 0        363562      0      0      0 BMRU 
 +lo              65536    10936      0      0 0         10936      0      0      0 LRU 
 +virbr0           1500        0      0      0 0                  0      0      0 BMU
 </code> </code>
  
-===5.2 - Gestion d'Instances Multiples===+===Options de la commande netstat===
  
-Systemd permet l'utilisation des gabarits (templates) des fichiers de configuration des Unités. De cette façon il est possible de faire coexister deux ou plusieurs instances du même service. Un gabarit est reconnaissable par le caractère **@** qui est placé juste avant le point dans le nom du fichier :+Les options de cette commande sont :
  
 <code> <code>
-[root@centos8 ~]# cat /usr/lib/systemd/system/httpd@.service +[root@centos8 ~]# netstat --help 
-# This is a template for httpd instances. +usage: netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help} 
-# See httpd@.service(8for more information.+       netstat [-vWnNcaeol] [<Socket> ...] 
 +       netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay] 
 + 
 +        -r, --route              display routing table 
 +        -I, --interfaces=<Iface> display interface table for <Iface> 
 +        -i, --interfaces         display interface table 
 +        -g, --groups             display multicast group memberships 
 +        -s, --statistics         display networking statistics (like SNMP) 
 +        -M, --masquerade         display masqueraded connections
  
-[Unit] +        -v, --verbose            be verbose 
-Description=The Apache HTTP Server +        -W, --wide               don't truncate IP addresses 
-After=network.target remote-fs.target nss-lookup.target +        -n, --numeric            don't resolve names 
-Documentation=man:httpd@.service(8)+        --numeric-hosts          don't resolve host names 
 +        --numeric-ports          don't resolve port names 
 +        --numeric-users          don't resolve user names 
 +        -N, --symbolic           resolve hardware names 
 +        -e, --extend             display other/more information 
 +        -p, --programs           display PID/Program name for sockets 
 +        -o, --timers             display timers 
 +        -c, --continuous         continuous listing
  
-[Service] +        -l, --listening          display listening server sockets 
-Type=notify +        -a, --all                display all sockets (default: connected) 
-Environment=LANG=C +        -F, --fib                display Forwarding Information Base (default) 
-Environment=HTTPD_INSTANCE=%i +        -C, --cache              display routing cache instead of FIB 
-ExecStartPre=/bin/mkdir -m 710 -p /run/httpd/instance-%i +        -Z, --context            display SELinux security context for sockets
-ExecStartPre=/bin/chown root.apache /run/httpd/instance-%i +
-ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND -f conf/%i.conf +
-ExecReload=/usr/sbin/httpd $OPTIONS -k graceful -f conf/%i.conf +
-# Send SIGWINCH for graceful stop +
-KillSignal=SIGWINCH +
-KillMode=mixed +
-PrivateTmp=true+
  
-[Install] +  <Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw} 
-WantedBy=multi-user.target+           {-x|--unix} --ax25 --ipx --netrom 
 +  <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet 
 +  List of possible address families (which support routing): 
 +    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)  
 +    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)  
 +    x25 (CCITT X.25)
 </code> </code>
  
-Une instance créée à partir de ce gabarit devrait avoir un nom sous la forme suivante :+====2.3 - traceroute==== 
 + 
 +La commande ping est à la base de la commande **traceroute**. Cette commande sert à découvrir la route empruntée pour accéder à un site donné :
  
 <code> <code>
-httpd@<nom_instance>.service+[root@centos8 ~]# traceroute www.ittraining.network 
 +bash: traceroute: command not found... 
 +Install package 'traceroute' to provide command 'traceroute'? [N/y] y 
 + 
 + 
 + * Waiting in queue...  
 +The following packages have to be installed: 
 + traceroute-3:2.1.0-6.el8.x86_64        Traces the route taken by packets over an IPv4/IPv6 network 
 +Proceed with changes? [N/y] y 
 + 
 + 
 + * Waiting in queue...  
 + * Waiting for authentication...  
 + * Waiting in queue...  
 + * Downloading packages...  
 + * Requesting data...  
 + * Testing changes...  
 + * Installing packages...  
 +traceroute to www.ittraining.network (109.228.56.52), 30 hops max, 60 byte packets 
 +  _gateway (10.0.2.1)  0.132 ms  0.101 ms  0.078 ms 
 +  79.137.68.252 (79.137.68.252)  0.542 ms  0.656 ms  0.809 ms 
 +  10.50.24.61 (10.50.24.61)  0.238 ms  0.219 ms 10.50.24.60 (10.50.24.60)  0.239 ms 
 +  10.50.0.16 (10.50.0.16)  0.172 ms 10.50.0.22 (10.50.0.22)  0.194 ms  0.173 ms 
 +  10.73.248.192 (10.73.248.192)  0.766 ms 10.73.248.194 (10.73.248.194)  0.730 ms 10.73.248.192 (10.73.248.192)  0.757 ms 
 +  waw-wa2-sbb1-nc5.pl.eu (91.121.131.150)  1.102 ms  1.396 ms  1.099 ms 
 +  fra-fr5-sbb1-nc5.de.eu (213.251.128.113)  18.309 ms fra-fr5-sbb2-nc5.de.eu (54.36.50.116)  21.881 ms fra-fr5-sbb1-nc5.de.eu (213.251.128.113)  16.764 ms 
 +  10.200.0.6 (10.200.0.6)  20.922 ms 10.200.0.0 (10.200.0.0)  16.959 ms 10.200.0.4 (10.200.0.4)  21.143 ms 
 +  decix.bb-a.fra3.fra.de.oneandone.net (80.81.192.123)  18.789 ms decix.bb-c.act.fra.de.oneandone.net (80.81.193.123)  20.310 ms decix.bb-a.fra3.fra.de.oneandone.net (80.81.192.123)  18.693 ms 
 +10  ae-14.bb-b.fr7.fra.de.oneandone.net (212.227.120.149)  22.222 ms  22.206 ms  22.257 ms 
 +11  port-channel-3.gw-ngcs-1.dc1.con.glo.gb.oneandone.net (88.208.255.131)  39.660 ms  39.679 ms ae-19.bb-b.thn.lon.gb.oneandone.net (212.227.120.33)  33.973 ms 
 +12  109.228.63.209 (109.228.63.209)  37.363 ms port-channel-3.gw-ngcs-1.dc1.con.glo.gb.oneandone.net (88.208.255.131)  39.534 ms 109.228.63.209 (109.228.63.209)  37.901 ms 
 +13  * 109.228.63.209 (109.228.63.209)  38.014 ms  37.991 ms 
 +14  * * * 
 +15  * * * 
 +16  * * * 
 +17  * * * 
 +18  * * * 
 +19  * * * 
 +20  * * * 
 +21  * * * 
 +22  * * * 
 +23  * * * 
 +24  * * * 
 +25  * * * 
 +26  * * * 
 +27  * * * 
 +28  * * * 
 +29  * * *^C
 </code> </code>
  
-Dans ce fichier on peut constater l'utilisation d'un **identifier** sous la forme de **%i**. Les identifiers sont de deux types - un dit **échappé** où les caractères non-ASCII alphanumérique sont remplacés par **escapes** de type langage C et l'autre non-échappé :+===Options de la commande traceroute===
  
-  * %n : est remplacé par le nom complet échappé de l'Unité. +Les options de cette commande sont :
-  * %N : est remplacé par le nom complet non-échappé de l'Unité. +
-  * %p : est remplacé par le préfixe échappé de l'Unité, c'est-à-dire la partie **avant** le caractère @. +
-  * %P : est remplacé par le préfixe non-échappé de l'Unité, c'est-à-dire la partie **avant** le caractère @. +
-  * %i : est remplacé par le nom de l'instance échappé de l'Unité, c'est-à-dire la partie **après** le caractère @ et **avant** le point. +
-  * %I : est remplacé par le nom de l'instance non-échappé de l'Unité, c'est-à-dire la partie **après** le caractère @ et **avant** le point. +
-  * %f : est remplacé par le préfixe non-échappé ou le nom de l'instance non-échappé préfixé par le caractère **/**. +
-  * %c : est remplacé par le CGroup de l'Unité sans le chemin /sys/fs/cgroup/systemd/+
-  * %u : est remplacé par le nom de l'utilisateur responsable de l'exécution de l'Unité. +
-  * %U : est remplacé par l'UID de l'utilisateur responsable de l'exécution de l'Unité. +
-  * %H : est remplacé par le nom d'hôte sur lequel est exécuté l'Unité. +
-  * %% est remplacé" par le caractère **%**.+
  
-Créez maintenant deux copies du fichier **/usr/lib/systemd/system/httpd@.service** :+<code> 
 +[root@centos8 ~]# traceroute --help 
 +Usage: 
 +  traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ] 
 +Options: 
 +  -4                          Use IPv4 
 +  -6                          Use IPv6 
 +  -d  --debug                 Enable socket level debugging 
 +  -F  --dont-fragment         Do not fragment packets 
 +  -f first_ttl  --first=first_ttl 
 +                              Start from the first_ttl hop (instead from 1) 
 +  -g gate,...  --gateway=gate,... 
 +                              Route packets through the specified gateway 
 +                              (maximum 8 for IPv4 and 127 for IPv6) 
 +  -I  --icmp                  Use ICMP ECHO for tracerouting 
 +  -T  --tcp                   Use TCP SYN for tracerouting (default port is 80) 
 +  -i device  --interface=device 
 +                              Specify a network interface to operate with 
 +  -m max_ttl  --max-hops=max_ttl 
 +                              Set the max number of hops (max TTL to be 
 +                              reached). Default is 30 
 +  -N squeries  --sim-queries=squeries 
 +                              Set the number of probes to be tried 
 +                              simultaneously (default is 16) 
 +  -n                          Do not resolve IP addresses to their domain names 
 +  -p port  --port=port        Set the destination port to use. It is either 
 +                              initial udp port value for "default" method 
 +                              (incremented by each probe, default is 33434), or 
 +                              initial seq for "icmp" (incremented as well, 
 +                              default from 1), or some constant destination 
 +                              port for other methods (with default of 80 for 
 +                              "tcp", 53 for "udp", etc.) 
 +  -t tos  --tos=tos           Set the TOS (IPv4 type of service) or TC (IPv6 
 +                              traffic class) value for outgoing packets 
 +  -l flow_label  --flowlabel=flow_label 
 +                              Use specified flow_label for IPv6 packets 
 +  -w MAX,HERE,NEAR  --wait=MAX,HERE,NEAR 
 +                              Wait for a probe no more than HERE (default 3) 
 +                              times longer than a response from the same hop, 
 +                              or no more than NEAR (default 10) times than some 
 +                              next hop, or MAX (default 5.0) seconds (float 
 +                              point values allowed too) 
 +  -q nqueries  --queries=nqueries 
 +                              Set the number of probes per each hop. Default is 
 +                              3 
 +  -r                          Bypass the normal routing and send directly to a 
 +                              host on an attached network 
 +  -s src_addr  --source=src_addr 
 +                              Use source src_addr for outgoing packets 
 +  -z sendwait  --sendwait=sendwait 
 +                              Minimal time interval between probes (default 0). 
 +                              If the value is more than 10, then it specifies a 
 +                              number in milliseconds, else it is a number of 
 +                              seconds (float point values allowed too) 
 +  -e  --extensions            Show ICMP extensions (if present), including MPLS 
 +  -A  --as-path-lookups       Perform AS path lookups in routing registries and 
 +                              print results directly after the corresponding 
 +                              addresses 
 +  -M name  --module=name      Use specified module (either builtin or external) 
 +                              for traceroute operations. Most methods have 
 +                              their shortcuts (`-I' means `-M icmp' etc.) 
 +  -O OPTS,...  --options=OPTS,... 
 +                              Use module-specific option OPTS for the 
 +                              traceroute module. Several OPTS allowed, 
 +                              separated by comma. If OPTS is "help", print info 
 +                              about available options 
 +  --sport=num                 Use source port num for outgoing packets. Implies 
 +                              `-N 1' 
 +  --fwmark=num                Set firewall mark for outgoing packets 
 +  -U  --udp                   Use UDP to particular port for tracerouting 
 +                              (instead of increasing the port per each probe), 
 +                              default port is 53 
 +  -UL                         Use UDPLITE for tracerouting (default dest port 
 +                              is 53) 
 +  -D  --dccp                  Use DCCP Request for tracerouting (default port 
 +                              is 33434) 
 +  -P prot  --protocol=prot    Use raw packet of protocol prot for tracerouting 
 +  --mtu                       Discover MTU along the path being traced. Implies 
 +                              `-F -N 1' 
 +  --back                      Guess the number of hops in the backward path and 
 +                              print if it differs 
 +  -V  --version               Print version info and exit 
 +  --help                      Read this help and exit 
 + 
 +Arguments: 
 ++     host          The host to traceroute to 
 +      packetlen     The full packet length (default is the length of an IP 
 +                    header plus 40). Can be ignored or increased to a minimal 
 +                    allowed value 
 +</code> 
 + 
 +=====LAB #3 - Connexions à Distance===== 
 + 
 +==== 3.1 - Telnet ==== 
 + 
 +<WRAP center round important> 
 +**Important** - Si la commande **telnet** n'est pas installée sous CentOS 8, installez-le à l'aide de la commande **dnf install telnet** en tant que root. 
 +</WRAP> 
 + 
 +La commande **telnet** est utilisée pour établir une connexion à distance avec un serveur telnet : 
 + 
 +<file> 
 +  # telnet numero_ip 
 +</file> 
 + 
 +<WRAP center round important 60%> 
 +**Important** - Le service telnet revient à une redirection des canaux standards d'entrée et de sortie. Notez que la connexion n'est **pas** sécurisée. Pour fermer la connexion, il faut saisir la commande **exit**. La commande telnet n'offre pas de services de transfert de fichiers. Pour cela, il convient d'utiliser la command **ftp**. 
 +</WRAP> 
 + 
 +===Options de la commande telnet=== 
 + 
 +Les options de cette commande sont :
  
 <code> <code>
-[root@centos8 ~]# cp /usr/lib/systemd/system/httpd@.service /usr/lib/systemd/system/httpd@instance01.service +[[root@centos8 ~]# telnet --help 
-[root@centos8 ~]# cp /usr/lib/systemd/system/httpd@.service /usr/lib/systemd/system/httpd@instance02.service+telnet: invalid option -- '-' 
 +Usage: telnet [-4] [-6] [-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user] 
 +        [-n tracefile] [-b hostalias ] [-r]  
 + [host-name [port]]
 </code> </code>
  
-Créez deux copies du fichier **/etc/httpd/conf/httpd.conf** :+==== 3.2 - wget ==== 
 + 
 +La commande **wget** est utilisée pour récupérer un fichier via http, https ou ftp 
  
 <code> <code>
-[root@centos8 ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/instance01.conf +[root@centos8 ~]# wget https://www.dropbox.com/s/wk79lkfr6f12u9j/wget_file.txt 
-[root@centos8 ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/instance02.conf+... 
 + 
 +[root@centos8 ~]# cat wget_file.txt  
 +This is a file retrieved by the wget command.
 </code> </code>
  
-Editez la directive **Listen** du fichier **/etc/httpd/conf/instance01.conf** et ajoutez la directive **PidFile** :+===Options de la commande wget=== 
 + 
 +Les options de cette commande sont :
  
 <code> <code>
-[root@centos8 ~]# vi /etc/httpd/conf/instance01.conf  +[root@centos8 ~]# wget --help 
-[root@centos8 ~]# more /etc/httpd/conf/instance01.conf  +GNU Wget 1.19.5, a non-interactive network retriever
-+Usagewget [OPTION]... [URL]...
-# This is the main Apache HTTP server configuration file It contains the +
-# configuration directives that give the server its instructions+
-# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. +
-# In particular, see  +
-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> +
-# for a discussion of each configuration directive. +
-+
-# See the httpd.conf(5) man page for more information on this configuration, +
-# and httpd.service(8) on using and configuring the httpd service. +
-+
-# Do NOT simply read the instructions in here without understanding +
-# what they do.  They're here only as hints or reminders.  If you are unsure +
-# consult the online docs. You have been warned.   +
-+
-# Configuration and logfile names: If the filenames you specify for many +
-# of the server's control files begin with "/" (or "drive:/" for Win32), the +
-# server will use that explicit path.  If the filenames do *not* begin +
-# with "/", the value of ServerRoot is prepended -- so 'log/access_log' +
-# with ServerRoot set to '/www' will be interpreted by the +
-# server as '/www/log/access_log', where as '/log/access_log' will be +
-# interpreted as '/log/access_log'.+
  
-+Mandatory arguments to long options are mandatory for short options too.
-# ServerRoot: The top of the directory tree under which the server'+
-# configuration, error, and log files are kept. +
-+
-# Do not add a slash at the end of the directory path.  If you point +
-# ServerRoot at a non-local disk, be sure to specify a local disk on the +
-# Mutex directive, if file-based mutexes are used.  If you wish to share the +
-# same ServerRoot for multiple httpd daemons, you will need to change at +
-# least PidFile. +
-+
-ServerRoot "/etc/httpd"+
  
-+Startup
-# ListenAllows you to bind Apache to specific IP addresses and/or +  -V --version                   display the version of Wget and exit 
-# portsinstead of the default. See also the <VirtualHost> +  -h,  --help                      print this help 
-# directive. +  -b,  --background                go to background after startup 
-+  -e,  --execute=COMMAND           execute a `.wgetrc'-style command
-# Change this to Listen on specific IP addresses as shown below to  +
-# prevent Apache from glomming onto all bound IP addresses. +
-+
-#Listen 12.34.56.78:80 +
-Listen 8008 +
-PidFile /var/run/httpd/instance01.pid+
  
-# +Logging and input file: 
-# Dynamic Shared Object (DSO) Support +  -o,  --output-file=FILE          log messages to FILE 
-+  -a,  --append-output=FILE        append messages to FILE 
-# To be able to use the functionality of a module which was built as a DSO you +  -d,  --debug                     print lots of debugging information 
-# have to place corresponding `LoadModule' lines at this location so the +  -q,  --quiet                     quiet (no output
-# directives contained in it are actually available _before_ they are used. +  -v,  --verbose                   be verbose (this is the default) 
-# Statically compiled modules (those listed by `httpd -l'do not need +  -nv, --no-verbose                turn off verboseness, without being quiet 
-# to be loaded here+       --report-speed=TYPE         output bandwidth as TYPE TYPE can be bits 
-# +  -i,  --input-file=FILE           download URLs found in local or external FILE 
-# Example: +       --input-metalink=FILE       download files covered in local Metalink FILE 
-# LoadModule foo_module modules/mod_foo.so +  -F,  --force-html                treat input file as HTML 
---More--(19%+  -B,  --base=URL                  resolves HTML input-file links (-i -F
-</code> +                                     relative to URL 
 +       --config=FILE               specify config file to use 
 +       --no-config                 do not read any config file 
 +       --rejected-log=FILE         log reasons for URL rejection to FILE
  
-Editez la directive **Listen** du fichier **/etc/httpd/conf/instance02.conf**  et ajoutez la directive **PidFile** :+Download: 
 +  -t,  --tries=NUMBER              set number of retries to NUMBER (0 unlimits) 
 +       --retry-connrefused         retry even if connection is refused 
 +       --retry-on-http-error=ERRORS    comma-separated list of HTTP errors to retry 
 +  -O,  --output-document=FILE      write documents to FILE 
 +  -nc, --no-clobber                skip downloads that would download to 
 +                                     existing files (overwriting them) 
 +       --no-netrc                  don't try to obtain credentials from .netrc 
 +  -c,  --continue                  resume getting a partially-downloaded file 
 +       --start-pos=OFFSET          start downloading from zero-based position OFFSET 
 +       --progress=TYPE             select progress gauge type 
 +       --show-progress             display the progress bar in any verbosity mode 
 +  -N,  --timestamping              don't re-retrieve files unless newer than 
 +                                     local 
 +       --no-if-modified-since      don't use conditional if-modified-since get 
 +                                     requests in timestamping mode 
 +       --no-use-server-timestamps  don't set the local file's timestamp by 
 +                                     the one on the server 
 +  -S,  --server-response           print server response 
 +       --spider                    don't download anything 
 +  -T,  --timeout=SECONDS           set all timeout values to SECONDS 
 +       --dns-timeout=SECS          set the DNS lookup timeout to SECS 
 +       --connect-timeout=SECS      set the connect timeout to SECS 
 +       --read-timeout=SECS         set the read timeout to SECS 
 +  -w,  --wait=SECONDS              wait SECONDS between retrievals 
 +       --waitretry=SECONDS         wait 1..SECONDS between retries of a retrieval 
 +       --random-wait               wait from 0.5*WAIT...1.5*WAIT secs between retrievals 
 +       --no-proxy                  explicitly turn off proxy 
 +  -Q,  --quota=NUMBER              set retrieval quota to NUMBER 
 +       --bind-address=ADDRESS      bind to ADDRESS (hostname or IP) on local host 
 +       --limit-rate=RATE           limit download rate to RATE 
 +       --no-dns-cache              disable caching DNS lookups 
 +       --restrict-file-names=OS    restrict chars in file names to ones OS allows 
 +       --ignore-case               ignore case when matching files/directories 
 +  -4,  --inet4-only                connect only to IPv4 addresses 
 +  -6,  --inet6-only                connect only to IPv6 addresses 
 +       --prefer-family=FAMILY      connect first to addresses of specified family, 
 +                                     one of IPv6, IPv4, or none 
 +       --user=USER                 set both ftp and http user to USER 
 +       --password=PASS             set both ftp and http password to PASS 
 +       --ask-password              prompt for passwords 
 +       --use-askpass=COMMAND       specify credential handler for requesting  
 +                                     username and password.  If no COMMAND is  
 +                                     specified the WGET_ASKPASS or the SSH_ASKPASS  
 +                                     environment variable is used. 
 +       --no-iri                    turn off IRI support 
 +       --local-encoding=ENC        use ENC as the local encoding for IRIs 
 +       --remote-encoding=ENC       use ENC as the default remote encoding 
 +       --unlink                    remove file before clobber 
 +       --keep-badhash              keep files with checksum mismatch (append .badhash) 
 +       --metalink-index=NUMBER     Metalink application/metalink4+xml metaurl ordinal NUMBER 
 +       --metalink-over-http        use Metalink metadata from HTTP response headers 
 +       --preferred-location        preferred location for Metalink resources 
 +       --xattr                     turn on storage of metadata in extended file attributes 
 + 
 +Directories: 
 +  -nd, --no-directories            don't create directories 
 +  -x,  --force-directories         force creation of directories 
 +  -nH, --no-host-directories       don't create host directories 
 +       --protocol-directories      use protocol name in directories 
 +  -P,  --directory-prefix=PREFIX   save files to PREFIX/.. 
 +       --cut-dirs=NUMBER           ignore NUMBER remote directory components 
 + 
 +HTTP options: 
 +       --http-user=USER            set http user to USER 
 +       --http-password=PASS        set http password to PASS 
 +       --no-cache                  disallow server-cached data 
 +       --default-page=NAME         change the default page name (normally 
 +                                     this is 'index.html'.) 
 +  -E,  --adjust-extension          save HTML/CSS documents with proper extensions 
 +       --ignore-length             ignore 'Content-Length' header field 
 +       --header=STRING             insert STRING among the headers 
 +       --compression=TYPE          choose compression, one of auto, gzip and none. (default: none) 
 +       --max-redirect              maximum redirections allowed per page 
 +       --proxy-user=USER           set USER as proxy username 
 +       --proxy-password=PASS       set PASS as proxy password 
 +       --referer=URL               include 'Referer: URL' header in HTTP request 
 +       --save-headers              save the HTTP headers to file 
 +  -U,  --user-agent=AGENT          identify as AGENT instead of Wget/VERSION 
 +       --no-http-keep-alive        disable HTTP keep-alive (persistent connections) 
 +       --no-cookies                don't use cookies 
 +       --load-cookies=FILE         load cookies from FILE before session 
 +       --save-cookies=FILE         save cookies to FILE after session 
 +       --keep-session-cookies      load and save session (non-permanent) cookies 
 +       --post-data=STRING          use the POST method; send STRING as the data 
 +       --post-file=FILE            use the POST method; send contents of FILE 
 +       --method=HTTPMethod         use method "HTTPMethod" in the request 
 +       --body-data=STRING          send STRING as data. --method MUST be set 
 +       --body-file=FILE            send contents of FILE. --method MUST be set 
 +       --content-disposition       honor the Content-Disposition header when 
 +                                     choosing local file names (EXPERIMENTAL) 
 +       --content-on-error          output the received content on server errors 
 +       --auth-no-challenge         send Basic HTTP authentication information 
 +                                     without first waiting for the server'
 +                                     challenge 
 + 
 +HTTPS (SSL/TLS) options: 
 +       --secure-protocol=PR        choose secure protocol, one of auto, SSLv2, 
 +                                     SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS 
 +       --https-only                only follow secure HTTPS links 
 +       --no-check-certificate      don't validate the server's certificate 
 +       --certificate=FILE          client certificate file 
 +       --certificate-type=TYPE     client certificate type, PEM or DER 
 +       --private-key=FILE          private key file 
 +       --private-key-type=TYPE     private key type, PEM or DER 
 +       --ca-certificate=FILE       file with the bundle of CAs 
 +       --ca-directory=DIR          directory where hash list of CAs is stored 
 +       --crl-file=FILE             file with bundle of CRLs 
 +       --pinnedpubkey=FILE/HASHES  Public key (PEM/DER) file, or any number 
 +                                   of base64 encoded sha256 hashes preceded by 
 +                                   'sha256//' and separated by ';', to verify 
 +                                   peer against 
 + 
 +       --ciphers=STR           Set the priority string (GnuTLS) or cipher list string (OpenSSL) directly. 
 +                                   Use with care. This option overrides --secure-protocol. 
 +                                   The format and syntax of this string depend on the specific SSL/TLS engine. 
 +HSTS options: 
 +       --no-hsts                   disable HSTS 
 +       --hsts-file                 path of HSTS database (will override default) 
 + 
 +FTP options: 
 +       --ftp-user=USER             set ftp user to USER 
 +       --ftp-password=PASS         set ftp password to PASS 
 +       --no-remove-listing         don't remove '.listing' files 
 +       --no-glob                   turn off FTP file name globbing 
 +       --no-passive-ftp            disable the "passive" transfer mode 
 +       --preserve-permissions      preserve remote file permissions 
 +       --retr-symlinks             when recursing, get linked-to files (not dir) 
 + 
 +FTPS options: 
 +       --ftps-implicit                 use implicit FTPS (default port is 990) 
 +       --ftps-resume-ssl               resume the SSL/TLS session started in the control connection when 
 +                                         opening a data connection 
 +       --ftps-clear-data-connection    cipher the control channel only; all the data will be in plaintext 
 +       --ftps-fallback-to-ftp          fall back to FTP if FTPS is not supported in the target server 
 +WARC options: 
 +       --warc-file=FILENAME        save request/response data to a .warc.gz file 
 +       --warc-header=STRING        insert STRING into the warcinfo record 
 +       --warc-max-size=NUMBER      set maximum size of WARC files to NUMBER 
 +       --warc-cdx                  write CDX index files 
 +       --warc-dedup=FILENAME       do not store records listed in this CDX file 
 +       --no-warc-compression       do not compress WARC files with GZIP 
 +       --no-warc-digests           do not calculate SHA1 digests 
 +       --no-warc-keep-log          do not store the log file in a WARC record 
 +       --warc-tempdir=DIRECTORY    location for temporary files created by the 
 +                                     WARC writer 
 + 
 +Recursive download: 
 +  -r,  --recursive                 specify recursive download 
 +  -l,  --level=NUMBER              maximum recursion depth (inf or 0 for infinite) 
 +       --delete-after              delete files locally after downloading them 
 +  -k,  --convert-links             make links in downloaded HTML or CSS point to 
 +                                     local files 
 +       --convert-file-only         convert the file part of the URLs only (usually known as the basename) 
 +       --backups=N                 before writing file X, rotate up to N backup files 
 +  -K,  --backup-converted          before converting file X, back up as X.orig 
 +  -m,  --mirror                    shortcut for -N -r -l inf --no-remove-listing 
 +  -p,  --page-requisites           get all images, etc. needed to display HTML page 
 +       --strict-comments           turn on strict (SGML) handling of HTML comments 
 + 
 +Recursive accept/reject: 
 +  -A,  --accept=LIST               comma-separated list of accepted extensions 
 +  -R,  --reject=LIST               comma-separated list of rejected extensions 
 +       --accept-regex=REGEX        regex matching accepted URLs 
 +       --reject-regex=REGEX        regex matching rejected URLs 
 +       --regex-type=TYPE           regex type (posix) 
 +  -D,  --domains=LIST              comma-separated list of accepted domains 
 +       --exclude-domains=LIST      comma-separated list of rejected domains 
 +       --follow-ftp                follow FTP links from HTML documents 
 +       --follow-tags=LIST          comma-separated list of followed HTML tags 
 +       --ignore-tags=LIST          comma-separated list of ignored HTML tags 
 +  -H,  --span-hosts                go to foreign hosts when recursive 
 +  -L,  --relative                  follow relative links only 
 +  -I,  --include-directories=LIST  list of allowed directories 
 +       --trust-server-names        use the name specified by the redirection 
 +                                     URL's last component 
 +  -X,  --exclude-directories=LIST  list of excluded directories 
 +  -np, --no-parent                 don't ascend to the parent directory 
 + 
 +Email bug reports, questions, discussions to <bug-wget@gnu.org> 
 +and/or open issues at https://savannah.gnu.org/bugs/?func=additem&group=wget. 
 +</code> 
 + 
 +==== 3.3 - ftp ==== 
 + 
 +<WRAP center round important 60%> 
 +**Important** - Si la commande **ftp** n'est pas installée sous CentOS 8, installez-le à l'aide de la commande **dnf install ftp** en tant que root. 
 +</WRAP> 
 + 
 +La commande **ftp** est utilisée pour le transfert de fichiers. Une fois connecté, il convient d'utiliser la commande **help** pour afficher la liste des commandes disponibles :
  
 <code> <code>
-[root@centos8 ~]# vi /etc/httpd/conf/instance02.conf  +ftphelp 
-[root@centos8 ~]# more /etc/httpd/conf/instance02.conf  +Commands may be abbreviated.  Commands are:
-+
-# This is the main Apache HTTP server configuration file.  It contains the +
-# configuration directives that give the server its instructions. +
-# See <URL:http://httpd.apache.org/docs/2.4/for detailed information. +
-# In particular, see  +
-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> +
-# for a discussion of each configuration directive. +
-+
-# See the httpd.conf(5) man page for more information on this configuration, +
-# and httpd.service(8) on using and configuring the httpd service. +
-+
-# Do NOT simply read the instructions in here without understanding +
-# what they do.  They're here only as hints or reminders.  If you are unsure +
-# consult the online docs. You have been warned.   +
-+
-# Configuration and logfile namesIf the filenames you specify for many +
-# of the server's control files begin with "/" (or "drive:/" for Win32), the +
-# server will use that explicit path.  If the filenames do *not* begin +
-# with "/", the value of ServerRoot is prepended -- so 'log/access_log' +
-# with ServerRoot set to '/www' will be interpreted by the +
-# server as '/www/log/access_log', where as '/log/access_log' will be +
-# interpreted as '/log/access_log'.+
  
-# +! debug mdir sendport site 
-# ServerRoot: The top of the directory tree under which the server's +$ dir mget put size 
-# configuration, error, and log files are kept. +account disconnect mkdir pwd status 
-# +append exit mls quit struct 
-# Do not add a slash at the end of the directory path.  If you point +ascii form mode quote system 
-# ServerRoot at a non-local disk, be sure to specify a local disk on the +bell get modtime recv sunique 
-# Mutex directive, if file-based mutexes are used.  If you wish to share the +binary glob mput reget tenex 
-# same ServerRoot for multiple httpd daemons, you will need to change at +bye hash newer rstatus tick 
-# least PidFile. +case help nmap rhelp trace 
-# +cd idle nlist rename type 
-ServerRoot "/etc/httpd"+cdup image ntrans reset user 
 +chmod lcd open restart umask 
 +close ls prompt rmdir verbose 
 +cr macdef passive runique ? 
 +delete mdelete proxy send 
 +ftp>  
 +</code>
  
-# +Le caractère **!** permet d'exécuter une commande sur la machine cliente 
-# Listen: Allows you to bind Apache to specific IP addresses and/or + 
-# ports, instead of the default. See also the <VirtualHost+<code
-# directive. +ftp> !pwd 
-+/root
-# Change this to Listen on specific IP addresses as shown below to  +
-# prevent Apache from glomming onto all bound IP addresses. +
-+
-#Listen 12.34.56.78:80 +
-Listen 8009  +
-PidFile /var/run/httpd/instance02.pid +
-+
-# Dynamic Shared Object (DSO) Support +
-+
-# To be able to use the functionality of a module which was built as a DSO you +
-# have to place corresponding `LoadModule' lines at this location so the +
-# directives contained in it are actually available _before_ they are used. +
-# Statically compiled modules (those listed by `httpd -l') do not need +
-# to be loaded here. +
-+
-# Example: +
-# LoadModule foo_module modules/mod_foo.so +
---More--(19%)+
 </code> </code>
  
-Démarrez les deux services :+Pour transférer un fichier vers le serveur, il convient d'utiliser la commande **put** : 
 + 
 +<file> 
 +ftp> put nom_fichier_local nom_fichier_distant 
 +</file> 
 + 
 +Vous pouvez également transférer plusieurs fichiers à la fois grâce à la commande **mput**. Dans ce cas précis, il convient de saisir la commande suivante: 
 + 
 +<file> 
 +ftp> mput nom*.* 
 +</file> 
 + 
 +Pour transférer un fichier du serveur, il convient d'utiliser la commande **get** : 
 + 
 +<file> 
 +ftp> get nom_fichier 
 +</file> 
 + 
 +Vous pouvez également transférer plusieurs fichiers à la fois grâce à la commande **mget** ( voir la commande **mput** ci-dessus ). 
 + 
 +Pour supprimer un fichier sur le serveur, il convient d'utiliser la commande **del** : 
 + 
 +<file> 
 +ftp> del nom_fichier 
 +</file> 
 + 
 +Pour fermer la session, il convient d'utiliser la commande **quit** :
  
 <code> <code>
-[root@centos8 ~]# systemctl start httpd@instance01.service +ftp> quit 
-[root@centos8 ~]# systemctl status httpd@instance01.service +[root@centos7 ~]#  
-● httpd@instance01.service - The Apache HTTP Server +</code>
-   Loaded: loaded (/usr/lib/systemd/system/httpd@instance01.service; disabled; vendor preset: disabled) +
-   Active: active (running) since Mon 2021-06-07 01:40:43 EDT; 7s ago +
-     Docs: man:httpd@.service(8) +
-  Process: 43854 ExecStartPre=/bin/chown root.apache /run/httpd/instance-instance01 (code=exited, status=0/SUCCESS) +
-  Process: 43852 ExecStartPre=/bin/mkdir -m 710 -p /run/httpd/instance-instance01 (code=exited, status=0/SUCCESS) +
- Main PID: 43856 (httpd) +
-   Status: "Started, listening on: port 8008" +
-    Tasks: 213 (limit: 23719) +
-   Memory: 43.6M +
-   CGroup: /system.slice/system-httpd.slice/httpd@instance01.service +
-           ├─43856 /usr/sbin/httpd -DFOREGROUND -f conf/instance01.conf +
-           ├─43857 /usr/sbin/httpd -DFOREGROUND -f conf/instance01.conf +
-           ├─43858 /usr/sbin/httpd -DFOREGROUND -f conf/instance01.conf +
-           ├─43859 /usr/sbin/httpd -DFOREGROUND -f conf/instance01.conf +
-           └─43860 /usr/sbin/httpd -DFOREGROUND -f conf/instance01.conf+
  
-Jun 07 01:40:43 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server... +====3.SSH====
-Jun 07 01:40:43 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server. +
-Jun 07 01:40:43 centos8.ittraining.loc httpd[43856]: Server configured, listening on: port 8008 +
-[root@centos8 ~]# systemctl start httpd@instance02.service +
-[root@centos8 ~]# systemctl status httpd@instance02.service +
-● httpd@instance02.service - The Apache HTTP Server +
-   Loaded: loaded (/usr/lib/systemd/system/httpd@instance02.service; disabled; vendor preset: disabled) +
-   Active: active (running) since Mon 2021-06-07 01:36:45 EDT; 4min 24s ago +
-     Docs: man:httpd@.service(8) +
-  Process: 43568 ExecStartPre=/bin/chown root.apache /run/httpd/instance-instance02 (code=exited, status=0/SUCCESS) +
-  Process: 43566 ExecStartPre=/bin/mkdir -m 710 -p /run/httpd/instance-instance02 (code=exited, status=0/SUCCESS) +
- Main PID: 43569 (httpd) +
-   Status: "Running, listening on: port 8009" +
-    Tasks: 213 (limit: 23719) +
-   Memory: 43.6M +
-   CGroup: /system.slice/system-httpd.slice/httpd@instance02.service +
-           ├─43569 /usr/sbin/httpd -DFOREGROUND -f conf/instance02.conf +
-           ├─43571 /usr/sbin/httpd -DFOREGROUND -f conf/instance02.conf +
-           ├─43572 /usr/sbin/httpd -DFOREGROUND -f conf/instance02.conf +
-           ├─43573 /usr/sbin/httpd -DFOREGROUND -f conf/instance02.conf +
-           └─43574 /usr/sbin/httpd -DFOREGROUND -f conf/instance02.conf+
  
-Jun 07 01:36:45 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server... +===Présentation=== 
-Jun 07 01:36:45 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server+ 
-Jun 07 01:36:45 centos8.ittraining.loc httpd[43569]: Server configured, listening on: port 8009+La commande **[[wpfr>Ssh|ssh]]** est le successeur et la remplaçante de la commande **[[wpfr>Rlogin|rlogin]]**. Il permet d'établir des connexions sécurisées avec une machine distante. SSH comporte cinq acteurs : 
 + 
 +  * Le **serveur SSH** 
 +    * le démon sshd, qui s'occupe des authentifications et autorisations des clients,  
 +  * Le **client SSH** 
 +    * ssh ou scp, qui assure la connexion et le dialogue avec le serveur, 
 +  * La **session** qui représente la connexion courante et qui commence juste après l'authentification réussie, 
 +  * Les **clefs** 
 +    * **Couple de clef utilisateur asymétriques** et persistantes qui assurent l'identité d'un utilisateur et qui sont stockés sur disque dur, 
 +    * **Clef hôte asymétrique et persistante** garantissant l'identité du serveur er qui est conservé sur disque dur 
 +    * **Clef serveur asymétrique et temporaire** utilisée par le protocole SSH1 qui sert au chiffrement de la clé de session, 
 +    * **Clef de session symétrique qui est générée aléatoirement** et qui permet le chiiffrement de la communication entre le client et le serveurElle est détruite en fin de sessionSSH-1 utilise une seule clef tandis que SSH-2 utilise une clef par direction de la communication, 
 +  * La **base de données des hôtes connus** qui stocke les clés des connexions précédentes
 + 
 +SSH fonctionne de la manière suivante pour la la mise en place d'un canal sécurisé: 
 + 
 +  * Le client contacte le serveur sur son port 22, 
 +  * Les client et le serveur échangent leur version de SSH. En cas de non-compatibilité de versions, l'un des deux met fin au processus, 
 +  * Le serveur SSH s'identifie auprès du client en lui fournissant : 
 +    * Sa clé hôte, 
 +    * Sa clé serveur, 
 +    * Une séquence aléatoire de huit octets à inclure dans les futures réponses du client, 
 +    * Une liste de méthodes de chiffrage, compression et authentification, 
 +  * Le client et le serveur produisent un identifiant identique, un haché MD5 long de 128 bits contenant la clé hôte, la clé serveur et la séquence aléatoire, 
 +  * Le client génère sa clé de session symétrique et la chiffre deux fois de suite, une fois avec la clé hôte du serveur et la deuxième fois avec la clé serveurLe client envoie cette clé au serveur accompagnée de la séquence aléatoire et un choix d'algorithmes supportés, 
 +  * Le serveur déchiffre la clé de session, 
 +  * Le client et le serveur mettent en place le canal sécurisé. 
 + 
 +==SSH-1== 
 + 
 +SSH-1 utilise une paire de clefs de type RSA1. Il assure l'intégrité des données par une **[[wpfr>Contrôle_de_redondance_cyclique|Contrôle de Redondance Cyclique]]** (CRC) et est un bloc dit **monolithique**. 
 + 
 +Afin de s'identifier, le client essaie chacune des six méthodes suivantes : 
 + 
 +  * **Kerberos**, 
 +  * **Rhosts**, 
 +  * **%%RhostsRSA%%**, 
 +  * Par **clef asymétrique**, 
 +  * **TIS**, 
 +  * Par **mot de passe**
 + 
 +==SSH-2== 
 + 
 +SSH-2 utilise **DSA** ou **RSA**. Il assure l'intégrité des données par l'algorithme **HMAC**. SSH-2 est organisé en trois **couches** : 
 + 
 +  * **SSH-TRANS** – Transport Layer Protocol, 
 +  * **SSH-AUTH** – Authentification Protocol, 
 +  * **SSH-CONN** – Connection Protocol. 
 + 
 +SSH-2 diffère de SSH-1 essentiellement dans la phase authentification 
 + 
 +Trois méthodes d'authentification : 
 + 
 +  * Par **clef asymétrique**, 
 +    * Identique à SSH-1 sauf avec l'algorithme DSA, 
 +  * **%%RhostsRSA%%**, 
 +  * Par **mot de passe**. 
 + 
 +==Options de la commande== 
 + 
 +Les options de cette commande sont : 
 + 
 +<code> 
 +[root@centos8 ~]# ssh --help 
 +unknown option -- - 
 +usagessh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] 
 +           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port
 +           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] 
 +           [-i identity_file] [-J [user@]host[:port]] [-L address] 
 +           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] 
 +           [-Q query_option] [-R address] [-S ctl_path] [-W host:port] 
 +           [-w local_tun[:remote_tun]] destination [command]
 </code> </code>
  
-===5.3 - Interdire la Modification du Statut d'un Service===+===Authentification par mot de passe===
  
-Il est possible d'interdire la modification en utilisant la commande **systemctl mask**:+L'utilisateur fournit un mot de passe au client ssh. Le client ssh le transmet de façon sécurisée au serveur ssh puis  le serveur vérifie le mot de passe et l'accepte ou non. 
 + 
 +Avantage: 
 +  * Aucune configuration de clef asymétrique n'est nécessaire. 
 + 
 +Inconvénients: 
 +  * L'utilisateur doit fournir à chaque connexion un identifiant et un mot de passe, 
 +  * Moins sécurisé qu'un système par clef asymétrique. 
 + 
 +===Authentification par clef asymétrique=== 
 + 
 +  * Le **client** envoie au serveur une requête d'authentification par clé asymétrique qui contient le module de la clé à utiliser, 
 +  * Le **serveur** recherche une correspondance pour ce module dans le fichier des clés autorisés **~/.ssh/authorized_keys**, 
 +    * Dans le cas où une correspondance n'est pas trouvée, le serveur met fin à la communication, 
 +    * Dans le cas contraire le serveur génère une chaîne aléatoire de 256 bits appelée un **challenge** et la chiffre avec la **clé publique du client**, 
 +  * Le **client** reçoit le challenge et le décrypte avec la partie privée de sa clé. Il combine le challenge avec l'identifiant de session et chiffre le résultat. Ensuite il envoie le résultat chiffré au serveur. 
 +  * Le **serveur** génère le même haché et le compare avec celui reçu du client. Si les deux hachés sont identiques, l'authentification est réussie. 
 + 
 +===Configuration du Serveur=== 
 + 
 +La configuration du serveur s'effectue dans le fichier **/etc/ssh/sshd_config** :
  
 <code> <code>
-[root@centos8 ~]# systemctl status httpd.service +[root@centos8 ~]# cat /etc/ssh/sshd_config 
-● httpd.service The Apache HTTP Server +#       $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ 
-   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor presetdisabled) + 
-   Activeinactive (dead+# This is the sshd server system-wide configuration file.  See 
-     Docs: man:httpd.service(8)+# sshd_config(5) for more information. 
 + 
 +# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 
 + 
 +# The strategy used for options in the default sshd_config shipped with 
 +# OpenSSH is to specify options with their default value where 
 +# possible, but leave them commented.  Uncommented options override the 
 +# default value. 
 + 
 +# If you want to change the port on a SELinux system, you have to tell 
 +# SELinux about this change. 
 +# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER 
 +
 +#Port 22 
 +#AddressFamily any 
 +#ListenAddress 0.0.0.0 
 +#ListenAddress :
 + 
 +HostKey /etc/ssh/ssh_host_rsa_key 
 +HostKey /etc/ssh/ssh_host_ecdsa_key 
 +HostKey /etc/ssh/ssh_host_ed25519_key 
 + 
 +# Ciphers and keying 
 +#RekeyLimit default none 
 + 
 +# This system is following system-wide crypto policy. The changes to 
 +# crypto properties (Ciphers, MACs, ...will not have any effect here. 
 +# They will be overridden by command-line options passed to the server 
 +# on command line. 
 +# Please, check manual pages for update-crypto-policies(8) and sshd_config(5). 
 + 
 +# Logging 
 +#SyslogFacility AUTH 
 +SyslogFacility AUTHPRIV 
 +#LogLevel INFO 
 + 
 +# Authentication: 
 + 
 +#LoginGraceTime 2m 
 +PermitRootLogin yes 
 +#StrictModes yes 
 +#MaxAuthTries 6 
 +#MaxSessions 10 
 + 
 +#PubkeyAuthentication yes 
 + 
 +# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 
 +# but this is overridden so installations will only check .ssh/authorized_keys 
 +AuthorizedKeysFile      .ssh/authorized_keys 
 + 
 +#AuthorizedPrincipalsFile none 
 + 
 +#AuthorizedKeysCommand none 
 +#AuthorizedKeysCommandUser nobody 
 + 
 +# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts 
 +#HostbasedAuthentication no 
 +# Change to yes if you don't trust ~/.ssh/known_hosts for 
 +# HostbasedAuthentication 
 +#IgnoreUserKnownHosts no 
 +# Don't read the user's ~/.rhosts and ~/.shosts files 
 +#IgnoreRhosts yes 
 + 
 +# To disable tunneled clear text passwords, change to no here! 
 +#PasswordAuthentication yes 
 +#PermitEmptyPasswords no 
 +PasswordAuthentication yes 
 + 
 +# Change to no to disable s/key passwords 
 +#ChallengeResponseAuthentication yes 
 +ChallengeResponseAuthentication no 
 + 
 +# Kerberos options 
 +#KerberosAuthentication no 
 +#KerberosOrLocalPasswd yes 
 +#KerberosTicketCleanup yes 
 +#KerberosGetAFSToken no 
 +#KerberosUseKuserok yes 
 + 
 +# GSSAPI options 
 +GSSAPIAuthentication yes 
 +GSSAPICleanupCredentials no 
 +#GSSAPIStrictAcceptorCheck yes 
 +#GSSAPIKeyExchange no 
 +#GSSAPIEnablek5users no 
 + 
 +# Set this to 'yes' to enable PAM authentication, account processing, 
 +# and session processing. If this is enabled, PAM authentication will 
 +# be allowed through the ChallengeResponseAuthentication and 
 +# PasswordAuthentication.  Depending on your PAM configuration, 
 +# PAM authentication via ChallengeResponseAuthentication may bypass 
 +# the setting of "PermitRootLogin without-password"
 +# If you just want the PAM account and session checks to run without 
 +# PAM authentication, then enable this but set PasswordAuthentication 
 +# and ChallengeResponseAuthentication to 'no'
 +# WARNING: 'UsePAM no' is not supported in Fedora and may cause several 
 +# problems. 
 +UsePAM yes 
 + 
 +#AllowAgentForwarding yes 
 +#AllowTcpForwarding yes 
 +#GatewayPorts no 
 +X11Forwarding yes 
 +#X11DisplayOffset 10 
 +#X11UseLocalhost yes 
 +#PermitTTY yes 
 + 
 +# It is recommended to use pam_motd in /etc/pam.d/sshd instead of PrintMotd, 
 +# as it is more configurable and versatile than the built-in version. 
 +PrintMotd no 
 + 
 +#PrintLastLog yes 
 +#TCPKeepAlive yes 
 +#PermitUserEnvironment no 
 +#Compression delayed 
 +#ClientAliveInterval 0 
 +#ClientAliveCountMax 3 
 +#UseDNS no 
 +#PidFile /var/run/sshd.pid 
 +#MaxStartups 10:30:100 
 +#PermitTunnel no 
 +#ChrootDirectory none 
 +#VersionAddendum none
  
-Jun 07 18:27:25 centos8.ittraining.loc httpd[58535]: Server configured, listening on: port 80 +# no default banner path 
-Jun 07 18:27:29 centos8.ittraining.loc systemd[1]: Stopping The Apache HTTP Server... +#Banner none
-Jun 07 18:27:30 centos8.ittraining.loc systemd[1]: httpd.service: Succeeded. +
-Jun 07 18:27:30 centos8.ittraining.loc systemd[1]: Stopped The Apache HTTP Server. +
-Jun 07 18:27:32 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server... +
-Jun 07 18:27:32 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server. +
-Jun 07 18:27:32 centos8.ittraining.loc httpd[58760]: Server configured, listening on: port 80 +
-Jun 07 18:27:34 centos8.ittraining.loc systemd[1]: Stopping The Apache HTTP Server... +
-Jun 07 18:27:36 centos8.ittraining.loc systemd[1]: httpd.service: Succeeded. +
-Jun 07 18:27:36 centos8.ittraining.loc systemd[1]: Stopped The Apache HTTP Server.+
  
-[root@centos8 ~]systemctl mask httpd.service +Accept locale-related environment variables 
-Created symlink /etc/systemd/system/httpd.service → /dev/null.+AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
 +AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
 +AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE 
 +AcceptEnv XMODIFIERS
  
-[root@centos8 ~]systemctl enable httpd.service +override default of no subsystems 
-Failed to enable unit: Unit file /etc/systemd/system/httpd.service is masked.+Subsystem       sftp    /usr/libexec/openssh/sftp-server
  
-[root@centos8 ~]systemctl start httpd.service +Example of overriding settings on a per-user basis 
-Failed to start httpd.service: Unit httpd.service is masked.+#Match User anoncvs 
 +#       X11Forwarding no 
 +#       AllowTcpForwarding no 
 +#       PermitTTY no 
 +#       ForceCommand cvs server
 </code> </code>
  
-Pour autoriser de nouveau les modificationsil convient d'utiliser la commande **systemctl unmask** :+Pour ôter les lignes de commentaires dans ce fichierutilisez la commande suivante :
  
 <code> <code>
-[root@centos8 ~]# systemctl unmask httpd.service +[root@centos8 ~]# cd /tmp ; grep -E -v '^(#|$)'  /etc/ssh/sshd_config > sshd_config 
-Removed /etc/systemd/system/httpd.service.+[root@centos8 tmp]# cat sshd_config  
 +HostKey /etc/ssh/ssh_host_rsa_key 
 +HostKey /etc/ssh/ssh_host_ecdsa_key 
 +HostKey /etc/ssh/ssh_host_ed25519_key 
 +SyslogFacility AUTHPRIV 
 +PermitRootLogin yes 
 +AuthorizedKeysFile      .ssh/authorized_keys 
 +PasswordAuthentication yes 
 +ChallengeResponseAuthentication no 
 +GSSAPIAuthentication yes 
 +GSSAPICleanupCredentials no 
 +UsePAM yes 
 +X11Forwarding yes 
 +PrintMotd no 
 +AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
 +AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
 +AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE 
 +AcceptEnv XMODIFIERS 
 +Subsystem       sftp    /usr/libexec/openssh/sftp-server 
 +</code>
  
-[root@centos8 ~]# systemctl enable httpd.service +Pour sécuriser le serveur ssh, ajoutez ou modifiez les directives suivantes :
-Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.+
  
-[root@centos8 ~]# systemctl start httpd.service+<file> 
 +AllowGroups adm 
 +Banner /etc/issue.net 
 +HostbasedAuthentication no 
 +IgnoreRhosts yes 
 +LoginGraceTime 60 
 +LogLevel INFO 
 +PermitEmptyPasswords no 
 +PermitRootLogin no 
 +PrintLastLog yes 
 +Protocol 2 
 +StrictModes yes 
 +X11Forwarding no 
 +</file>
  
-[root@centos8 ~]# systemctl status httpd.service +Votre fichier ressemblera à celui-ci :
-● httpd.service The Apache HTTP Server +
-   Loadedloaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) +
-   Active: active (running) since Mon 2021-06-07 18:30:59 EDT; 5s ago +
-     Docs: man:httpd.service(8) +
- Main PID: 59101 (httpd) +
-   Status: "Started, listening on: port 80" +
-    Tasks: 213 (limit: 23719) +
-   Memory: 39.4M +
-   CGroup: /system.slice/httpd.service +
-           ├─59101 /usr/sbin/httpd -DFOREGROUND +
-           ├─59102 /usr/sbin/httpd -DFOREGROUND +
-           ├─59103 /usr/sbin/httpd -DFOREGROUND +
-           ├─59104 /usr/sbin/httpd -DFOREGROUND +
-           └─59105 /usr/sbin/httpd -DFOREGROUND+
  
-Jun 07 18:30:59 centos8.ittraining.loc systemd[1]: Starting The Apache HTTP Server... +<code> 
-Jun 07 18:30:59 centos8.ittraining.loc systemd[1]: Started The Apache HTTP Server+[root@centos8 tmp]# vi sshd_config  
-Jun 07 18:31:00 centos8.ittraining.loc httpd[59101]: Server configured, listening on: port 80+[root@centos8 tmp]# cat sshd_config  
 +AllowGroups adm 
 +Banner /etc/issue.net 
 +HostbasedAuthentication no 
 +IgnoreRhosts yes 
 +LoginGraceTime 60 
 +LogLevel INFO 
 +PermitEmptyPasswords no 
 +PermitRootLogin no 
 +PrintLastLog yes 
 +Protocol 2 
 +StrictModes yes 
 +X11Forwarding no 
 +HostKey /etc/ssh/ssh_host_rsa_key 
 +HostKey /etc/ssh/ssh_host_ecdsa_key 
 +HostKey /etc/ssh/ssh_host_ed25519_key 
 +SyslogFacility AUTHPRIV 
 +AuthorizedKeysFile      .ssh/authorized_keys 
 +PasswordAuthentication yes 
 +ChallengeResponseAuthentication no 
 +GSSAPIAuthentication yes 
 +GSSAPICleanupCredentials no 
 +UsePAM yes 
 +PrintMotd no 
 +AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
 +AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
 +AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE 
 +AcceptEnv XMODIFIERS 
 +Subsystem       sftp    /usr/libexec/openssh/sftp-server
 </code> </code>
  
-=====Arrêt du Système=====+Renommez le fichier **/etc/ssh/sshd_config** en **/etc/ssh/sshd_config.old** :
  
-Sous RHEL CentOS 8 les commandes **halt**, **poweroff**, **reboot** et **shutdown** sont des liens symboliques vers **/bin/systemctl** :+<code> 
 +[root@centos8 tmp]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old 
 +</code> 
 + 
 +Copiez le fichier **/tmp/sshd_config** vers **/etc/ssh/** :
  
 <code> <code>
-[root@centos8 ~]# ls -l /usr/sbin/shutdown /usr/sbin/halt /usr/sbin/poweroff /usr/sbin/reboot +[root@centos8 tmp]# cp /tmp/sshd_config /etc/ssh 
-lrwxrwxrwx. 1 root root 16 Apr  7 16:55 /usr/sbin/halt -> ../bin/systemctl +cpoverwrite '/etc/ssh/sshd_config'? y
-lrwxrwxrwx. 1 root root 16 Apr  7 16:55 /usr/sbin/poweroff -> ../bin/systemctl +
-lrwxrwxrwx. 1 root root 16 Apr  7 16:55 /usr/sbin/reboot -> ../bin/systemctl +
-lrwxrwxrwx. 1 root root 16 Apr  7 16:55 /usr/sbin/shutdown -> ../bin/systemctl+
 </code> </code>
  
-La manière recommendée d'utiliser ces commandes est donc :+Redémarrez le service sshd :
  
-  * systemctl halt +<code> 
-  systemctl poweroff +[root@centos8 tmp]# systemctl restart sshd 
-  systemctl reboot +[root@centos8 tmp]# systemctl status sshd 
-  * systemctl shutdown+● sshd.service - OpenSSH server daemon 
 +   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) 
 +   Active: active (running) since Mon 2021-08-30 02:17:00 EDT; 11s ago 
 +     Docs: man:sshd(8) 
 +           man:sshd_config(5) 
 + Main PID: 1042039 (sshd) 
 +    Tasks: 1 (limit: 23535) 
 +   Memory: 1.1M 
 +   CGroup: /system.slice/sshd.service 
 +           └─1042039 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,a>
  
-Il est cependant toujours possibles d'utiliser les commandes **halt**, **poweroff**, **reboot** et **shutdown**.+Aug 30 02:17:00 centos8.ittraining.loc systemd[1]: Starting OpenSSH server daemon... 
 +Aug 30 02:17:00 centos8.ittraining.loc sshd[1042039]: Server listening on 0.0.0.0 port 22. 
 +Aug 30 02:17:00 centos8.ittraining.loc sshd[1042039]: Server listening on :: port 22. 
 +Aug 30 02:17:00 centos8.ittraining.loc systemd[1]: Started OpenSSH server daemon. 
 +[q] 
 +</code>
  
-====La Commande shutdown====+Mettez l'utilisateur **trainee** dans le groupe **adm** :
  
-Lors de l'arrêt de la machine, Linux procède, entre autre, aux tâches suivantes :+<code> 
 +[root@centos8 tmp]# groups trainee 
 +trainee trainee 
 +[root@centos8 tmp]# usermod -aG adm trainee 
 +[root@centos8 tmp]# groups trainee 
 +trainee : trainee adm 
 +</code>
  
-  * Il previent les utilisateurs +Pour générer les clefs du serveursaisissez la commande suivante en tant que **root**. Notez que la passphrase doit être **vide**.
-  Il arrête tous les services, +
-  Il inscrit toutes les données sur disque, +
-  Il démonte les systèmes de fichiers.+
  
-La commande utilisée pour arrêter le système est la commande **shutdown** :+<code> 
 +[root@centos8 tmp]# ssh-keygen -t dsa 
 +Generating public/private dsa key pair. 
 +Enter file in which to save the key (/root/.ssh/id_dsa)/etc/ssh/ssh_host_dsa_key 
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /etc/ssh/ssh_host_dsa_key. 
 +Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. 
 +The key fingerprint is: 
 +SHA256:dywC6jKyIMaTxsaEamz1kmthEmuG18HxmS22qRICOYk root@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++---[DSA 1024]----+ 
 +|                 | 
 +|    .            | 
 +|.o . o.+         | 
 +|E.  o.*..  .     | 
 +|+ooo.o +S o o    | 
 +|X==++ o  o o     | 
 +|B/=+oo           | 
 +|Ooo++            | 
 +|. .o             | 
 ++----[SHA256]-----+ 
 +</code> 
  
-  shutdown [-t sec] [-HPrhkcheure [message]+De la même façon, il est possible de générer les clefs au format **[[https://fr.wikipedia.org/wiki/Chiffrement_RSA|RSA]]**, **[[https://fr.wikipedia.org/wiki/Elliptic_curve_digital_signature_algorithm|ECDSA]]** et **[[https://fr.wikipedia.org/wiki/EdDSA|ED25519]]** :
  
-===Options de la commande===+<code> 
 +[root@centos8 tmp]# ssh-keygen -t rsa 
 +Generating public/private rsa key pair. 
 +Enter file in which to save the key (/root/.ssh/id_rsa): /etc/ssh/ssh_host_rsa_key 
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /etc/ssh/ssh_host_rsa_key. 
 +Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub. 
 +The key fingerprint is: 
 +SHA256:8jXFK50NnoJCz9E7aPKpFYSYCstCPfRsdmlLBTNUnKg root@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++---[RSA 3072]----+ 
 +|    .==o.      | 
 +|  o oo o=+ .     | 
 +|.. oo=+=o . +    | 
 +|oo .+E++.+ *   | 
 +|o..   +.S B * .  | 
 +|.      B + =     | 
 +|        =        | 
 +|               | 
 +|      .          | 
 ++----[SHA256]-----+ 
 +[root@centos8 tmp]# ssh-keygen -t ecdsa 
 +Generating public/private ecdsa key pair. 
 +Enter file in which to save the key (/root/.ssh/id_ecdsa): /etc/ssh/ssh_host_ecdsa_key 
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key. 
 +Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub. 
 +The key fingerprint is: 
 +SHA256:AMqFUJKGqnUEPh/IYda0wnbW1kXK+lnprpHsOo4UMbI root@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++---[ECDSA 256]---+ 
 +|++*=+    .o      | 
 +|oX.=o+ o o       | 
 +|o %.B + +        | 
 +|...O.= o       | 
 +|..E.o . S o      | 
 +|.    . o =       | 
 +|    .   * .      | 
 +|   . ... o       | 
 +|    ..ooo..      | 
 ++----[SHA256]-----+ 
 +[root@centos8 tmp]# ssh-keygen -t ed25519 
 +Generating public/private ed25519 key pair. 
 +Enter file in which to save the key (/root/.ssh/id_ed25519): /etc/ssh/ssh_host_ed25519_key 
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /etc/ssh/ssh_host_ed25519_key. 
 +Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub. 
 +The key fingerprint is: 
 +SHA256:CtbcN9iXv00PfbHFGf2bEW7iRibOFwRctyqM5hmlhwE root@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++--[ED25519 256]--+ 
 +|        .... . | 
 +|        .  .. . o| 
 +|         . . . +.| 
 +|     o . oB ..o.=| 
 +|    o o S*+=o* *+| 
 +|   . . .o.*o*.+.B| 
 +|      .  o o +o++| 
 +|            o  =o| 
 +|              . o| 
 ++----[SHA256]-----+ 
 +</code>
  
-Les options de cette commande sont :+Les clefs publiques générées possèdent l'extension **.pub**. Les clefs privées n'ont pas d'extension :
  
 <code> <code>
-[root@centos8 ~]# shutdown --help +[root@centos8 tmp]# ls /etc/ssh 
-shutdown [OPTIONS...] [TIME] [WALL...]+moduli      ssh_config.d  sshd_config.old     ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub 
 +ssh_config  sshd_config   ssh_host_ecdsa_key  ssh_host_ed25519_key    ssh_host_rsa_key 
 +</code>
  
-Shut down the system.+Re-démarrez ensuite le service sshd : 
 + 
 +<code> 
 +[root@centos8 tmp]# systemctl restart sshd.service 
 +[root@centos8 tmp]# systemctl status sshd.service 
 +● sshd.service - OpenSSH server daemon 
 +   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) 
 +   Active: active (running) since Mon 2021-08-30 02:24:57 EDT; 9s ago 
 +     Docs: man:sshd(8) 
 +           man:sshd_config(5) 
 + Main PID: 1042204 (sshd) 
 +    Tasks: 1 (limit: 23535) 
 +   Memory: 1.1M 
 +   CGroup: /system.slice/sshd.service 
 +           └─1042204 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,a>
  
-     --help      Show this help +Aug 30 02:24:57 centos8.ittraining.loc systemd[1]: Starting OpenSSH server daemon... 
-  -H --halt      Halt the machine +Aug 30 02:24:57 centos8.ittraining.loc sshd[1042204]: Server listening on 0.0.0.0 port 22. 
-  -P --poweroff  Power-off the machine +Aug 30 02:24:57 centos8.ittraining.loc sshd[1042204]: Server listening on :: port 22. 
-  -r --reboot    Reboot the machine +Aug 30 02:24:57 centos8.ittraining.loc systemd[1]: Started OpenSSH server daemon. 
-  -h             Equivalent to --poweroff, overridden by --halt +[q]
-  -k             Don't halt/power-off/reboot, just send warnings +
-     --no-wall   Don't send wall message before halt/power-off/reboot +
-  -c             Cancel a pending shutdown+
 </code> </code>
  
-L'option **heure** peut prendre plusieurs valeurs :+===Configuration du Client===
  
-^ Valeur ^ Description ^ +Saisissez maintenant les commandes suivantes en tant que **trainee** :
-| hh:mm | L'heure à laquelle l'opération aura lieu | +
-| +m | Nombre de minutes avant que l'opération aura lieu. Si aucune valeur n'est spécifiée, la valeur par défaut est +1 | +
-| now | L'opération est immédiate. now est un alias de +0 |+
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-**Important** : Si l'opération est programmée pour dans moins de 5 minutesles connexions supplémentaires sont interdites, y comprises les tentatives de connexion de root+**Important** - Lors de la génération des clefsla passphrase doit être **vide**.
 </WRAP> </WRAP>
  
-L'option **-t** est utilisée pour accorder un temps de grâce :+<code> 
 +[root@centos8 tmp]# exit 
 +logout 
 +[trainee@centos8 ~]$ ssh-keygen -t dsa 
 +Generating public/private dsa key pair. 
 +Enter file in which to save the key (/home/trainee/.ssh/id_dsa):  
 +Created directory '/home/trainee/.ssh'
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /home/trainee/.ssh/id_dsa. 
 +Your public key has been saved in /home/trainee/.ssh/id_dsa.pub. 
 +The key fingerprint is: 
 +SHA256:Qd17X1iROjk5rLOQBbyVg1hNXkUdTeiFtEpn3rgPKc4 trainee@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++---[DSA 1024]----+ 
 +|        =o+o.o+OB| 
 +|       o +o=o oo=| 
 +|        . +.+oB+ | 
 +|         o o.&+o.| 
 +|        S o o.*.o| 
 +|         o o   o.| 
 +|          . + +  | 
 +|           + . o | 
 +|            E   .| 
 ++----[SHA256]-----+ 
 +[trainee@centos8 ~]$ ssh-keygen -t rsa 
 +Generating public/private rsa key pair. 
 + 
 +Enter file in which to save the key (/home/trainee/.ssh/id_rsa): Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /home/trainee/.ssh/id_rsa. 
 +Your public key has been saved in /home/trainee/.ssh/id_rsa.pub. 
 +The key fingerprint is: 
 +SHA256:BgEjoWQrGCzdJfyZczVZYVoafiHsz9GK5PDWuywG/z0 trainee@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++---[RSA 3072]----+ 
 +|o+o++oo  .oo*.   | 
 +|=+o.oo . .=B .   | 
 +|=.   ..o o+...   | 
 +|.     =.o o.. .  | 
 +|       oS= = o   | 
 +|       .. = =    | 
 +|             | 
 +|          +...E  | 
 +|         . o+... | 
 ++----[SHA256]-----+ 
 +[trainee@centos8 ~]$ ssh-keygen -t ecdsa 
 +Generating public/private ecdsa key pair. 
 +Enter file in which to save the key (/home/trainee/.ssh/id_ecdsa):  
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /home/trainee/.ssh/id_ecdsa. 
 +Your public key has been saved in /home/trainee/.ssh/id_ecdsa.pub. 
 +The key fingerprint is: 
 +SHA256:mpBDgsCxP2DqRPkmGvXHpNnvm5B+Cl7MSiiZKfDjWLk trainee@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++---[ECDSA 256]---+ 
 +|o..              | 
 +|.oo              | 
 +|.*o . .          | 
 +|+.++ B           | 
 +|+o =B + S        | 
 +|=*oo.* =         | 
 +|B.* o O .        | 
 +|.= = = o..       | 
 +|. E o oo+.       | 
 ++----[SHA256]-----+ 
 +[trainee@centos8 ~]$ ssh-keygen -t ed25519 
 +Generating public/private ed25519 key pair. 
 +Enter file in which to save the key (/home/trainee/.ssh/id_ed25519):  
 +Enter passphrase (empty for no passphrase):  
 +Enter same passphrase again:  
 +Your identification has been saved in /home/trainee/.ssh/id_ed25519. 
 +Your public key has been saved in /home/trainee/.ssh/id_ed25519.pub. 
 +The key fingerprint is: 
 +SHA256:JfFxG2mg9feAvFGxoxZ8uSsON3sXvtYQYYg5iVxzZS4 trainee@centos8.ittraining.loc 
 +The key's randomart image is: 
 ++--[ED25519 256]--+ 
 +|       ..o*=++=. | 
 +|        o==O+Boo | 
 +|        o ooE.O. | 
 +|           O.= | 
 +|        S   + ...| 
 +|            .o | 
 +|          . + o.o| 
 +|           + +.oo| 
 +|            o..o.| 
 ++----[SHA256]-----+ 
 +</code> 
 + 
 +Les clés générées seront placées dans le répertoire **~/.ssh/** :
  
 <code> <code>
-[root@centos8 ~]# date && shutdown -t 60 -k +[trainee@centos8 ~]$ ls .ssh 
-Mon Jun  7 18:58:26 EDT 2021 +id_dsa  id_dsa.pub  id_ecdsa  id_ecdsa.pub  id_ed25519  id_ed25519.pub  id_rsa  id_rsa.pub
-Shutdown scheduled for Mon 2021-06-07 18:59:26 EDT, use 'shutdown -c' to cancel.+
 </code> </code>
  
-==== La Commande reboot====+===Tunnels SSH===
  
-Cette commande redémarre le système.+Le protocole SSH peut être utilisé pour sécuriser les protocoles tels telnet, pop3 etc.. En effet, on peut créer un //tunnel// SSH dans lequel passe les communications du protocole non-sécurisé.
  
-===Options de la commande===+La commande pour créer un tunnel ssh prend la forme suivante :
  
-Les options de cette commande sont :+  ssh -N -f compte@hôte -Lport-local:localhost:port_distant 
 + 
 +Dans votre cas, vous allez créer un tunnel dans votre propre vm entre le port 15023 et le port 23 :
  
 <code> <code>
-[root@centos8 ~]# reboot --help +[root@centos8 ~]# ssh --f trainee@localhost -L15023:localhost:23 
-reboot [OPTIONS...] [ARG]+\S 
 +Kernel \r on an \m 
 +trainee@localhost's password: trainee 
 +</code>
  
-Reboot the system.+Installez maintenant le serveur telnet :
  
-     --help      Show this help +<code> 
-     --halt      Halt the machine +[root@centos8 ~]# dnf install telnet-server
-  -p --poweroff  Switch off the machine +
-     --reboot    Reboot the machine +
-  -f --force     Force immediate halt/power-off/reboot +
-  -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record +
-  -d --no-wtmp   Don't write wtmp record +
-     --no-wall   Don't send wall message before halt/power-off/reboot+
 </code> </code>
  
-==== La Commande halt====+Telnet n'est ni démarré ni activé. Il convient donc de le démarrer et de l'activer :
  
-Cette commande arrête le système.+<code> 
 +[root@centos8 ~]# systemctl status telnet.socket 
 +● telnet.socket - Telnet Server Activation Socket 
 +   Loaded: loaded (/usr/lib/systemd/system/telnet.socket; disabled; vendor preset: disabled) 
 +   Active: inactive (dead) 
 +     Docs: man:telnetd(8) 
 +   Listen: [::]:23 (Stream) 
 + Accepted: 0; Connected: 0; 
 +  
 +[root@centos8 ~]# systemctl start telnet.socket
  
-===Options de la commande===+[root@centos8 ~]# systemctl status telnet.socket 
 +● telnet.socket - Telnet Server Activation Socket 
 +   Loaded: loaded (/usr/lib/systemd/system/telnet.socket; disabled; vendor preset: disabled) 
 +   Active: active (listening) since Mon 2021-08-30 02:44:01 EDT; 4s ago 
 +     Docs: man:telnetd(8) 
 +   Listen: [::]:23 (Stream) 
 + Accepted: 0; Connected: 0; 
 +   CGroup: /system.slice/telnet.socket
  
-Les options de cette commande sont :+Aug 30 02:44:01 centos8.ittraining.loc systemd[1]: Listening on Telnet Server Activation Socket. 
 + 
 +[root@centos8 ~]# systemctl enable telnet.socket 
 +Created symlink /etc/systemd/system/sockets.target.wants/telnet.socket → /usr/lib/systemd/system/telnet.socket. 
 +</code> 
 + 
 +Connectez-vous ensuite via telnet sur le port 15023, vous constaterez que votre connexion n'aboutit pas :
  
 <code> <code>
-[root@centos8 ~]# halt --help +[root@centos8 ~]# telnet localhost 15023 
-halt [OPTIONS...]+Trying ::1... 
 +Connected to localhost. 
 +Escape character is '^]'.
  
-Halt the system.+Kernel 4.18.0-305.7.1.el8.i2tch.x86_64 on an x86_64 
 +centos8 login: trainee 
 +Password:  
 +Last login: Mon Aug 30 02:37:00 from ::1 
 +[trainee@centos8 ~]$ whoami 
 +trainee 
 +[trainee@centos8 ~]$ pwd 
 +/home/trainee 
 +</code>
  
-     --help      Show this help +<WRAP center round important 60%> 
-     --halt      Halt the machine +**Important** Notez bien que votre communication telnet passe par le tunnel SSH. 
-  -p --poweroff  Switch off the machine +</WRAP> 
-     --reboot    Reboot the machine + 
-  -f --force     Force immediate halt/power-off/reboot +====3.5 SCP==== 
-  -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record + 
-  -d --no-wtmp   Don't write wtmp record +===Présentation=== 
-     --no-wall   Don't send wall message before halt/power-off/reboot+ 
 +La commande **scp** est le successeur et la remplaçante de la commande **rcp** de la famille des commandes **remote**. Il permet de faire des transferts sécurisés à partir d'une machine distante : 
 + 
 +  $ scp compte@numero_ip(nom_de_machine):/chemin_distant/fichier_distant /chemin_local/fichier_local 
 + 
 +ou vers une machine distante : 
 + 
 +  $ scp /chemin_local/fichier_local compte@numero_ip(nom_de_machine):/chemin_distant/fichier_distant 
 + 
 +===Utilisation=== 
 + 
 +Nous allons maintenant utiliser **scp** pour chercher un fichier sur le <<serveur>> : 
 + 
 +Créez le fichier **/home/trainee/scp_test** : 
 + 
 +<code> 
 +[trainee@centos8 ~]$ touch scp-test 
 +[trainee@centos8 ~]$ exit 
 +logout 
 +Connection closed by foreign host. 
 +[root@centos8 ~]# 
 </code> </code>
  
-==== La Commande poweroff====+Récupérez le fichier **scp_test** en utilisant scp :
  
-Cette commande arrête le système et coupe l'alimentation électrique+<code> 
 +[root@centos8 ~]# scp trainee@127.0.0.1:/home/trainee/scp-test . 
 +The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. 
 +ECDSA key fingerprint is SHA256:Q7T/CP0SLiMbMAIgVzTuEHegYS/spPE5zzQchCHD5Vw. 
 +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
 +Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts. 
 +\S 
 +Kernel \r on an \m 
 +trainee@127.0.0.1's password: trainee 
 +scp-test                                                                                                           100%    0     0.0KB/s   00:00    
  
-===Options de la commande===+[root@centos8 ~]# ls -l 
 +total 32 
 +-rw-------. 1 root root 1358 Jun 16 06:40 anaconda-ks.cfg 
 +drwxr-xr-x. 3 root root   21 Jun 16 06:39 home 
 +-rw-r--r--. 1 root root 1749 Aug 24 11:20 I2TCH.asc 
 +-rw-r--r--. 1 root root 1853 Jun 16 06:54 initial-setup-ks.cfg 
 +-rw-r--r--. 1 root root   31 Aug 24 11:22 message.txt 
 +-rw-r--r--. 1 root root  561 Aug 24 11:32 message.txt.asc 
 +-rw-r--r--. 1 root root  367 Aug 24 11:30 message.txt.gpg 
 +-rw-r--r--. 1 root root  329 Aug 24 11:23 message.txt.sig 
 +-rw-r--r--. 1 root root    0 Aug 30 03:55 scp-test 
 +-rw-r--r--. 1 root root   46 Aug 29 06:22 wget_file.txt 
 +</code>
  
-Les options de cette commande sont :+====3.6 - Mise en Place des Clefs Asymétriques==== 
 + 
 +Il convient maintenant de se connecter sur le <<serveur>> en utilisant ssh et vérifiez la présence du répertoire ~/.ssh : 
 + 
 +<code> 
 +[root@centos8 ~]# ssh -l trainee 127.0.0.1 
 +\S 
 +Kernel \r on an \m 
 +trainee@127.0.0.1's password: trainee 
 +Activate the web console with: systemctl enable --now cockpit.socket 
 + 
 +[trainee@centos8 ~]$ ls -la | grep .ssh 
 +drwx------.  2 trainee trainee      4096 Aug 30 02:26 .ssh 
 +</code> 
 + 
 +<WRAP center round important 60%> 
 +**Important** - Si le dossier distant .ssh n'existe pas dans le répertoire personnel de l'utilisateur connecté, il faut le créer avec des permissions de 700. Dans votre cas, puisque votre machine joue le rôle de serveur **et** du client, le dossier /home/trainee/.ssh existe **déjà**. 
 +</WRAP> 
 + 
 +Ensuite, il convient de transférer le fichier local **.ssh/id_ecdsa.pub** du <<client>> vers le <<serveur>> en le renommant en **authorized_keys** : 
 + 
 +<code> 
 +[trainee@centos8 ~]$ exit 
 +logout 
 +Connection to 127.0.0.1 closed. 
 + 
 +[root@centos8 ~]# exit 
 +logout 
 + 
 +[trainee@centos8 ~]$ scp .ssh/id_ecdsa.pub trainee@127.0.0.1:/home/trainee/.ssh/authorized_keys 
 +The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. 
 +ECDSA key fingerprint is SHA256:Q7T/CP0SLiMbMAIgVzTuEHegYS/spPE5zzQchCHD5Vw. 
 +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
 +Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts. 
 +\S 
 +Kernel \r on an \m 
 +trainee@127.0.0.1's password: trainee 
 +id_ecdsa.pub                                                                                                       100%  192   497.6KB/  00:00 
 +</code> 
 + 
 +Connectez-vous via telnet : 
 + 
 +<code> 
 +[trainee@centos8 ~]$ ssh -l trainee localhost 
 +The authenticity of host 'localhost (::1)' can't be established. 
 +ECDSA key fingerprint is SHA256:Q7T/CP0SLiMbMAIgVzTuEHegYS/spPE5zzQchCHD5Vw. 
 +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
 +Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. 
 +\S 
 +Kernel \r on an \m 
 +Activate the web console with: systemctl enable --now cockpit.socket 
 + 
 +Last login: Mon Aug 30 03:57:14 2021 from 127.0.0.1 
 +[trainee@centos8 ~]$ 
 +</code> 
 + 
 +<WRAP center round important 60%> 
 +**Important** - Lors de la connexion au serveur, l'authentification utilise le couple de clefs asymétrique au format ecdsa et aucun mot de passe n'est requis. 
 +</WRAP> 
 + 
 +Insérez maintenant les clefs publiques restantes dans le fichier .ssh/authorized_keys :
  
 <code> <code>
-[root@centos8 ~]# poweroff --help +[trainee@centos8 ~]$ cd .ssh 
-poweroff [OPTIONS...]+[trainee@centos8 .ssh]$ ls 
 +authorized_keys  id_dsa  id_dsa.pub  id_ecdsa  id_ecdsa.pub  id_ed25519  id_ed25519.pub  id_rsa  id_rsa.pub  known_hosts 
 +[trainee@centos8 .ssh]$ cat authorized_keys  
 +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHDrzSXP+Ecxf/sQ18VwCRNm7rrSrrsaJmuIw/RgTH5puKF5E+Yy15cvAAKBXpJPxUmrOaOyhab84PevV7XSHcI= trainee@centos8.ittraining.loc
  
-Power off the system.+[trainee@centos8 .ssh]$ cat id_rsa.pub >> authorized_keys 
 +[trainee@centos8 .ssh]$ cat id_dsa.pub >> authorized_keys 
 +[trainee@centos8 .ssh]$ cat id_ed25519.pub >> authorized_keys
  
-     --help      Show this help +[trainee@centos8 .ssh]$ cat authorized_keys 
-     --halt      Halt the machine +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHDrzSXP+Ecxf/sQ18VwCRNm7rrSrrsaJmuIw/RgTH5puKF5E+Yy15cvAAKBXpJPxUmrOaOyhab84PevV7XSHcI= trainee@centos8.ittraining.loc 
-  -p --poweroff  Switch off the machine +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD3ZSMn/GIAHtaDFc6ZNnKJam9hzq8TxqMN5IopUr8QhwODyPadbB+FgH4r50qTux4ubwr1BlymgIdqRVWy32mE15M8tdtKc3j8DNMpUwPGEh+s/PT7GW+3E3shoyPvpLc1kKaKXKGl/JwfCK/8IYsubk2BmiiJYkzLECotPlaaxm4w1K0AtlnZQuLHt1HK3/rHChxo2o2w1t59/QwNcMLiKve1Z+zQ1POKo8VJ/DDrf90y2QWC28ejUs/ZjP6f6C4bn5Jjol4TbHls3ArMsbU6C1Ev5jqbzZ0kmognQ2CnRjeNM51YdFo6nRsLoPQKpeLRMBpT/87HK1bPUOBVCyhXxSkqkVhMlgg8tgcD/MRlBaUVFoZ1wQ0L26Fe+q7c2Oykj54pdXCAK2ZTpCXGfhd/FxrfqGw7cSeKlGX4QUzHMjMk2oHFC9h30BUk1gGN21KJPTh7/S1OZVrnCc3GUi5fXPvEpral0IU0sws+j03dj0sWm5ICQFKRkmZN11HCyT0= trainee@centos8.ittraining.loc 
-     --reboot    Reboot the machine +ssh-dss AAAAB3NzaC1kc3MAAACBALIdwEEqHrMWSUdzARm9ldsZK9ebbtZShtmwgdjphOk77fxymK0y6wV7QEmLL25LOcLb12uZ1F0LtRt/t2oqgrwqk3vUSpCPLr09AXpcD/nxL9kc+rUxHyl6u1mHtyfCVLCPSvavCMR8TaA8egVMk3EwGRfHTiuDOKi7Iwus7gXPAAAAFQDHEQPGVRI7gVYKzCT6nrjDsQQ6jwAAAIEAhhhH7fEjdldASXY0qTWkCvcs3cfK9/Ff315zByn47O02y9Vdo3QG5nOr1Oo8fc2xEkIBNmFr8Rr2g60cpvEev5hy4XZ1ghxnQ53iwKuiS72ZATwhD6bZBrsiH0k1Et25gRcj5KCvDe/jHhbxCxsCuHUH2qvWsQNVwztE7hD0sxkAAACAQ8Dkpy8zXj7jW8o1txxf2W6J4r2+1lPldymA45ywZokN4SCwvXlpPAuyBt0/HiU0R2PI9aqOAMosCLcy9WmnSwLQ2Z7QcD2i3XlAih2+1q9NJP22sPT3jSK9UZcdRjoZ/eNiz84sXZucNape32tFxjvcV4txobH/vD53q8g63fA= trainee@centos8.ittraining.loc 
-  -f --force     Force immediate halt/power-off/reboot +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOfFQULLU8IZyKiSU63D2Zz6yGLqyHcBHnCRdSR9JSmc trainee@centos8.ittraining.loc
-  -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record +
-  -d --no-wtmp   Don't write wtmp record +
-     --no-wall   Don't send wall message before halt/power-off/reboot+
 </code> </code>
  
 ----- -----
 Copyright © 2024 Hugh Norris. Copyright © 2024 Hugh Norris.
Menu