From 521fb191b2fc81e3d1ddecddfd362043a2aa7cb6 Mon Sep 17 00:00:00 2001
From: ExtraDev <scott.birner@gmail.com>
Date: Mon, 10 Apr 2023 23:23:38 +0200
Subject: [PATCH] documentation

---
 ...er_tp3_Network_Automation_avec_Ansible.pdf | Bin 949726 -> 949749 bytes
 README.md                                     |  77 ++++++++++++------
 2 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/Birner_tp3_Network_Automation_avec_Ansible.pdf b/Birner_tp3_Network_Automation_avec_Ansible.pdf
index 38f7394f4b397f3a0db7f5cbd91c0598626d9cda..cbee0cebe67049c0943fcbea699b0abf5b88e919 100644
GIT binary patch
delta 13719
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
F0RWcEyuAPb

delta 13745
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
Wic6+HsO96~G&kZ>Rdw}u;{pJ^dAXJV

diff --git a/README.md b/README.md
index f22907c..142bab4 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ Illustration de la topologie que nous allons utiliser pour ce laboratoire.
 ansible -m ping -i "H1,H2,R1,R2" all
 ```
 
-Cette commande fait appel au module de ping et effectue un ping sur tous les hôtes spécifié dans l'inventory. En réalise un test connectivity depuis notre machine.
+Cette commande fait appel au module **ping** et effectue un ping sur tous les hôtes spécifié dans l'inventory. On réalise donc ici un test connectivity depuis notre machine hôte.
 
 
 **Résultat de la commande:**
@@ -124,7 +124,7 @@ ssh H1 ls /tmp/hello.txt
 
 ## Quelle est la différente entre les modules command, shell et raw ? Expliquez et donner des exemples.
 
-Ces trois commande on le même objectif, à savoir exécuter des commandes sur les noeuds.
+Ces trois commandes ont le même objectif, à savoir exécuter des commandes sur les noeuds.
 
 ### Command
 
@@ -177,7 +177,7 @@ Exemple playbook
 
 ### Raw
 
-Maintenant, le module **raw** utilise simplement SSH et contourne le sous-système du module Ansible. De cette façon, le module **raw** fonctionnera avec succès sur le nœud géré même si Python n'est pas installé (sur le nœud géré). Le module "raw" est utile lorsque vous avez besoin de faire des choses comme installer Python sur un hôte où Python n'est pas déjà installé.
+Maintenant, le module **raw** utilise simplement SSH et contourne le sous-système du module Ansible. De cette façon, le module **raw** fonctionnera avec succès sur le nœud géré même si Python n'est pas installé (sur le noeud géré). Le module "raw" est utile lorsque vous avez besoin de faire des choses comme installer Python sur un hôte où Python n'est pas déjà installé.
 
 Exemple ad-hoc
 ```bash
@@ -419,11 +419,11 @@ ansible-playbook -i inventory.yaml playbook.yml
 
 \newpage
 ## Vérification du bon fonctionnement
-Dans cette illusation on peut voir que toutes machines ont le bon hostname. Cela veut dire que la première tâches du playbook à savoir renommer les machines a correctement été effectué.
+Dans cette illusation on peut voir que toutes machines ont le bon hostname. Cela veut dire que la première tâches du playbook à savoir renommer les hostname des machines a correctement été effectué.
 
 ![Ping entre H1 et H2 après application du playbook](./images/test_ping_h1_h2.png)
 
-On peut également constater que le ping entre la machine H1 et H2 passe correctement. Cela veut dire que les tâches 2 et 3 du playbook à savoir la configuration réseau de H1, H2 ainsi que R1, R2 a bien été effectuée.
+On peut également constater que le ping entre la machine H1 et H2 passe correctement. Cela veut dire que les tâches 2 et 3 du playbook à savoir la configuration réseau de H1, H2 ainsi que R1, R2 ont bien été effectuée.
 
 **Configuration réseau de H1** (/etc/network/interfaces.d/interfaces_playbook.conf 
 )
@@ -714,6 +714,22 @@ Pour réaliser les tâches demandées, nous avons découpé le playbook en sept
 ...
 ```
 
+Pour tester le playbook avant application de celui, voici la commande utilisée afin de checker la synthax:
+```bash
+ ansible-playbook --syntax-check -i ../inventory.ini Config_Wireguard.yml   
+```
+
+Puis la commande suivante pour tester la configuration sans l'appliquer de manière idem-potente:
+```bash
+ansible-playbook -i ../inventory.ini Config_Wireguard.yml --vault-password-file vault_file -CD
+```
+
+Et enfin, la commmande qui permet d'appliquer la configuration du playbook sur nos noeuds:
+```bash
+ansible-playbook -i ../inventory.ini Config_Wireguard.yml --vault-password-file vault_file
+```
+
+
 \newpage
 
 ![Test d'application du playbook](./images/test_playbook_wireguard.png)
@@ -765,7 +781,7 @@ echo "  H1PRIV: $(cat privkey_H1 )" >> keys.yml
 echo "  H1PUB: $(cat pubkey_H1 )" >> keys.yml
 ```
 
-Ce script permet de générer les clés ssh de H1 et H2 via **wg genkey** et en plus de les chiffrer avec le mot de passe contenu dans le fichier **vaul_file**. Enfin, les clés sont stockée dans le fichier keys.yml qui est chargé au début du playbook (première tâche) pour être repartie sur les hotes.
+Ce script permet de générer les clés ssh de H1 et H2 via **wg genkey** et de les chiffrer avec le mot de passe contenu dans le fichier **vaul_file**. Enfin, les clés sont stockée dans le fichier keys.yml qui est chargé au début du playbook (première tâche) pour être repartie sur les hotes.
 
 Contenu du fichier vault_file
 ```{.numberLines}
@@ -824,9 +840,9 @@ server {
        }
 }
 ```
-La configuration nginx suivante définit un serveur web qui écoute l'adresse 10.0.0.1, sur le port 80. En effet, une fois la configuration installée, nous ferons un "curl 10.0.0.1" depuis H1 pour accéder au site web sur H2.
+La configuration nginx suivante définit un serveur web qui écoute l'adresse 10.0.0.1, sur le port 80. En effet, une fois la configuration installée, nous ferons un "curl 10.0.0.1" depuis H1 pour accéder au site web hébergé par H2 en passant par wireguard.
 
-La partie "location" spécifie que toutes les requêtes HTTP reçues seront traitées à partir du répertoire racine **/var/www/html**, et que le fichier index.html sera servi comme point d'entrée.
+La partie "location" spécifie que toutes les requêtes HTTP reçues seront traitées à partir du répertoire racine **/var/www/html**, et que le fichier index.html sera servit comme point d'entrée.
 
 ## Vérification du bon fonctionnement
 
@@ -850,6 +866,8 @@ root@H2:~# ip -c a
        valid_lft forever preferred_lft forever
 ```
 
+Ici, on peut constater que les interface sont bien configurée et que l'interface de wireguard est elle aussi active et correctement configurée.
+
 **Vérification que le service nginx est en fonction**
 
 ```{.numberLines}
@@ -888,6 +906,17 @@ PublicKey = Vy/elocNbmBa6Z78u4KEOvxDVBjmXIOEuzSNDVQe5RQ=
 AllowedIPs = 10.0.0.0/24
 ```
 
+**Test de connectivité via un ping passant par wireguard**
+
+```{.numberLines}
+root@H2:~# ping 10.0.0.2
+PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
+64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=8.53 ms
+64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=3.76 ms
+64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=3.98 ms
+
+```
+
 ### Vérification de H1
 
 **Vérification des interfaces**
@@ -908,20 +937,6 @@ root@H1:~# ip -c a
        valid_lft forever preferred_lft forever
 ```
 
-**Test de connectivité via un ping**
-
-```{.numberLines}
-root@H1:~# ping 3.0.0.2
-PING 3.0.0.2 (3.0.0.2) 56(84) bytes of data.
-64 bytes from 3.0.0.2: icmp_seq=1 ttl=62 time=5.84 ms
-64 bytes from 3.0.0.2: icmp_seq=2 ttl=62 time=3.17 ms
-64 bytes from 3.0.0.2: icmp_seq=3 ttl=62 time=3.20 ms
-
---- 3.0.0.2 ping statistics ---
-3 packets transmitted, 3 received, 0% packet loss, time 2003ms
-rtt min/avg/max/mdev = 3.165/4.068/5.835/1.249 ms
-```
-
 **Vérification de la configuration de wireguard**
 
 ```{.numberLines}
@@ -937,6 +952,16 @@ Endpoint = 3.0.0.2:51820 <----- Endpoint de H2
 AllowedIPs = 10.0.0.0/24
 ```
 
+**Test de connectivité via un ping passant par wireguard**
+
+```{.numberLines}
+root@H1:~# ping 10.0.0.1
+PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
+64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.30 ms
+64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=3.67 ms
+64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=3.58 ms
+```
+
 **Récupération de la page web hébergée par H2**
 En exécutant la commande curl, on constate qu'on arrive à récupérer la page web hébergée sur H2 via 10.0.0.1. Cela confirme que l'on passe par le wireguard.
 
@@ -967,13 +992,10 @@ ansible-doc -l
 # Permet de checker si la synthax du playbook est valide
 ansible-playbook --syntax-check Config_H1_H2_Playbook.yml
 
-# Permet de checker si la synthax du playbook est valide
-ansible-playbook --syntax-check -i ../inventory.ini Config_H1_H2_Playbook.yml 
-
 # Permet de valider les tâches du playbook sans appliquer les modifications sur les hôtes
 ansible-playbook -i ../inventory.ini Config_H1_H2_Playbook.yml -CD  
 
-# Permet d'appliquer le playbooken passant le fichier vault
+# Permet d'appliquer le playbook en passant le fichier vault
 ansible-playbook -i ../inventory.ini Config_Wireguard.yml --vault-password-file vault_file
 ```
 
@@ -988,4 +1010,7 @@ ip -c a
 # Permet d'afficher les route intstalée
 ip route
 
+# Permet de générer le fichier keys.yml
+bash Generate_keys.sh
+
 ```
\ No newline at end of file
-- 
GitLab