Browse Source

correction de markdown

Eric Streit 5 years ago
parent
commit
e1d7d9ce5c
9 changed files with 1505 additions and 1704 deletions
  1. 252 270
      docs/10-dix.md
  2. 124 189
      docs/2-deux.md
  3. 123 145
      docs/3-trois.md
  4. 60 70
      docs/4-quatre.md
  5. 468 489
      docs/5-cinq.md
  6. 42 48
      docs/6-six.md
  7. 228 251
      docs/7-sept.md
  8. 126 146
      docs/8-huit.md
  9. 82 96
      docs/9-neuf.md

+ 252 - 270
docs/10-dix.md

@@ -5,13 +5,11 @@ Pour l'instant, pour récupérer ses émails, il faut d'abord avoir un compte su
 
 Exemple:
 
-```shell
-ericadmin@aijan:~$ mailx
-"/var/mail/ericadmin": 2 messages 2 non lus
->U   1 Eric Streit        dim. mai 20 08:4  20/742   essai d envoi à root
- U   2 Eric Streit        dim. mai 20 08:5  19/736   un autre essai
-?
-```
+    ericadmin@aijan:~$ mailx
+    "/var/mail/ericadmin": 2 messages 2 non lus
+    >U   1 Eric Streit        dim. mai 20 08:4  20/742   essai d envoi à root
+     U   2 Eric Streit        dim. mai 20 08:5  19/736   un autre essai
+    ?
 
 Nous allons installer dovecot qui est un serveur **pop/imap** et d'authentification **SASL**. Nous pourrons ensuite nous connecter sur le serveur avec un client mail comme **thunderbird**, et récupérer et envoyer nos messages avec celui-ci.
 
@@ -21,10 +19,8 @@ Nous n'installerons que les programmes nécessaires à la gestion du protocole *
 
 Tout d'abord, faites une copie de /etc/postfix/main.conf et /etc/postfix/master.conf:
 
-```shell
-# cp master.cf master.cf.orig
-# cp main.cf main.cf.orig
-```
+    # cp master.cf master.cf.orig
+    # cp main.cf main.cf.orig
 
 Nous allons maintenant configurer nos boites émail; 2 systèmes sont courants: fichier unique qui contient tous vos messages (type mbox) ou répertoire avec un fichier par émail (type maildir). Par défaut, le type est mbox.
 Nous allons changer cela (question de goût ...) Pour cela, nous aurons besoins des programmes utilitaires installés avec dovecot.
@@ -33,113 +29,111 @@ Nous allons changer cela (question de goût ...) Pour cela, nous aurons besoins
 
 Nous utiliserons la base de données **sqlite**. Il est bien sûr préférable d'utiliser une base de données plus traditionnelle comme **mysql** ou **postgresql** si le nombre d'utilisateurs est important. Mon serveur de mails n'aura que moins de 10 adresses émail, donc, **sqlite** suffira.
 
-```shell
-root@adara:/home/www# apt install dovecot-common dovecot-imapd dovecot-sqlite
-Lecture des listes de paquets... Fait
-Construction de l arbre des dépendances
-Lecture des informations d état... Fait
-Note : sélection de « dovecot-core » au lieu de « dovecot-common »
-The following additional packages will be installed:
-  libexttextcat-2.0-0 libexttextcat-data libstemmer0d
-Paquets suggérés :
-  dovecot-gssapi dovecot-sieve dovecot-pgsql dovecot-mysql dovecot-ldap dovecot-pop3d dovecot-lmtpd dovecot-managesieved dovecot-solr dovecot-lucene ufw
-Les NOUVEAUX paquets suivants seront installés :
-  dovecot-core dovecot-imapd dovecot-sqlite libexttextcat-2.0-0 libexttextcat-data libstemmer0d
-0 mis à jour, 6 nouvellement installés, 0 à enlever et 0 non mis à jour.
-Il est nécessaire de prendre 5 062 ko dans les archives.
-Après cette opération, 12,2 Mo d espace disque supplémentaires seront utilisés.
-Souhaitez-vous continuer ? [O/n] o
-Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-data all 3.4.4-2 [167 kB]
-Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-2.0-0 amd64 3.4.4-2+b1 [16,2 kB]
-Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 libstemmer0d amd64 0+svn585-1+b2 [63,3 kB]
-Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-core amd64 1:2.2.27-3+deb9u2 [3 324 kB]
-Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-imapd amd64 1:2.2.27-3+deb9u2 [814 kB]
-Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-sqlite amd64 1:2.2.27-3+deb9u2 [677 kB]
-5 062 ko réceptionnés en 0s (6 873 ko/s)
-Sélection du paquet libexttextcat-data précédemment désélectionné.
-(Lecture de la base de données... 26792 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../0-libexttextcat-data_3.4.4-2_all.deb ...
-Dépaquetage de libexttextcat-data (3.4.4-2) ...
-Sélection du paquet libexttextcat-2.0-0:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../1-libexttextcat-2.0-0_3.4.4-2+b1_amd64.deb ...
-Dépaquetage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
-Sélection du paquet libstemmer0d:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../2-libstemmer0d_0+svn585-1+b2_amd64.deb ...
-Dépaquetage de libstemmer0d:amd64 (0+svn585-1+b2) ...
-Sélection du paquet dovecot-core précédemment désélectionné.
-Préparation du dépaquetage de .../3-dovecot-core_1%3a2.2.27-3+deb9u2_amd64.deb ...
-Dépaquetage de dovecot-core (1:2.2.27-3+deb9u2) ...
-Sélection du paquet dovecot-imapd précédemment désélectionné.
-Préparation du dépaquetage de .../4-dovecot-imapd_1%3a2.2.27-3+deb9u2_amd64.deb ...
-Dépaquetage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
-Sélection du paquet dovecot-sqlite précédemment désélectionné.
-Préparation du dépaquetage de .../5-dovecot-sqlite_1%3a2.2.27-3+deb9u2_amd64.deb ...
-Dépaquetage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
-Paramétrage de libstemmer0d:amd64 (0+svn585-1+b2) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
-Paramétrage de libexttextcat-data (3.4.4-2) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
-Paramétrage de dovecot-core (1:2.2.27-3+deb9u2) ...
-
-Creating config file /etc/dovecot/dovecot.conf with new version
-
-Creating config file /etc/dovecot/dovecot-dict-auth.conf.ext with new version
-
-Creating config file /etc/dovecot/dovecot-dict-sql.conf.ext with new version
-
-Creating config file /etc/dovecot/dovecot-sql.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/10-auth.conf with new version
-
-Creating config file /etc/dovecot/conf.d/10-director.conf with new version
-
-Creating config file /etc/dovecot/conf.d/10-logging.conf with new version
-
-Creating config file /etc/dovecot/conf.d/10-mail.conf with new version
-
-Creating config file /etc/dovecot/conf.d/10-master.conf with new version
-
-Creating config file /etc/dovecot/conf.d/10-tcpwrapper.conf with new version
-
-Creating config file /etc/dovecot/conf.d/15-lda.conf with new version
-
-Creating config file /etc/dovecot/conf.d/15-mailboxes.conf with new version
-
-Creating config file /etc/dovecot/conf.d/90-acl.conf with new version
-
-Creating config file /etc/dovecot/conf.d/90-plugin.conf with new version
-
-Creating config file /etc/dovecot/conf.d/90-quota.conf with new version
-
-Creating config file /etc/dovecot/conf.d/auth-checkpassword.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-deny.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-dict.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-master.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-passwdfile.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-sql.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-static.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-system.conf.ext with new version
-
-Creating config file /etc/dovecot/conf.d/auth-vpopmail.conf.ext with new version
-Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /lib/systemd/system/dovecot.service.
-Paramétrage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
-
-Creating config file /etc/dovecot/conf.d/20-imap.conf with new version
-Paramétrage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
-Traitement des actions différées (« triggers ») pour dovecot-core (1:2.2.27-3+deb9u2) ...
-root@adara:/home/www#
-```
+    root@adara:/home/www# apt install dovecot-common dovecot-imapd dovecot-sqlite
+    Lecture des listes de paquets... Fait
+    Construction de l arbre des dépendances
+    Lecture des informations d état... Fait
+    Note : sélection de « dovecot-core » au lieu de « dovecot-common »
+    The following additional packages will be installed:
+      libexttextcat-2.0-0 libexttextcat-data libstemmer0d
+    Paquets suggérés :
+      dovecot-gssapi dovecot-sieve dovecot-pgsql dovecot-mysql dovecot-ldap dovecot-pop3d dovecot-lmtpd dovecot-managesieved dovecot-solr dovecot-lucene ufw
+    Les NOUVEAUX paquets suivants seront installés :
+      dovecot-core dovecot-imapd dovecot-sqlite libexttextcat-2.0-0 libexttextcat-data libstemmer0d
+    0 mis à jour, 6 nouvellement installés, 0 à enlever et 0 non mis à jour.
+    Il est nécessaire de prendre 5 062 ko dans les archives.
+    Après cette opération, 12,2 Mo d espace disque supplémentaires seront utilisés.
+    Souhaitez-vous continuer ? [O/n] o
+    Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-data all 3.4.4-2 [167 kB]
+    Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-2.0-0 amd64 3.4.4-2+b1 [16,2 kB]
+    Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 libstemmer0d amd64 0+svn585-1+b2 [63,3 kB]
+    Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-core amd64 1:2.2.27-3+deb9u2 [3 324 kB]
+    Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-imapd amd64 1:2.2.27-3+deb9u2 [814 kB]
+    Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-sqlite amd64 1:2.2.27-3+deb9u2 [677 kB]
+    5 062 ko réceptionnés en 0s (6 873 ko/s)
+    Sélection du paquet libexttextcat-data précédemment désélectionné.
+    (Lecture de la base de données... 26792 fichiers et répertoires déjà installés.)
+    Préparation du dépaquetage de .../0-libexttextcat-data_3.4.4-2_all.deb ...
+    Dépaquetage de libexttextcat-data (3.4.4-2) ...
+    Sélection du paquet libexttextcat-2.0-0:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../1-libexttextcat-2.0-0_3.4.4-2+b1_amd64.deb ...
+    Dépaquetage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
+    Sélection du paquet libstemmer0d:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../2-libstemmer0d_0+svn585-1+b2_amd64.deb ...
+    Dépaquetage de libstemmer0d:amd64 (0+svn585-1+b2) ...
+    Sélection du paquet dovecot-core précédemment désélectionné.
+    Préparation du dépaquetage de .../3-dovecot-core_1%3a2.2.27-3+deb9u2_amd64.deb ...
+    Dépaquetage de dovecot-core (1:2.2.27-3+deb9u2) ...
+    Sélection du paquet dovecot-imapd précédemment désélectionné.
+    Préparation du dépaquetage de .../4-dovecot-imapd_1%3a2.2.27-3+deb9u2_amd64.deb ...
+    Dépaquetage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
+    Sélection du paquet dovecot-sqlite précédemment désélectionné.
+    Préparation du dépaquetage de .../5-dovecot-sqlite_1%3a2.2.27-3+deb9u2_amd64.deb ...
+    Dépaquetage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
+    Paramétrage de libstemmer0d:amd64 (0+svn585-1+b2) ...
+    Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
+    Paramétrage de libexttextcat-data (3.4.4-2) ...
+    Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
+    Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
+    Paramétrage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
+    Paramétrage de dovecot-core (1:2.2.27-3+deb9u2) ...
+
+    Creating config file /etc/dovecot/dovecot.conf with new version
+
+    Creating config file /etc/dovecot/dovecot-dict-auth.conf.ext with new version
+
+    Creating config file /etc/dovecot/dovecot-dict-sql.conf.ext with new version
+
+    Creating config file /etc/dovecot/dovecot-sql.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/10-auth.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/10-director.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/10-logging.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/10-mail.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/10-master.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/10-tcpwrapper.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/15-lda.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/15-mailboxes.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/90-acl.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/90-plugin.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/90-quota.conf with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-checkpassword.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-deny.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-dict.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-master.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-passwdfile.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-sql.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-static.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-system.conf.ext with new version
+
+    Creating config file /etc/dovecot/conf.d/auth-vpopmail.conf.ext with new version
+    Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /lib/systemd/system/dovecot.service.
+    Paramétrage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
+
+    Creating config file /etc/dovecot/conf.d/20-imap.conf with new version
+    Paramétrage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
+    Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
+    Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
+    Traitement des actions différées (« triggers ») pour dovecot-core (1:2.2.27-3+deb9u2) ...
+    root@adara:/home/www#
 
 ### Configuration du type de boîte aux lettres
 
@@ -159,100 +153,89 @@ On recharge le fichier de conf
 
 Et on teste:
 
-```shell
-eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$ mail ericadmin@aijan.yojik.net
-Cc:
-Subject: Re-essai
-re-essai de aldebaran
-.
-eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$
-```
+    eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$ mail ericadmin@aijan.yojik.net
+    Cc:
+    Subject: Re-essai
+    re-essai de aldebaran
+    .
+    eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$
+
 J'envoie un courrier à partir de mon desktop.
 Vérification sur le serveur:
 
-```shell
-ericadmin@aijan:~$ ls
-bin  index.html  Maildir  mbox
-ericadmin@aijan:~$
-```
+    ericadmin@aijan:~$ ls
+    bin  index.html  Maildir  mbox
+    ericadmin@aijan:~$
 
 Le répertoire Maildir a bien été créé.
 Vérification de la réception des messages:
 
-```shell
-ricadmin@aijan:~$ cd Maildir/
-ericadmin@aijan:~/Maildir$ ls
-cur  new  tmp
-ericadmin@aijan:~/Maildir$ cd new/
-ericadmin@aijan:~/Maildir/new$ ls
-1526897441.V801Icc005dM227044.aijan  1526897501.V801Icc0060M464181.aijan  1526897576.V801Icc0061M979030.aijan
-ericadmin@aijan:~/Maildir/new$
-
-ericadmin@aijan:~/Maildir/new$ cat 1526897576.V801Icc0061M979030.aijan
-Return-Path: <eric@aldebaran.yojik.net>
-X-Original-To: ericadmin@aijan.yojik.net
-Delivered-To: ericadmin@aijan.yojik.net
-Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:6423:417b:6ef:ee21])
-	by aijan.yojik.net (Postfix) with ESMTP id EC11BD00903
-	for <ericadmin@aijan.yojik.net>; Mon, 21 May 2018 12:12:56 +0200 (CEST)
-Received: by aldebaran.yojik.net (Postfix, from userid 1000)
-	id 8B42920620A; Mon, 21 May 2018 12:12:56 +0200 (CEST)
-To: <ericadmin@aijan.yojik.net>
-Subject: Re-essai
-X-Mailer: mail (GNU Mailutils 3.1.1)
-Message-Id: <20180521101256.8B42920620A@aldebaran.yojik.net>
-Date: Mon, 21 May 2018 12:12:56 +0200 (CEST)
-From: eric@aldebaran.yojik.net (Eric Streit)
-
-re-essai de aldebaran
-.
-ericadmin@aijan:~/Maildir/new$
-```
+    ericadmin@aijan:~$ cd Maildir/
+    ericadmin@aijan:~/Maildir$ ls
+    cur  new  tmp
+    ericadmin@aijan:~/Maildir$ cd new/
+    ericadmin@aijan:~/Maildir/new$ ls
+    1526897441.V801Icc005dM227044.aijan  1526897501.V801Icc0060M464181.aijan  1526897576.V801Icc0061M979030.aijan
+    ericadmin@aijan:~/Maildir/new$
+
+    ericadmin@aijan:~/Maildir/new$ cat 1526897576.V801Icc0061M979030.aijan
+    Return-Path: <eric@aldebaran.yojik.net>
+    X-Original-To: ericadmin@aijan.yojik.net
+    Delivered-To: ericadmin@aijan.yojik.net
+    Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:6423:417b:6ef:ee21])
+    	by aijan.yojik.net (Postfix) with ESMTP id EC11BD00903
+    	for <ericadmin@aijan.yojik.net>; Mon, 21 May 2018 12:12:56 +0200 (CEST)
+    Received: by aldebaran.yojik.net (Postfix, from userid 1000)
+    	id 8B42920620A; Mon, 21 May 2018 12:12:56 +0200 (CEST)
+    To: <ericadmin@aijan.yojik.net>
+    Subject: Re-essai
+    X-Mailer: mail (GNU Mailutils 3.1.1)
+    Message-Id: <20180521101256.8B42920620A@aldebaran.yojik.net>
+    Date: Mon, 21 May 2018 12:12:56 +0200 (CEST)
+    From: eric@aldebaran.yojik.net (Eric Streit)
+
+    re-essai de aldebaran
+    .
+    ericadmin@aijan:~/Maildir/new$
 
 Les messages sont bien reçus. Par contre, mailx ne fonctionne plus (uniquement avec des fichiers mbox.)
 Pour lire nos messages, il nous faut installer le lecteur de courriers **mutt**.
 
-```shell
-root@aijan:/etc/postfix# apt install mutt
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9
-Paquets suggérés :
-  gpgsm urlview mixmaster
-Les NOUVEAUX paquets suivants seront installés :
-  libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9 mutt
-0 mis à jour, 6 nouvellement installés, 0 à enlever et 12 non mis à jour.
-Il est nécessaire de prendre 2 433 ko dans les archives.
-Après cette opération, 8 665 ko d'espace disque supplémentaires seront utilisés.
-Souhaitez-vous continuer ? [O/n] o
-Réception de:1 http://deb.debian.org/debian stretch/main amd64 libtokyocabinet9 amd64 1.4.48-11+b1 [367 kB]
-Réception de:2 http://deb.debian.org/debian stretch/main amd64 libgpgme11 amd64 1.8.0-3+b2 [160 kB]
-Réception de:3 http://deb.debian.org/debian stretch/main amd64 libgmime-2.6-0 amd64 2.6.22+dfsg2-1 [232 kB]
-Réception de:4 http://deb.debian.org/debian stretch/main amd64 libtalloc2 amd64 2.1.8-1 [36,3 kB]
-....
-```
+    root@aijan:/etc/postfix# apt install mutt
+    Lecture des listes de paquets... Fait
+    Construction de l'arbre des dépendances
+    Lecture des informations d'état... Fait
+    The following additional packages will be installed:
+      libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9
+    Paquets suggérés :
+      gpgsm urlview mixmaster
+    Les NOUVEAUX paquets suivants seront installés :
+      libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9 mutt
+    0 mis à jour, 6 nouvellement installés, 0 à enlever et 12 non mis à jour.
+    Il est nécessaire de prendre 2 433 ko dans les archives.
+    Après cette opération, 8 665 ko d'espace disque supplémentaires seront utilisés.
+    Souhaitez-vous continuer ? [O/n] o
+    Réception de:1 http://deb.debian.org/debian stretch/main amd64 libtokyocabinet9 amd64 1.4.48-11+b1 [367 kB]
+    Réception de:2 http://deb.debian.org/debian stretch/main amd64 libgpgme11 amd64 1.8.0-3+b2 [160 kB]
+    Réception de:3 http://deb.debian.org/debian stretch/main amd64 libgmime-2.6-0 amd64 2.6.22+dfsg2-1 [232 kB]
+    Réception de:4 http://deb.debian.org/debian stretch/main amd64 libtalloc2 amd64 2.1.8-1 [36,3 kB]
+    ....
 
 On teste; on le lance avec la commande suivante:
 
-```shell
-ericadmin@aijan:~$ mutt -f ./Maildir/
-GPGME : protocole CMS non disponible
-3 gardé(s), 0 effacé(s).
-ericadmin@aijan:~$
-```
+    ericadmin@aijan:~$ mutt -f ./Maildir/
+    GPGME : protocole CMS non disponible
+    3 gardé(s), 0 effacé(s).
+    ericadmin@aijan:~$
 
 Résultat: (extrait de l'écran)
 
-```shell
-q:Quitter  d:Effacer  u:Récup  s:Sauver  m:Message  r:Répondre  g:Groupe  ?:Aide
-   1 O + mai 21 root            (0,1K) Essai
-   2 O F mai 21 To root@localho (0,1K) essai d'envoi à root
-   3 O + mai 21 Eric Streit     (0,1K) Re-essai
+    q:Quitter  d:Effacer  u:Récup  s:Sauver  m:Message  r:Répondre  g:Groupe  ?:Aide
+       1 O + mai 21 root            (0,1K) Essai
+       2 O F mai 21 To root@localho (0,1K) essai d'envoi à root
+       3 O + mai 21 Eric Streit     (0,1K) Re-essai
 
-NeoMutt: ./Maildir/ [Msgs:3 Old:3 1,6K](threads/date)-
-```
+    NeoMutt: ./Maildir/ [Msgs:3 Old:3 1,6K](threads/date)-
 
 Nos émails sont bien là :) Nous pourrons supprimer mutt plus tard si nous voulons gagner un peu de place.
 
@@ -272,25 +255,23 @@ Si nous regardons quels ports sont écoutés; nous voyons que nous avons pour l'
 
 et le port 143 (imap) de dovecot, mais dovecot n'est pas encore intégré à notre serveur mail et est **non-configuré**.
 
-```shell
-root@aijan:/home/ericadmin# netstat -tlnp
-Connexions Internet actives (seulement serveurs)
-Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
-tcp        0      0 192.168.111.240:53      0.0.0.0:*               LISTEN      536/named
-tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      536/named
-tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      603/sshd
-tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      850/master
-tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      536/named
-tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      676/apache2
-tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      607/dovecot
-tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      676/apache2
-tcp6       0      0 :::53                   :::*                    LISTEN      536/named
-tcp6       0      0 :::22                   :::*                    LISTEN      603/sshd
-tcp6       0      0 :::25                   :::*                    LISTEN      850/master
-tcp6       0      0 ::1:953                 :::*                    LISTEN      536/named
-tcp6       0      0 :::143                  :::*                    LISTEN      607/dovecot
-root@aijan:/home/ericadmin#
-```
+    root@aijan:/home/ericadmin# netstat -tlnp
+    Connexions Internet actives (seulement serveurs)
+    Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
+    tcp        0      0 192.168.111.240:53      0.0.0.0:*               LISTEN      536/named
+    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      536/named
+    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      603/sshd
+    tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      850/master
+    tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      536/named
+    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      676/apache2
+    tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      607/dovecot
+    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      676/apache2
+    tcp6       0      0 :::53                   :::*                    LISTEN      536/named
+    tcp6       0      0 :::22                   :::*                    LISTEN      603/sshd
+    tcp6       0      0 :::25                   :::*                    LISTEN      850/master
+    tcp6       0      0 ::1:953                 :::*                    LISTEN      536/named
+    tcp6       0      0 :::143                  :::*                    LISTEN      607/dovecot
+    root@aijan:/home/ericadmin#
 
 Notez la commande **netstat -tlnp** pour voir les ports ouverts ainsi que les programmes qui les gèrent.
 
@@ -308,9 +289,9 @@ Les parties implémentées sont en rouge sur le dessin suivant:
 
 ### Les ports servis par Postfix
 
-1. Le port 25 est utilisé pour la communication entre serveurs smtp; il permet une connexion "en clair" ou chiffrée. Il peut être aussi utilisé pour l'envoi des mails à partir d'un client.  Nous l'avons d'ailleurs fait avec la commande **mail** et **telnet**.
-2. Le port 587 est le port "submission", port utilisé par défaut par les **clients mail** pour **envoyer** du courrier sur le serveur (thunderbird, etc ...) qui le dispatche ensuite, soit dans les boîtes de courrier locales, soit à un destinataire extérieur.
-3. Le port 465 est un port qui a été réservé pour les communications chiffrées (SMTP over SSL): il était utilisé avant que STARTTLS ne soit utilisé; il a été enlevé des ports standards de mail.
+1.  Le port 25 est utilisé pour la communication entre serveurs smtp; il permet une connexion "en clair" ou chiffrée. Il peut être aussi utilisé pour l'envoi des mails à partir d'un client.  Nous l'avons d'ailleurs fait avec la commande **mail** et **telnet**.
+2.  Le port 587 est le port "submission", port utilisé par défaut par les **clients mail** pour **envoyer** du courrier sur le serveur (thunderbird, etc ...) qui le dispatche ensuite, soit dans les boîtes de courrier locales, soit à un destinataire extérieur.
+3.  Le port 465 est un port qui a été réservé pour les communications chiffrées (SMTP over SSL): il était utilisé avant que STARTTLS ne soit utilisé; il a été enlevé des ports standards de mail.
 
 Le premier port (25) est un port d'entrée-sortie réservé à la communication entre serveurs ("mais permet aussi la submission de messages avec authentification".) Souvenez-vous que le port 25 est bloqué par de nombreux FAI. La communication peut être chiffrée ou non, suivant les possibilités du serveur et du client, et donc, les mots de passe peuvent passer en clair. La communication commence en mode "clair" et après négociation, passe en mode "chiffrée" si celle-ci est disponible: (STARTTLS)
 
@@ -322,8 +303,8 @@ Voilà un shéma de ce que nous allons obtenir:
 
 ## Les ports servis par Dovecot
 
-1. Les ports 143 et 993 sont des ports réservés au protocole IMAP(s).
-2. Les port 110 et 995 sont des ports réservés au protocole POP3(s), mais nous ne l'utiliserons pas.
+1.  Les ports 143 et 993 sont des ports réservés au protocole IMAP(s).
+2.  Les port 110 et 995 sont des ports réservés au protocole POP3(s), mais nous ne l'utiliserons pas.
 
 Ces ports sont servis par Dovecot. Il permettent de gérer notre boîte mail, récupérer, effacer nos messages, créer des dossiers dans lesquels nous pouvons trier nos messages.
 
@@ -331,94 +312,95 @@ Ces ports sont servis par Dovecot. Il permettent de gérer notre boîte mail, r
 
 Nous implémenterons une politique particulière, comme celle décrite ici:
 [RasperryPi Email server Part 2](https://samhobbs.co.uk/2013/12/raspberry-pi-email-server-part-2-dovecot)
+
 Cet auteur sépare les communications entre serveurs (port 25) et client-serveur (ports 587 et 465). Il empêche les communications non-chifrées entre client et serveur, et utilise le port 465 pour les communications chiffrées (port déprécié par le standard.)
+
 Jusqu'à maintenant, nous n'avons utilisé ni dovecot, ni base de données; l'authentification se faisant directement sur le serveur en accédant à notre compte sur le serveur (login par identifiant/mot de passe ou clef SSH).
-Nous allons implémenter l'accès par **Imap** et **Imaps** de nos courriers à partir de n'importe quelle machine et avec authentification (toujours pas de comptes virtuels.) L'authentification se faisait avant en se connectant sur nos comptes en **SSH**. Nous avons déjà généré auparavant nos clefs de chiffrage avec **certbot**. (voir le chapitre suivant ...)
-Elles sont situées dans **/etc/letsencrypt/live/atom.yojik.net**.
-Dovecot est un serveur Imap et pop3. Il assure en plus l'authentification.
 
+Nous allons implémenter l'accès par **Imap** et **Imaps** de nos courriers à partir de n'importe quelle machine et avec authentification (toujours pas de comptes virtuels.)
+
+L'authentification se faisait avant en se connectant sur nos comptes en **SSH**. Nous avons déjà généré auparavant nos clefs de chiffrage avec **certbot**. (voir le chapitre suivant ...)
 
+Elles sont situées dans **/etc/letsencrypt/live/atom.yojik.net**.
+Dovecot est un serveur Imap et pop3. Il assure en plus l'authentification.
 
 ## Configuration de Dovecot
 
-* Indiquer à Dovecot d'écouter sur toutes les interfaces, en IPV4 et IPV6. Le fichier à configurer (après copie) est **/etc/dovecot/dovecot.conf**; changer la ligne qui contient:
+*   Indiquer à Dovecot d'écouter sur toutes les interfaces, en IPV4 et IPV6. Le fichier à configurer (après copie) est **/etc/dovecot/dovecot.conf**; changer la ligne qui contient:
 
     > listen =
-    en
-    listen =  *, ::
 
-* Il faut lui indiquer **où** sont stockés nos mails et sous quel  **format**. Cela se configure dans le fichier:
+    en
 
-    /etc/dovecot/conf.d/10-mail.conf
-    Voici un extrait du contenu original:
+    > listen =  *, ::
 
+*   Il faut lui indiquer **où** sont stockés nos mails et sous quel  **format**. Cela se configure dans le fichier:
 
-        ## Mailbox locations and namespaces
-        ##
-        mail_location = mbox:~/mail:INBOX=/var/mail/%u
+      /etc/dovecot/conf.d/10-mail.conf
 
+      Voici un extrait du contenu original:
 
-    Le format par défaut est **mbox** situé dans **/var/mail/user**
-    Nous allons changer cela en:
+          ## Mailbox locations and namespaces
+          ##
+          mail_location = mbox:~/mail:INBOX=/var/mail/%u
 
-        mail_location = maildir:~/Maildir
+      Le format par défaut est **mbox** situé dans **/var/mail/user**
+      Nous allons changer cela en:
 
+          mail_location = maildir:~/Maildir
 
     Dovecot utilisera notre boîte aux lettres située dans le home de chaque user, et dans le répertoire Maildir.
 
     Souvenez-vous que nous avions configuré Postfix afin qu'il utilise le format Maidir.
 
-* Indiquer à Postfix d'utiliser dovecot pour l'accès aux mails ainsi que pour l'authentification.
-
-    Nous allons modifier le fichier **/etc/postfix/main.cf** et ajouter les lignes suivantes:
-
-        smtpd_sasl_type = dovecot
-        smtpd_sasl_path = private/auth
-        smtpd_sasl_auth_enable = yes
-
-    Nous allons indiquer à Dovecot de répondre aux demandes d'authentification de postfix:
-    Après avoir fait une sauvegarde du fichier original /etc/dovecot/conf.d/10-master.conf (toujours sauvegarder les fichiers avant modifications!), nous allons modifier le mécanisme d'authentification de docvecot. Pour cela nous allons remplacer la partie intitulée **service auth** par ce qui suit:
+*   Indiquer à Postfix d'utiliser dovecot pour l'accès aux mails ainsi que pour l'authentification.
 
+      Nous allons modifier le fichier **/etc/postfix/main.cf** et ajouter les lignes suivantes:
 
-        service auth {
-      	 unix_listener /var/spool/postfix/private/auth {
-      		 mode = 0660
-      		 user = postfix
-      		 group = postfix
-      		 }
+          smtpd_sasl_type = dovecot
+          smtpd_sasl_path = private/auth
+          smtpd_sasl_auth_enable = yes
 
+      Nous allons indiquer à Dovecot de répondre aux demandes d'authentification de postfix:
 
-* Autorisons maintenant le **plain login**; nous allons modifier le fichier   **/etc/dovecot/conf.d/10-auth.conf** en ajoutant ou modifiant les lignes suivantes:
+      Après avoir fait une sauvegarde du fichier original /etc/dovecot/conf.d/10-master.conf (toujours sauvegarder les fichiers avant modifications!), nous allons modifier le mécanisme d'authentification de docvecot. Pour cela nous allons remplacer la partie intitulée **service auth** par ce qui suit:
 
-        disable_plaintext_auth = no
-        auth_mechanisms = plain login
+          service auth {
+        	 unix_listener /var/spool/postfix/private/auth {
+        		 mode = 0660
+        		 user = postfix
+        		 group = postfix
+        		 }
 
-    On relance postfix et dovecot pour prendre en compte les modifications.
+*   Autorisons maintenant le **plain login**; nous allons modifier le fichier   **/etc/dovecot/conf.d/10-auth.conf** en ajoutant ou modifiant les lignes suivantes:
 
-      	root@atom:/etc/postfix# systemctl restart postfix
-      	root@atom:/etc/postfix# systemctl restart dovecot
+          disable_plaintext_auth = no
+          auth_mechanisms = plain login
 
-    On vérifie que tout s'est bien passé avec la commande:
+      On relance postfix et dovecot pour prendre en compte les modifications.
 
-      	root@atom:/etc/postfix# tail -f /var/log/daemon.log
-      	Nov 26 12:47:22 atom systemd[1]: Stopped Postfix Mail Transport Agent (instance -).
-      	Nov 26 12:47:22 atom systemd[1]: Starting Postfix Mail Transport Agent (instance -)...
-        Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent (instance -).
-      	Nov 26 12:47:23 atom systemd[1]: Starting Postfix Mail Transport Agent...
-      	Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent.
-      	Nov 26 12:47:28 atom systemd[1]: Stopping Dovecot IMAP/POP3 email server...
-      	Nov 26 12:47:29 atom systemd[1]: Stopped Dovecot IMAP/POP3 email server.
-      	Nov 26 12:47:29 atom systemd[1]: Starting Dovecot IMAP/POP3 email server...
-      	Nov 26 12:47:29 atom systemd[1]: dovecot.service: PID file /var/run/dovecot/master.pid not readable (yet?) after start: No such file or directory
-      	Nov 26 12:47:29 atom systemd[1]: Started Dovecot IMAP/POP3 email server.
+      	  root@atom:/etc/postfix# systemctl restart postfix
+      	  root@atom:/etc/postfix# systemctl restart dovecot
 
+      On vérifie que tout s'est bien passé avec la commande:
 
-     On quitte avec Ctrl C.
+        	root@atom:/etc/postfix# tail -f /var/log/daemon.log
+        	Nov 26 12:47:22 atom systemd[1]: Stopped Postfix Mail Transport Agent (instance -).
+        	Nov 26 12:47:22 atom systemd[1]: Starting Postfix Mail Transport Agent (instance -)...
+          Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent (instance -).
+          Nov 26 12:47:23 atom systemd[1]: Starting Postfix Mail Transport Agent...
+        	Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent.
+        	Nov 26 12:47:28 atom systemd[1]: Stopping Dovecot IMAP/POP3 email server...
+        	Nov 26 12:47:29 atom systemd[1]: Stopped Dovecot IMAP/POP3 email server.
+        	Nov 26 12:47:29 atom systemd[1]: Starting Dovecot IMAP/POP3 email server...
+        	Nov 26 12:47:29 atom systemd[1]: dovecot.service: PID file /var/run/dovecot/master.pid not readable (yet?) after start: No such file or directory
+        	Nov 26 12:47:29 atom systemd[1]: Started Dovecot IMAP/POP3 email server.
 
-	   C'est bon.
+    On quitte avec Ctrl C.
 
+	  C'est bon.
 
-* Test 1
+*   Test 1
 
      Nous allons nous connecter avec telnet; voici la capture de la session:
 

+ 124 - 189
docs/2-deux.md

@@ -7,41 +7,33 @@
 
 Pour mon usage personnel, j'installe systématiquement **mc**, petit programme de gestion de fichiers en mode texte qui permet de se déplacer facilement dans les répertoires, d'éditer, de déplacer les fichiers etc.
 
-```shell
-apt install mc
-```
+    apt install mc
+
 J'installe aussi **vim**, pour remplacer l'éditeur **vi** ou **nano** installé par défaut par Debian.
 
-```shell
-apt install vim
-```
+    apt install vim
 
 Installation des utilitaires système comme **netstat** **ifconfig** etc.
 
-```shell
-apt install net-tools
-```
+    apt install net-tools
+
 On ajoute les dépots non-free et contrib:
 
 vim /etc/apt/sources.list
 
-```shell
-deb http://debian.mirrors.ovh.net/debian stretch main contrib non-free
-deb-src http://debian.mirrors.ovh.net/debian stretch main main contrib non-free
+    deb http://debian.mirrors.ovh.net/debian stretch main contrib non-free
+    deb-src http://debian.mirrors.ovh.net/debian stretch main main contrib non-free
 
-deb http://security.debian.org/debian-security stretch/updates main main contrib non-free
-deb-src http://security.debian.org/debian-security stretch/updates main main contrib non-free
+    deb http://security.debian.org/debian-security stretch/updates main main contrib non-free
+    deb-src http://security.debian.org/debian-security stretch/updates main main contrib non-free
 
-# stretch-updates, previously known as 'volatile'
-deb http://debian.mirrors.ovh.net/debian stretch-updates main main contrib non-free
-deb-src http://debian.mirrors.ovh.net/debian stretch-updates main main contrib non-free
-```
+    # stretch-updates, previously known as 'volatile'
+    deb http://debian.mirrors.ovh.net/debian stretch-updates main main contrib non-free
+    deb-src http://debian.mirrors.ovh.net/debian stretch-updates main main contrib non-free
 
 Et on update et upgrade:
 
-```shell
-apt update && apt upgrade
-```
+    apt update && apt upgrade
 
 ## Récupération de l'IP du serveur:
 
@@ -49,53 +41,51 @@ Il nous faut connaître l'adresse IP de notre serveur qui est allouée dynamique
 
 Nous utiliserons la commande **ifconfig**:
 
-```shell
-root@atom:/home/ericadmin# ifconfig
-enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
-        inet 192.168.111.23  netmask 255.255.255.0  broadcast 192.168.111.255
-        inet6 2a01:e0a:54:c220:223:54ff:fec6:a07  prefixlen 64  scopeid 0x0<global>
-        inet6 fe80::223:54ff:fec6:a07  prefixlen 64  scopeid 0x20<link>
-        ether 00:23:54:c6:0a:07  txqueuelen 1000  (Ethernet)
-        RX packets 9220  bytes 7825813 (7.4 MiB)
-        RX errors 0  dropped 0  overruns 0  frame 0
-        TX packets 2534  bytes 282820 (276.1 KiB)
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
-
-lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
-        inet 127.0.0.1  netmask 255.0.0.0
-        inet6 ::1  prefixlen 128  scopeid 0x10<host>
-        loop  txqueuelen 1  (Boucle locale)
-        RX packets 0  bytes 0 (0.0 B)
-        RX errors 0  dropped 0  overruns 0  frame 0
-        TX packets 0  bytes 0 (0.0 B)
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
-```
+    root@atom:/home/ericadmin# ifconfig
+    enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
+            inet 192.168.111.23  netmask 255.255.255.0  broadcast 192.168.111.255
+            inet6 2a01:e0a:54:c220:223:54ff:fec6:a07  prefixlen 64  scopeid 0x0<global>
+            inet6 fe80::223:54ff:fec6:a07  prefixlen 64  scopeid 0x20<link>
+            ether 00:23:54:c6:0a:07  txqueuelen 1000  (Ethernet)
+            RX packets 9220  bytes 7825813 (7.4 MiB)
+            RX errors 0  dropped 0  overruns 0  frame 0
+            TX packets 2534  bytes 282820 (276.1 KiB)
+            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
+
+    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
+            inet 127.0.0.1  netmask 255.0.0.0
+            inet6 ::1  prefixlen 128  scopeid 0x10<host>
+            loop  txqueuelen 1  (Boucle locale)
+            RX packets 0  bytes 0 (0.0 B)
+            RX errors 0  dropped 0  overruns 0  frame 0
+            TX packets 0  bytes 0 (0.0 B)
+            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
 
 
 Notre adresse IPV4 est: **192.168.111.23**
+
 Link Mauve et sebseb01 (Linuxfr) viennent de m'indiquer d'utiliser les iptools:
 
-```shell
-root@atom:~# ip a
-1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
-    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
-    inet 127.0.0.1/8 scope host lo
-       valid_lft forever preferred_lft forever
-    inet6 ::1/128 scope host
-       valid_lft forever preferred_lft forever
-2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
-    link/ether 00:23:54:c6:0a:07 brd ff:ff:ff:ff:ff:ff
-    inet 192.168.111.160/24 brd 192.168.111.255 scope global enp4s0
-       valid_lft forever preferred_lft forever
-    inet6 2a01:e0a:54:c220:223:54ff:fec6:a07/64 scope global mngtmpaddr dynamic
-       valid_lft 86201sec preferred_lft 86201sec
-    inet6 fe80::223:54ff:fec6:a07/64 scope link
-       valid_lft forever preferred_lft forever
-3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
-    link/ether 00:15:af:db:b7:37 brd ff:ff:ff:ff:ff:ff
-root@atom:~#
-```
+    root@atom:~# ip a
+    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
+        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
+        inet 127.0.0.1/8 scope host lo
+           valid_lft forever preferred_lft forever
+        inet6 ::1/128 scope host
+           valid_lft forever preferred_lft forever
+    2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
+        link/ether 00:23:54:c6:0a:07 brd ff:ff:ff:ff:ff:ff
+        inet 192.168.111.160/24 brd 192.168.111.255 scope global enp4s0
+           valid_lft forever preferred_lft forever
+        inet6 2a01:e0a:54:c220:223:54ff:fec6:a07/64 scope global mngtmpaddr dynamic
+           valid_lft 86201sec preferred_lft 86201sec
+        inet6 fe80::223:54ff:fec6:a07/64 scope link
+           valid_lft forever preferred_lft forever
+    3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
+        link/ether 00:15:af:db:b7:37 brd ff:ff:ff:ff:ff:ff
+    root@atom:~#
+
 Les adresses IPV6 commençant par **fe80** sont des adresses limitées au réseau local.
 
 ## Sécurisation de ssh
@@ -106,48 +96,38 @@ Voir le lien suivant: [Le blog de Guillaume](http://www.guillaume-leduc.fr/)
 
 Nous générons notre paire de clefs pour l'authentification par clefs sur votre poste principal (si vous n'avez pas encore de jeu de clefs). Opération à effectuer sur votre poste principal.
 
-```shell
-ssh-keygen
-```
+    ssh-keygen
 
 Il vous faut copier maintenant la clef sur le serveur:
 
-```shell
-ssh-copy-id -i ~/.ssh/id_rsa.pub ericadmin@192.168.111.23
-```
+    ssh-copy-id -i ~/.ssh/id_rsa.pub ericadmin@192.168.111.23
+
 ou
 
-```shell
-ssh-copy-id ericadmin@192.168.111.23
-```
+    ssh-copy-id ericadmin@192.168.111.23
 
 N'oubliez pas de mettre vos identifiants propres, bien sûr.
 
 On teste comme le recommande ssh:
 
-```shell
-eric@aldebaran:~$ ssh 'ericadmin@91.121.72.10'
-Linux adara 4.9.103-xxxx-std-ipv6-64 #222672 SMP Mon Jun 4 15:16:03 UTC 2018 x86_64
+    eric@aldebaran:~$ ssh 'ericadmin@91.121.72.10'
+    Linux adara 4.9.103-xxxx-std-ipv6-64 #222672 SMP Mon Jun 4 15:16:03 UTC 2018 x86_64
 
-  Debian GNU/Linux 9 (stretch)
-  Linux adara.yojik.eu 4.9.103-xxxx-std-ipv6-64 #222672 SMP Mon Jun 4 15:16:03 UTC 2018 x86_64 GNU/Linux
+      Debian GNU/Linux 9 (stretch)
+      Linux adara.yojik.eu 4.9.103-xxxx-std-ipv6-64 #222672 SMP Mon Jun 4 15:16:03 UTC 2018 x86_64 GNU/Linux
 
-  Server	: 141519
-  IPv4		: 91.121.72.10
-  IPv6		: 2001:41d0:1:7d0a::1
-  Hostname	: adara.yojik.eu
+      Server	: 141519
+      IPv4		: 91.121.72.10
+      IPv6		: 2001:41d0:1:7d0a::1
+      Hostname	: adara.yojik.eu
 
-Last login: Sun Jun 24 15:08:32 2018 from 82.64.48.5
-```
+    Last login: Sun Jun 24 15:08:32 2018 from 82.64.48.5
 
 Et on teste qu'on peut passer super-utilisateur à partir de ce compte.
 
-```shell
-
-ericadmin@adara:~$ su
-Mot de passe :
-root@adara:/home/ericadmin#
-```
+    ericadmin@adara:~$ su
+    Mot de passe :
+    root@adara:/home/ericadmin#
 
 ### Opérations à effectuer sur le **serveur** en mode super-utilisateur.
 
@@ -155,91 +135,65 @@ La configuration se fait dans le fichier **/etc/ssh/sshd_config**, fichier qu'il
 
 Nous allons d'abord en faire une copie de sauvegarde:
 
-```shell
-cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
-```
+    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
 
-```shell
-vim /etc/ssh/sshd_config
-```
+    vim /etc/ssh/sshd_config
 
 Nous n'allons autoriser que la connexion d'un **user** d'administration (pas de connexion de **root** par exemple), activer l'**authentification par clefs**, et supprimer l'authentification par **login/mot de passe** (en mode ssh). Vous pourrez toujours vous connecter avec le couple login/mot de passe si vous avez un accès physique à votre serveur.
 
 Nous garderons le port standard d'écoute (rien à changer dans le fichier), mais j'ai ajouté une note sur le changement de port (suggéré par Laurent). Je ne suis pas convaincu que le changement de port puisse diminuer la surface d'attaque du serveur, mais pourquoi pas, c'est un changement mineur:
 
-```shell
-Port 22
-```
+    Port 22
 
 Nous interdisons la connexion par **root**:
 
-```shell
-PermitRootLogin no
-```
+    PermitRootLogin no
 
 Activation de l'authentification par clef (rien à changer dans le fichier):
 
-```shell
-PubkeyAuthentication yes
-```
+    PubkeyAuthentication yes
 
 Nous ajoutons une liste d'utilisateurs autorisés à se connecter.
 
-```shell
-AllowUsers ericadmin
-```
+    AllowUsers ericadmin
 
 A la place de **ericadmin** mettez bien sûr le nom de l'utilisateur que vous avez entré pendant la phase d'installation.
 
 Nous pouvons limiter le nombre de tentatives de connexion:
 
-```shell
-MaxAuthTries 1
-```
+    MaxAuthTries 1
 
 Interdiction de la connexion par couple login/mot de passe:
 
-```shell
-PasswordAuthentication no
-```
+    PasswordAuthentication no
 
 Désactivation de PAM
 
-```shell
-UsePAM no
-```
+    UsePAM no
 
 Sauvegarde du fichier de configuration. (commande escape, suivie de ZZ pour vim)
 
 Redémarrage du service **ssh**
 
-```shell
-systemctl restart sshd
-```
+    systemctl restart sshd
 
 ### Test de connexion:
 
 Sur votre ordinateur principal, dans un terminal, tapez:
 
-```shell
-ssh ericadmin@192.168.111.23
-```
+    ssh ericadmin@192.168.111.23
 
 Vous devez être connectés (logués) sur le serveur.
 
 Essayez avec l'utilisateur root:
 
-```shell
-ssh root@192.168.111.23
-```
+    ssh root@192.168.111.23
 
 Cela doit échouer.
 
-```shell
-eric@aldebaran:~$ ssh 'ericadmin@192.168.111.23'
-Last login: Sun Dec 17 16:37:40 2017 from 192.168.111.150
-ericadmin@atom:~$
-```
+    eric@aldebaran:~$ ssh 'ericadmin@192.168.111.23'
+    Last login: Sun Dec 17 16:37:40 2017 from 192.168.111.150
+    ericadmin@atom:~$
 
 Voilà pour la première phase.
 
@@ -249,22 +203,17 @@ Il est possible de changer le port d'écoute de **SSH** en changeant celui-ci da
 
 Faites la modification suivante:
 
-```shell
-vim /etc/ssh/sshd_config
+    vim /etc/ssh/sshd_config
+
+    Port 2222
 
-Port 2222
-```
 Et relancez sshd:
 
-``shell
-service sshd restart
-```
+    service sshd restart
 
 Pour se connecter, utilsez la commande suivante:
 
-```shell
-ssh -p 2222 ericadmin@192.168.111.23
-```
+    ssh -p 2222 ericadmin@192.168.111.23
 
 # Deuxième phase
 
@@ -293,60 +242,50 @@ Pour obtenir de l'aide à l'utilisation de cet utilitaire, tapez: **pwgen --help
 
 
 
-```shell
-eric@aldebaran:~$ pwgen
-oow1Osho teM3chai Aim5shee Sheme1yo aiR6aem1 Vooxeiv0 Iabeenu1 kae7Xie5
-oacei4aV Ohb8ceib zo0shu6F Dob2chie Roo5eeLa fee5Nooh Phi0suim OMeigh2w
-nah2Ool5 Saix6lie EeNaem5u ooVoh3ki IN5aeF9p CuHu8Aib vaim2Jia chah0Ier
-ShieC6ze Teex4tie mei6ou7I Ath6aiFe uw4quoHa lad8Quee ohQuai9Y Sho5Eem6
-aoCaol3W ooGah9th bix6Aic9 thee1Coo lie0ahTe eiz0iiSh cieYu8Ie Ealu3chi
-vaeYee6c ahje9aeJ Sheenee7 eesh1Iez Odaa6kah aico6Jah aphahP4U aYePh1ev
-phohNie8 Chuut3ie eeb9ieDa ohp9AhGi efae5ooV Shiere5c ahV8riek Seegohv1
-Eetohy1a Lievoh0k jox3uf6K chai3Woo iecoh0Iu ieGh9tuz UMeex2ah Eathaur8
-Ood2oeho paeSah0p jaihoo1U eemoi9Ee ile1So4z OongeiN6 aaY9iuch ew3Iemoo
-Iech0Eey OoMie0ah OhBei1ae Ohsh4aik jah0faiT ioW7oz6t yee1Uphu ies4eeNa
-pooP8eeg iePoh4ya fooL3uqu ieGiej1X Ein7eifu ool7Olae eub5ooSe eyo8EiNu
-ach9ohWo Foog9Oev aej9geiH Thahg6Di eegei4Ai eN7quu3b waiK2ieg foThe7zi
-fu2Phoug iYaeg4if iLu6eeFi Aeshoo0i uxoGh6no id1TeRei diob7Pha vokuuN7h
-Chokei8J Iemee8ah eingei0E ubieh2Ch daiyu3EB QueiQu6H Jib0uwee wi9Xoodu
-eeL3osh2 Eo3Ae1ch bieWui2a ro6chiCo engu0ooF Eebeu2jo ee7Eey8t EiSeen5i
-ohNgai6i Iutaez4a xah1yeeG eGhi5Ouz vaiYu6ee fae0AeP5 jee0Ib2I OS3xuwae
-Eefohp1u eegiK6ae ohyuom7V Eij8eeNi Ou0ec7ye Eethoh4e eeHi2ugh ichoLae3
-UT8oopoo oox6Ohx9 ohbaL2hu oht9kaiR Ieho8Ou1 Ten6saet cae7Iexi daDuas9e
-ShiexaT7 Lei6etii ea4aoH8y ja8Zai8g phaeG6Hi sheNg8ee Oow5phae aa7gohPi
-nahS8Eeg ba6Roh9j ooRo6epo pheNoam1 johF7ii9 vuZ4Latu xai5og6H aeS8hu2I
-eric@aldebaran:~$
-```
+    eric@aldebaran:~$ pwgen
+    oow1Osho teM3chai Aim5shee Sheme1yo aiR6aem1 Vooxeiv0 Iabeenu1 kae7Xie5
+    oacei4aV Ohb8ceib zo0shu6F Dob2chie Roo5eeLa fee5Nooh Phi0suim OMeigh2w
+    nah2Ool5 Saix6lie EeNaem5u ooVoh3ki IN5aeF9p CuHu8Aib vaim2Jia chah0Ier
+    ShieC6ze Teex4tie mei6ou7I Ath6aiFe uw4quoHa lad8Quee ohQuai9Y Sho5Eem6
+    aoCaol3W ooGah9th bix6Aic9 thee1Coo lie0ahTe eiz0iiSh cieYu8Ie Ealu3chi
+    vaeYee6c ahje9aeJ Sheenee7 eesh1Iez Odaa6kah aico6Jah aphahP4U aYePh1ev
+    phohNie8 Chuut3ie eeb9ieDa ohp9AhGi efae5ooV Shiere5c ahV8riek Seegohv1
+    Eetohy1a Lievoh0k jox3uf6K chai3Woo iecoh0Iu ieGh9tuz UMeex2ah Eathaur8
+    Ood2oeho paeSah0p jaihoo1U eemoi9Ee ile1So4z OongeiN6 aaY9iuch ew3Iemoo
+    Iech0Eey OoMie0ah OhBei1ae Ohsh4aik jah0faiT ioW7oz6t yee1Uphu ies4eeNa
+    pooP8eeg iePoh4ya fooL3uqu ieGiej1X Ein7eifu ool7Olae eub5ooSe eyo8EiNu
+    ach9ohWo Foog9Oev aej9geiH Thahg6Di eegei4Ai eN7quu3b waiK2ieg foThe7zi
+    fu2Phoug iYaeg4if iLu6eeFi Aeshoo0i uxoGh6no id1TeRei diob7Pha vokuuN7h
+    Chokei8J Iemee8ah eingei0E ubieh2Ch daiyu3EB QueiQu6H Jib0uwee wi9Xoodu
+    eeL3osh2 Eo3Ae1ch bieWui2a ro6chiCo engu0ooF Eebeu2jo ee7Eey8t EiSeen5i
+    ohNgai6i Iutaez4a xah1yeeG eGhi5Ouz vaiYu6ee fae0AeP5 jee0Ib2I OS3xuwae
+    Eefohp1u eegiK6ae ohyuom7V Eij8eeNi Ou0ec7ye Eethoh4e eeHi2ugh ichoLae3
+    UT8oopoo oox6Ohx9 ohbaL2hu oht9kaiR Ieho8Ou1 Ten6saet cae7Iexi daDuas9e
+    ShiexaT7 Lei6etii ea4aoH8y ja8Zai8g phaeG6Hi sheNg8ee Oow5phae aa7gohPi
+    nahS8Eeg ba6Roh9j ooRo6epo pheNoam1 johF7ii9 vuZ4Latu xai5og6H aeS8hu2I
+    eric@aldebaran:~$
 
 Vous pouvez prendre le mot de passe que vous voulez dans le tableau généré.
 Pour un seul mot de passe:
 
-```shell
-eric@aldebaran:~$ pwgen -1
-Eerai4Sh
-```
+    eric@aldebaran:~$ pwgen -1
+    Eerai4Sh
 
 Pour un mot de passe mieux sécurisé:
 
-```shell
-eric@aldebaran:~$ pwgen -1 -s
-tx2CqGyf
-```
+    eric@aldebaran:~$ pwgen -1 -s
+    tx2CqGyf
 
 Encore plus sécurisé avec l'option -y:
 
-```shell
-eric@aldebaran:~$ pwgen -1 -s -y
-a+01K!U~
-```
+    eric@aldebaran:~$ pwgen -1 -s -y
+    a+01K!U~
 
 Utilisation de **makepasswd**:
 
 Tapez: **makepasswd --help** pour de l'aide à l'utilisation des paramètres.
 
-```shell
-makepasswd --count 5 --minchars 10
-```
+    makepasswd --count 5 --minchars 10
 
 ### Sécurisation du mot de passe super-utilisateur (root)
 
@@ -363,16 +302,12 @@ Sous le user “root”, tapez: **passwd** pour changer le mot de passe root.
 
 La commande **hostname** nous indiquera le nom “court” de notre machine, et la commande **hostname -f** sa version longue avec le nom de domaine.
 
-```shell
-root@atom:/home/ericadmin# hostname
-atom
-root@atom:/home/ericadmin#
-```
-
-```shell
-root@atom:/home/ericadmin# hostname -f
-atom.yojik.net
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# hostname
+    atom
+    root@atom:/home/ericadmin#
+
+    root@atom:/home/ericadmin# hostname -f
+    atom.yojik.net
+    root@atom:/home/ericadmin#
 
 Le résultat est bon.

+ 123 - 145
docs/3-trois.md

@@ -18,19 +18,17 @@ La configuration se fait dans le fichier: **/etc/network/interfaces**
 
 Nous avons ceci:
 
-```shell
-source /etc/network/interfaces.d/*
+    source /etc/network/interfaces.d/*
 
-# The loopback network interface
-auto lo
-iface lo inet loopback
+    # The loopback network interface
+    auto lo
+    iface lo inet loopback
 
-# The primary network interface
-allow-hotplug enp4s0
-iface enp4s0 inet dhcp
-# This is an autoconfigured IPv6 interface
-iface enp4s0 inet6 auto
-```
+    # The primary network interface
+    allow-hotplug enp4s0
+    iface enp4s0 inet dhcp
+    # This is an autoconfigured IPv6 interface
+    iface enp4s0 inet6 auto
 
 Vous noterez que le nom des interfaces a changé ...
 
@@ -38,103 +36,93 @@ Modification de l'interface réseau IPV4:
 
 Les lignes concernées sont:
 
-```shell
-# The primary network interface
-allow-hotplug enp4s0
-iface enp4s0 inet dhcp
-```
+    # The primary network interface
+    allow-hotplug enp4s0
+    iface enp4s0 inet dhcp
 
 Modifiez ces lignes pour obtenir:
 
-```shell
-# The primary network interface
-allow-hotplug enp4s0
-# iface enp4s0 inet dhcp (ligne à commenter)
-# lignes à ajouter
-iface enp4s0 inet static
-# IP address
-    address 192.168.111.160
-# network address
-    network 192.168.111.0
-# subnet mask
-    netmask 255.255.255.0
-# broadcast address
-    broadcast 192.168.111.255
-# default gateway
-    gateway 192.168.111.254
-# name server
-    dns-nameservers 8.8.8.8 8.8.4.4
-```
+    # The primary network interface
+    allow-hotplug enp4s0
+    # iface enp4s0 inet dhcp (ligne à commenter)
+    # lignes à ajouter
+    iface enp4s0 inet static
+    # IP address
+        address 192.168.111.160
+    # network address
+        network 192.168.111.0
+    # subnet mask
+        netmask 255.255.255.0
+    # broadcast address
+        broadcast 192.168.111.255
+    # default gateway
+        gateway 192.168.111.254
+    # name server
+        dns-nameservers 8.8.8.8 8.8.4.4
 
 Explications:
 
-* enp4s0: c'est le nom donné par Debian à mon interface réseau
-* l'adresse IP est l'adresse que j'ai choisie dans mon réseau local pour mon serveur
-* nous avons ensuite l'adresse réseau
-* puis le masque
-* l'adresse de broadcast
-* et l'adresse de sortie de notre réseau (en fait l'adresse est fixée par notre routeur: la mienne est: 254)
-* les serveurs de nom: nous allons mettre un serveur de nom **provisoire** avant d'installer notre propre serveur de noms. J'ai pris ici les serveurs de Google.
+*   enp4s0: c'est le nom donné par Debian à mon interface réseau
+*   l'adresse IP est l'adresse que j'ai choisie dans mon réseau local pour mon serveur
+*   nous avons ensuite l'adresse réseau
+*   puis le masque
+*   l'adresse de broadcast
+*   et l'adresse de sortie de notre réseau (en fait l'adresse est fixée par notre routeur: la mienne est: 254)
+*   les serveurs de nom: nous allons mettre un serveur de nom **provisoire** avant d'installer notre propre serveur de noms. J'ai pris ici les serveurs de Google.
 
 Sauvegarde du fichier et redémarrage du serveur.
 
 Vous noterez que la connexion par **ssh** échoue, car l'empreinte du serveur a changé.
 
-```shell
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
-Someone could be eavesdropping on you right now (man-in-the-middle attack)!
-It is also possible that a host key has just been changed.
-The fingerprint for the ECDSA key sent by the remote host is
-SHA256:w0HKVAyxVFC2t50O6hte6PioCIAjcwxus7Mm8/Q+NBo.
-Please contact your system administrator.
-Add correct host key in /home/eric/.ssh/known_hosts to get rid of this message.
-Offending ECDSA key in /home/eric/.ssh/known_hosts:14
-  remove with:
-  ssh-keygen -f "/home/eric/.ssh/known_hosts" -R atom
-ECDSA host key for atom has changed and you have requested strict checking.
-Host key verification failed.
-```
+    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
+    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
+    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
+    It is also possible that a host key has just been changed.
+    The fingerprint for the ECDSA key sent by the remote host is
+    SHA256:w0HKVAyxVFC2t50O6hte6PioCIAjcwxus7Mm8/Q+NBo.
+    Please contact your system administrator.
+    Add correct host key in /home/eric/.ssh/known_hosts to get rid of this message.
+    Offending ECDSA key in /home/eric/.ssh/known_hosts:14
+      remove with:
+      ssh-keygen -f "/home/eric/.ssh/known_hosts" -R atom
+    ECDSA host key for atom has changed and you have requested strict checking.
+    Host key verification failed.
 
 Suivez les instructions données par le message de **ssh** et reconnectez-vous.
 
-```shell
-eric@aldebaran:~$ ssh ericadmin@atom
-The authenticity of host 'atom (192.168.111.160)' can't be established.
-ECDSA key fingerprint is SHA256:w0HKVAyxVFC2t50O6hte6PioCIAjcwxus7Mm8/Q+NBo.
-Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added 'atom,192.168.111.160' (ECDSA) to the list of known hosts.
-Last login: Mon Dec 25 10:57:50 2017 from 192.168.111.150
-ericadmin@atom:~$
-```
+    eric@aldebaran:~$ ssh ericadmin@atom
+    The authenticity of host 'atom (192.168.111.160)' can't be established.
+    ECDSA key fingerprint is SHA256:w0HKVAyxVFC2t50O6hte6PioCIAjcwxus7Mm8/Q+NBo.
+    Are you sure you want to continue connecting (yes/no)? yes
+    Warning: Permanently added 'atom,192.168.111.160' (ECDSA) to the list of known hosts.
+    Last login: Mon Dec 25 10:57:50 2017 from 192.168.111.150
+    ericadmin@atom:~$
 
 Test de l'adresse IPV4 (mode super-utilisateur)
 
-```shell
-root@atom:/home/ericadmin# ifconfig
-enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
-        inet 192.168.111.160  netmask 255.255.255.0  broadcast 192.168.111.255
-        inet6 2a01:e0a:54:c220:223:54ff:fec6:a07  prefixlen 64  scopeid 0x0<global>
-        inet6 fe80::223:54ff:fec6:a07  prefixlen 64  scopeid 0x20<link>
-        ether 00:23:54:c6:0a:07  txqueuelen 1000  (Ethernet)
-        RX packets 1666  bytes 134780 (131.6 KiB)
-        RX errors 0  dropped 2  overruns 0  frame 0
-        TX packets 432  bytes 39182 (38.2 KiB)
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
-
-lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
-        inet 127.0.0.1  netmask 255.0.0.0
-        inet6 ::1  prefixlen 128  scopeid 0x10<host>
-        loop  txqueuelen 1  (Boucle locale)
-        RX packets 0  bytes 0 (0.0 B)
-        RX errors 0  dropped 0  overruns 0  frame 0
-        TX packets 0  bytes 0 (0.0 B)
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
-
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# ifconfig
+    enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
+            inet 192.168.111.160  netmask 255.255.255.0  broadcast 192.168.111.255
+            inet6 2a01:e0a:54:c220:223:54ff:fec6:a07  prefixlen 64  scopeid 0x0<global>
+            inet6 fe80::223:54ff:fec6:a07  prefixlen 64  scopeid 0x20<link>
+            ether 00:23:54:c6:0a:07  txqueuelen 1000  (Ethernet)
+            RX packets 1666  bytes 134780 (131.6 KiB)
+            RX errors 0  dropped 2  overruns 0  frame 0
+            TX packets 432  bytes 39182 (38.2 KiB)
+            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
+
+    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
+            inet 127.0.0.1  netmask 255.0.0.0
+            inet6 ::1  prefixlen 128  scopeid 0x10<host>
+            loop  txqueuelen 1  (Boucle locale)
+            RX packets 0  bytes 0 (0.0 B)
+            RX errors 0  dropped 0  overruns 0  frame 0
+            TX packets 0  bytes 0 (0.0 B)
+            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
+
+    root@atom:/home/ericadmin#
 
 Mon adresse IPV4 est la bonne: **192.168.111.160**
 
@@ -151,34 +139,30 @@ Nous allons ajouter une option qui permet d'augmenter la protection de la vie pr
 > Note: nous devrons changer cette configuration ensuite car il faut que l'adresse unique renvoyée par le serveur DNS soit la même que l'adresse d'émission ...
 > L'adresse d'émission change avec le paramètre **privext 2** et cette adresse ne correspond pas avec celle renvoyée par le serveur DNS. Il nous faudra employer une adresse statique, et unique pour notre serveur (en IPV4 et IPV6.)
 
-```shell
-#This is an autoconfigured IPv6 interface
-iface enp2s0 inet6 auto
-        privext 2
-```
+    #This is an autoconfigured IPv6 interface
+    iface enp2s0 inet6 auto
+            privext 2
 
 Le résultat est le suivant:
 
-```shell
-enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
-        inet 192.168.111.240  netmask 255.255.255.0  broadcast 192.168.111.255
-        inet6 2a01:e0a:54:c220:e128:ec57:4b1a:b078  prefixlen 64  scopeid 0x0<global>
-        inet6 fe80::3aea:a7ff:fea6:cf93  prefixlen 64  scopeid 0x20<link>
-        inet6 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93  prefixlen 64  scopeid 0x0<global>
-        ether 38:ea:a7:a6:cf:93  txqueuelen 1000  (Ethernet)
-        RX packets 7753  bytes 551016 (538.1 KiB)
-        RX errors 0  dropped 0  overruns 0  frame 0
-        TX packets 1579  bytes 152907 (149.3 KiB)
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
-        device interrupt 18
-```
+    enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
+            inet 192.168.111.240  netmask 255.255.255.0  broadcast 192.168.111.255
+            inet6 2a01:e0a:54:c220:e128:ec57:4b1a:b078  prefixlen 64  scopeid 0x0<global>
+            inet6 fe80::3aea:a7ff:fea6:cf93  prefixlen 64  scopeid 0x20<link>
+            inet6 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93  prefixlen 64  scopeid 0x0<global>
+            ether 38:ea:a7:a6:cf:93  txqueuelen 1000  (Ethernet)
+            RX packets 7753  bytes 551016 (538.1 KiB)
+            RX errors 0  dropped 0  overruns 0  frame 0
+            TX packets 1579  bytes 152907 (149.3 KiB)
+            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
+            device interrupt 18
 
 Vous noterez la présence de 3 adresses ipv6.
 
-* Une adresse commençant par inet6 fe80:
+*   Une adresse commençant par inet6 fe80:
   Cette adresse n'est pas routée sur le réseau internet. Elle ne sert que pour le réseau local. Elle est marquée: «link».
 
-* 2 autres adresses ipv6 marquées «global»: l'une d'elle est l'adresse basée sur l'adresse mac de la carte réseau, l'autre a été générée par le système.
+*   2 autres adresses ipv6 marquées «global»: l'une d'elle est l'adresse basée sur l'adresse mac de la carte réseau, l'autre a été générée par le système.
 
 Ces 3 adresses sont dans le pool d'adresses attribué par le FAI, et donc, les 64 premiers bits de l'adresse constituent le préfixe ipv6. Le pool d'adresses peu être de 64 bits ou 56 suivant les fournisseurs, ou moins encore.
 
@@ -188,44 +172,38 @@ Je teste la connexion IPV6 à partir de ma machine de bureau.
 
 Première adresse ipv6:
 
-```shell
-eric@aldebaran:~$ ping6 2a01:e0a:54:c220:e128:ec57:4b1a:b078
-PING 2a01:e0a:54:c220:e128:ec57:4b1a:b078(2a01:e0a:54:c220:e128:ec57:4b1a:b078) 56 data bytes
-64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=1 ttl=64 time=0.487 ms
-64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=2 ttl=64 time=0.339 ms
-64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=3 ttl=64 time=0.322 ms
-^C
- 2a01:e0a:54:c220:e128:ec57:4b1a:b078 ping statistics
-3 packets transmitted, 3 received, 0% packet loss, time 2046ms
-rtt min/avg/max/mdev = 0.322/0.382/0.487/0.077 ms
-eric@aldebaran:~$
-```
+    eric@aldebaran:~$ ping6 2a01:e0a:54:c220:e128:ec57:4b1a:b078
+    PING 2a01:e0a:54:c220:e128:ec57:4b1a:b078(2a01:e0a:54:c220:e128:ec57:4b1a:b078) 56 data bytes
+    64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=1 ttl=64 time=0.487 ms
+    64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=2 ttl=64 time=0.339 ms
+    64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=3 ttl=64 time=0.322 ms
+    ^C
+     2a01:e0a:54:c220:e128:ec57:4b1a:b078 ping statistics
+    3 packets transmitted, 3 received, 0% packet loss, time 2046ms
+    rtt min/avg/max/mdev = 0.322/0.382/0.487/0.077 ms
+    eric@aldebaran:~$
 
 2ème adresse ipv6:
 
-```shell
-eric@aldebaran:~$ ping6 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
-PING 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93(2a01:e0a:54:c220:3aea:a7ff:fea6:cf93) 56 data bytes
-64 bytes from 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93: icmp_seq=1 ttl=64 time=0.571 ms
-64 bytes from 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93: icmp_seq=2 ttl=64 time=0.424 ms
-^C
- 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93 ping statistics
-2 packets transmitted, 2 received, 0% packet loss, time 1020ms
-rtt min/avg/max/mdev = 0.424/0.497/0.571/0.076 ms
-```
+    eric@aldebaran:~$ ping6 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
+    PING 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93(2a01:e0a:54:c220:3aea:a7ff:fea6:cf93) 56 data bytes
+    64 bytes from 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93: icmp_seq=1 ttl=64 time=0.571 ms
+    64 bytes from 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93: icmp_seq=2 ttl=64 time=0.424 ms
+    ^C
+     2a01:e0a:54:c220:3aea:a7ff:fea6:cf93 ping statistics
+    2 packets transmitted, 2 received, 0% packet loss, time 1020ms
+    rtt min/avg/max/mdev = 0.424/0.497/0.571/0.076 ms
 
 3ème adresse ipv6:
 
-```shell
-root@aldebaran:/home/eric#  ping6 -I enp4s0 fe80:0:0:0:3aea:a7ff:fea6:cf93
-PING fe80:0:0:0:3aea:a7ff:fea6:cf93(fe80::3aea:a7ff:fea6:cf93) from fe80::1e6f:65ff:fe92:dd1f%enp4s0 enp4s0: 56 data bytes
-64 bytes from fe80::3aea:a7ff:fea6:cf93%enp4s0: icmp_seq=1 ttl=64 time=0.336 ms
-64 bytes from fe80::3aea:a7ff:fea6:cf93%enp4s0: icmp_seq=2 ttl=64 time=0.357 ms
-^C
- fe80:0:0:0:3aea:a7ff:fea6:cf93 ping statistics
-2 packets transmitted, 2 received, 0% packet loss, time 1026ms
-rtt min/avg/max/mdev = 0.336/0.346/0.357/0.021 ms
-```
+    root@aldebaran:/home/eric#  ping6 -I enp4s0 fe80:0:0:0:3aea:a7ff:fea6:cf93
+    PING fe80:0:0:0:3aea:a7ff:fea6:cf93(fe80::3aea:a7ff:fea6:cf93) from fe80::1e6f:65ff:fe92:dd1f%enp4s0 enp4s0: 56 data bytes
+    64 bytes from fe80::3aea:a7ff:fea6:cf93%enp4s0: icmp_seq=1 ttl=64 time=0.336 ms
+    64 bytes from fe80::3aea:a7ff:fea6:cf93%enp4s0: icmp_seq=2 ttl=64 time=0.357 ms
+    ^C
+     fe80:0:0:0:3aea:a7ff:fea6:cf93 ping statistics
+    2 packets transmitted, 2 received, 0% packet loss, time 1026ms
+    rtt min/avg/max/mdev = 0.336/0.346/0.357/0.021 ms
 
 Vous noterez que pour l'adresse «link» commençant par Fe80::, il faut spécifier l'interface réseau. (-i enp4s0 )
 
@@ -236,5 +214,5 @@ Il faut bien sûr tester la connectivité dans les 2 sens: serveur -> autre mach
 
 Quelques liens:
 
-* [Linux France en français](http://www.linux-france.org/~openingault/gulliveripv6/theorie/addr.html#umacast)
-* [Cyberciti IPV6 Howto en anglais](https://www.cyberciti.biz/faq/howto-test-ipv6-network-with-ping6-command/)
+*   [Linux France en français](http://www.linux-france.org/~openingault/gulliveripv6/theorie/addr.html#umacast)
+*   [Cyberciti IPV6 Howto en anglais](https://www.cyberciti.biz/faq/howto-test-ipv6-network-with-ping6-command/)

+ 60 - 70
docs/4-quatre.md

@@ -3,39 +3,37 @@
 
 L'horloge du serveur doit être exacte, et pour cela, nous nous référons à un serveur de temps. Le programme qui se connecte et met à jour l'horloge de notre serveur sera **ntp**.
 
-```shell
-root@atom:/home/ericadmin# apt install ntp
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  libopts25
-Paquets suggérés :
-  ntp-doc
-Les NOUVEAUX paquets suivants seront installés :
-  libopts25 ntp
-0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
-Il est nécessaire de prendre 689 ko dans les archives.
-Après cette opération, 2 035 ko d'espace disque supplémentaires seront utilisés.
-Souhaitez-vous continuer ? [O/n] o
-Réception de:1 http://deb.debian.org/debian stretch/main i386 libopts25 i386 1:5.18.12-3 [71,6 kB]
-Réception de:2 http://deb.debian.org/debian stretch/main i386 ntp i386 1:4.2.8p10+dfsg-3+deb9u1 [617 kB]
-689 ko réceptionnés en 0s (3 368 ko/s)
-Sélection du paquet libopts25:i386 précédemment désélectionné.
-(Lecture de la base de données... 31885 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../libopts25_1%3a5.18.12-3_i386.deb ...
-Dépaquetage de libopts25:i386 (1:5.18.12-3) ...
-Sélection du paquet ntp précédemment désélectionné.
-Préparation du dépaquetage de .../ntp_1%3a4.2.8p10+dfsg-3+deb9u1_i386.deb ...
-Dépaquetage de ntp (1:4.2.8p10+dfsg-3+deb9u1) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u1) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
-Paramétrage de libopts25:i386 (1:5.18.12-3) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de ntp (1:4.2.8p10+dfsg-3+deb9u1) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u1) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
-```
+    root@atom:/home/ericadmin# apt install ntp
+    Lecture des listes de paquets... Fait
+    Construction de l'arbre des dépendances
+    Lecture des informations d'état... Fait
+    The following additional packages will be installed:
+      libopts25
+    Paquets suggérés :
+      ntp-doc
+    Les NOUVEAUX paquets suivants seront installés :
+      libopts25 ntp
+    0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
+    Il est nécessaire de prendre 689 ko dans les archives.
+    Après cette opération, 2 035 ko d'espace disque supplémentaires seront utilisés.
+    Souhaitez-vous continuer ? [O/n] o
+    Réception de:1 http://deb.debian.org/debian stretch/main i386 libopts25 i386 1:5.18.12-3 [71,6 kB]
+    Réception de:2 http://deb.debian.org/debian stretch/main i386 ntp i386 1:4.2.8p10+dfsg-3+deb9u1 [617 kB]
+    689 ko réceptionnés en 0s (3 368 ko/s)
+    Sélection du paquet libopts25:i386 précédemment désélectionné.
+    (Lecture de la base de données... 31885 fichiers et répertoires déjà installés.)
+    Préparation du dépaquetage de .../libopts25_1%3a5.18.12-3_i386.deb ...
+    Dépaquetage de libopts25:i386 (1:5.18.12-3) ...
+    Sélection du paquet ntp précédemment désélectionné.
+    Préparation du dépaquetage de .../ntp_1%3a4.2.8p10+dfsg-3+deb9u1_i386.deb ...
+    Dépaquetage de ntp (1:4.2.8p10+dfsg-3+deb9u1) ...
+    Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u1) ...
+    Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
+    Paramétrage de libopts25:i386 (1:5.18.12-3) ...
+    Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
+    Paramétrage de ntp (1:4.2.8p10+dfsg-3+deb9u1) ...
+    Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u1) ...
+    Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
 
 ### Test du serveur de temps
 
@@ -46,53 +44,45 @@ timedatectl
 
 Voilà le résultat de ces commandes sur mon serveur:
 
-```shell
-root@atom:/home/ericadmin# ntpq -p
-     remote           refid      st t when poll reach   delay   offset  jitter
-==============================================================================
- 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
- 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
- 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
- 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
--dev2.pik.ba     213.251.128.249  2 u   93  128  377   13.413    0.144   0.177
--ks3352891.kimsu 138.96.64.10     2 u  174  256  377   14.022    2.951   0.157
-+www.mindstudios 193.79.237.14    2 u  108  128  377   11.008    0.594   0.134
--gofish.zenvps.c 193.52.184.106   2 u  180  256  377   13.865    0.770   0.094
-*ip139.ip-5-196- 145.238.203.14   2 u    4  128  377   13.264    0.636   0.218
-+leeto.nicolbola 145.238.203.14   2 u   97  128  377   10.257   -0.871   0.312
-
-
-root@atom:/home/ericadmin# timedatectl
-      Local time: lun. 2017-12-25 12:17:33 CET
-  Universal time: lun. 2017-12-25 11:17:33 UTC
-        RTC time: lun. 2017-12-25 11:17:33
-       Time zone: Europe/Paris (CET, +0100)
- Network time on: yes
-NTP synchronized: yes
- RTC in local TZ: no
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# ntpq -p
+         remote           refid      st t when poll reach   delay   offset  jitter
+    ==============================================================================
+     0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
+     1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
+     2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
+     3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.004
+    -dev2.pik.ba     213.251.128.249  2 u   93  128  377   13.413    0.144   0.177
+    -ks3352891.kimsu 138.96.64.10     2 u  174  256  377   14.022    2.951   0.157
+    +www.mindstudios 193.79.237.14    2 u  108  128  377   11.008    0.594   0.134
+    -gofish.zenvps.c 193.52.184.106   2 u  180  256  377   13.865    0.770   0.094
+    *ip139.ip-5-196- 145.238.203.14   2 u    4  128  377   13.264    0.636   0.218
+    +leeto.nicolbola 145.238.203.14   2 u   97  128  377   10.257   -0.871   0.312
+
+
+    root@atom:/home/ericadmin# timedatectl
+          Local time: lun. 2017-12-25 12:17:33 CET
+      Universal time: lun. 2017-12-25 11:17:33 UTC
+            RTC time: lun. 2017-12-25 11:17:33
+           Time zone: Europe/Paris (CET, +0100)
+     Network time on: yes
+    NTP synchronized: yes
+     RTC in local TZ: no
+    root@atom:/home/ericadmin#
 
   Nous pouvons voir les serveurs connectés et l'état de la synchronisation.
 
 Si la dernière commande renvoie: **Network time on: No**, vous pouvez essayer de configurer le service **systemd** de la façon suivante:
 
-```shell
-# vim /etc/systemd/timesyncd.conf
-```
+    # vim /etc/systemd/timesyncd.conf
 
 Et ajoutez la ligne suivante:
 
-```shell
-[Time]
-Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
-```
+    [Time]
+    Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
 
 Sauvez le fichier et testez la configuration de la façon suivante:
 
-```shell
-# timedatectl set-ntp true
-# timedatectl status
-```
+    # timedatectl set-ntp true
+    # timedatectl status
 
 Vous devez retrouver: **Network time on: Yes**

+ 468 - 489
docs/5-cinq.md

@@ -11,38 +11,36 @@ Je vais quand même laisser la doc de configuration de **ufw**, tout en préfér
 
 **Iptables** est installé automatiquement. Nous allons rajouter le paquet **iptables-persistent** pour assurer le lancement automatique de nos règles à l'allumage de la machine.
 
-```shell
-root@atom:/home/ericadmin# apt install iptables-persistent
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  netfilter-persistent
-Les NOUVEAUX paquets suivants seront installés :
-  iptables-persistent netfilter-persistent
-0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
-Il est nécessaire de prendre 19,5 ko dans les archives.
-Après cette opération, 79,9 ko d'espace disque supplémentaires seront utilisés.
-Souhaitez-vous continuer ? [O/n] o
-Réception de:1 http://deb.debian.org/debian stretch/main amd64 netfilter-persistent all 1.0.4+nmu2 [8 792 B]
-Réception de:2 http://deb.debian.org/debian stretch/main amd64 iptables-persistent all 1.0.4+nmu2 [10,7 kB]
-19,5 ko réceptionnés en 0s (198 ko/s)
-Préconfiguration des paquets...
-Sélection du paquet netfilter-persistent précédemment désélectionné.
-(Lecture de la base de données... 36713 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../netfilter-persistent_1.0.4+nmu2_all.deb ...
-Dépaquetage de netfilter-persistent (1.0.4+nmu2) ...
-Sélection du paquet iptables-persistent précédemment désélectionné.
-Préparation du dépaquetage de .../iptables-persistent_1.0.4+nmu2_all.deb ...
-Dépaquetage de iptables-persistent (1.0.4+nmu2) ...
-Paramétrage de netfilter-persistent (1.0.4+nmu2) ...
-Created symlink /etc/systemd/system/multi-user.target.wants/netfilter-persistent.service → /lib/systemd/system/netfilter-persistent.service.
-update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de iptables-persistent (1.0.4+nmu2) ...
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# apt install iptables-persistent
+    Lecture des listes de paquets... Fait
+    Construction de l'arbre des dépendances
+    Lecture des informations d'état... Fait
+    The following additional packages will be installed:
+      netfilter-persistent
+    Les NOUVEAUX paquets suivants seront installés :
+      iptables-persistent netfilter-persistent
+    0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
+    Il est nécessaire de prendre 19,5 ko dans les archives.
+    Après cette opération, 79,9 ko d'espace disque supplémentaires seront utilisés.
+    Souhaitez-vous continuer ? [O/n] o
+    Réception de:1 http://deb.debian.org/debian stretch/main amd64 netfilter-persistent all 1.0.4+nmu2 [8 792 B]
+    Réception de:2 http://deb.debian.org/debian stretch/main amd64 iptables-persistent all 1.0.4+nmu2 [10,7 kB]
+    19,5 ko réceptionnés en 0s (198 ko/s)
+    Préconfiguration des paquets...
+    Sélection du paquet netfilter-persistent précédemment désélectionné.
+    (Lecture de la base de données... 36713 fichiers et répertoires déjà installés.)
+    Préparation du dépaquetage de .../netfilter-persistent_1.0.4+nmu2_all.deb ...
+    Dépaquetage de netfilter-persistent (1.0.4+nmu2) ...
+    Sélection du paquet iptables-persistent précédemment désélectionné.
+    Préparation du dépaquetage de .../iptables-persistent_1.0.4+nmu2_all.deb ...
+    Dépaquetage de iptables-persistent (1.0.4+nmu2) ...
+    Paramétrage de netfilter-persistent (1.0.4+nmu2) ...
+    Created symlink /etc/systemd/system/multi-user.target.wants/netfilter-persistent.service → /lib/systemd/system/netfilter-persistent.service.
+    update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
+    Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
+    Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
+    Paramétrage de iptables-persistent (1.0.4+nmu2) ...
+    root@atom:/home/ericadmin#
 
 Nous obtenons donc 2 fichiers de configuration, /etc/iptables/rules.v4 et /etc/iptables/rules.v6.
 
@@ -50,481 +48,468 @@ En listant ces fichiers, aucune règle n'est encore enregistrée: tout passe, en
 
 Ces fichiers sont mis à jour grâce aux commandes suivantes.
 
-```shell
-iptables-save > /etc/iptables/rules.v4
-ip6tables-save > /etc/iptables/rules.v6
-```
+    iptables-save > /etc/iptables/rules.v4
+    ip6tables-save > /etc/iptables/rules.v6
 
 Les commandes disponibles pour **netfilter-persistent** sont les suivantes:
 
-* systemctl start netfilter-persistent
-* systemctl stop netfilter-persistent
-* systemctl restart netfilter-persistent
-* systemctl stop netfilter-persistent
-* systemctl status netfilter-persistent
+*   systemctl start netfilter-persistent
+*   systemctl stop netfilter-persistent
+*   systemctl restart netfilter-persistent
+*   systemctl stop netfilter-persistent
+*   systemctl status netfilter-persistent
 
 Exemples d'utilisation suivant l'état de **netfilter-persistent**:
 
-```shell
-root@atom:/home/ericadmin# systemctl stop netfilter-persistent
-root@atom:/home/ericadmin# systemctl status netfilter-persistent
-● (**point en rouge**) netfilter-persistent.service - netfilter persistent configuration
-   Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled)
-   Active: failed (Result: exit-code) since Sun 2018-02-11 13:50:22 CET; 13s ago
-  Process: 1629 ExecStop=/usr/sbin/netfilter-persistent stop (code=exited, status=1/FAILURE)
-  Process: 1525 ExecStart=/usr/sbin/netfilter-persistent start (code=exited, status=0/SUCCESS)
- Main PID: 1525 (code=exited, status=0/SUCCESS)
-
-févr. 11 13:42:02 atom systemd[1]: Starting netfilter persistent configuration...
-févr. 11 13:42:02 atom netfilter-persistent[1525]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
-févr. 11 13:42:02 atom netfilter-persistent[1525]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
-févr. 11 13:42:02 atom systemd[1]: Started netfilter persistent configuration.
-févr. 11 13:50:22 atom systemd[1]: Stopping netfilter persistent configuration...
-févr. 11 13:50:22 atom netfilter-persistent[1629]: Automatic flush disabled; use '/usr/sbin/netfilter-persistent flush'
-févr. 11 13:50:22 atom systemd[1]: netfilter-persistent.service: Control process exited, code=exited status=1
-févr. 11 13:50:22 atom systemd[1]: Stopped netfilter persistent configuration.
-févr. 11 13:50:22 atom systemd[1]: netfilter-persistent.service: Unit entered failed state.
-févr. 11 13:50:22 atom systemd[1]: netfilter-persistent.service: Failed with result 'exit-code'.
-root@atom:/home/ericadmin#
-
-root@atom:/home/ericadmin# systemctl start netfilter-persistent
-root@atom:/home/ericadmin# systemctl status netfilter-persistent
-● (**point en vert**) netfilter-persistent.service - netfilter persistent configuration
-   Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled)
-   Active: active (exited) since Sun 2018-02-11 13:51:09 CET; 2s ago
-  Process: 1629 ExecStop=/usr/sbin/netfilter-persistent stop (code=exited, status=1/FAILURE)
-  Process: 1641 ExecStart=/usr/sbin/netfilter-persistent start (code=exited, status=0/SUCCESS)
- Main PID: 1641 (code=exited, status=0/SUCCESS)
-
-févr. 11 13:51:09 atom systemd[1]: Starting netfilter persistent configuration...
-févr. 11 13:51:09 atom netfilter-persistent[1641]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
-févr. 11 13:51:09 atom netfilter-persistent[1641]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
-févr. 11 13:51:09 atom systemd[1]: Started netfilter persistent configuration.
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# systemctl stop netfilter-persistent
+    root@atom:/home/ericadmin# systemctl status netfilter-persistent
+    ● (**point en rouge**) netfilter-persistent.service - netfilter persistent configuration
+       Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled)
+       Active: failed (Result: exit-code) since Sun 2018-02-11 13:50:22 CET; 13s ago
+      Process: 1629 ExecStop=/usr/sbin/netfilter-persistent stop (code=exited, status=1/FAILURE)
+      Process: 1525 ExecStart=/usr/sbin/netfilter-persistent start (code=exited, status=0/SUCCESS)
+     Main PID: 1525 (code=exited, status=0/SUCCESS)
+
+    févr. 11 13:42:02 atom systemd[1]: Starting netfilter persistent configuration...
+    févr. 11 13:42:02 atom netfilter-persistent[1525]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
+    févr. 11 13:42:02 atom netfilter-persistent[1525]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
+    févr. 11 13:42:02 atom systemd[1]: Started netfilter persistent configuration.
+    févr. 11 13:50:22 atom systemd[1]: Stopping netfilter persistent configuration...
+    févr. 11 13:50:22 atom netfilter-persistent[1629]: Automatic flush disabled; use '/usr/sbin/netfilter-persistent flush'
+    févr. 11 13:50:22 atom systemd[1]: netfilter-persistent.service: Control process exited, code=exited status=1
+    févr. 11 13:50:22 atom systemd[1]: Stopped netfilter persistent configuration.
+    févr. 11 13:50:22 atom systemd[1]: netfilter-persistent.service: Unit entered failed state.
+    févr. 11 13:50:22 atom systemd[1]: netfilter-persistent.service: Failed with result 'exit-code'.
+    root@atom:/home/ericadmin#
+
+    root@atom:/home/ericadmin# systemctl start netfilter-persistent
+    root@atom:/home/ericadmin# systemctl status netfilter-persistent
+    ● (**point en vert**) netfilter-persistent.service - netfilter persistent configuration
+       Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled)
+       Active: active (exited) since Sun 2018-02-11 13:51:09 CET; 2s ago
+      Process: 1629 ExecStop=/usr/sbin/netfilter-persistent stop (code=exited, status=1/FAILURE)
+      Process: 1641 ExecStart=/usr/sbin/netfilter-persistent start (code=exited, status=0/SUCCESS)
+     Main PID: 1641 (code=exited, status=0/SUCCESS)
+
+    févr. 11 13:51:09 atom systemd[1]: Starting netfilter persistent configuration...
+    févr. 11 13:51:09 atom netfilter-persistent[1641]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
+    févr. 11 13:51:09 atom netfilter-persistent[1641]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
+    févr. 11 13:51:09 atom systemd[1]: Started netfilter persistent configuration.
+    root@atom:/home/ericadmin#
 
 Pour sauver des règles “entrées à la main”, tapez:
 
-```shell
-root@atom:/home/ericadmin# service netfilter-persistent save
-[....] Saving netfilter rules...run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
-run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
-done.
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# service netfilter-persistent save
+    [....] Saving netfilter rules...run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
+    run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
+    done.
+    root@atom:/home/ericadmin#
 
 ou
 
-```shell
-root@atom:/home/ericadmin# iptables-save > /etc/iptables/rules.v4
-root@atom:/home/ericadmin# ip6tables-save > /etc/iptables/rules.v6
-```
+    root@atom:/home/ericadmin# iptables-save > /etc/iptables/rules.v4
+    root@atom:/home/ericadmin# ip6tables-save > /etc/iptables/rules.v6
 
 ### Configuration des règles iptables
 
 Nous allons les configurer avec un script donné par Nicolargo: [Site de NicoLargo](https://blog.nicolargo.com/2013/06/ma-methode-pour-gerer-les-regles-iptables.html)
 
-```shell
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          PersonalFirewall
-# Required-Start:    $remote_fs $syslog
-# Required-Stop:     $remote_fs $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Personal Firewall
-# Description:
-### END INIT INFO
-
-# programme iptables IPV4 et IPV6
-IPT=/sbin/iptables
-IP6T=/sbin/ip6tables
-
-# Les IPs
-IPMAISON=192.168.111.150
-IP6MAISON=fe80::1e6f:65ff:fe92:dd1f
-
-# fonction qui démarre le firewall
-do_start() {
-
-    # Efface toutes les règles en cours. -F toutes. -X utilisateurs
-    $IPT -t filter -F
-    $IPT -t filter -X
-    $IPT -t nat -F
-    $IPT -t nat -X
-    $IPT -t mangle -F
-    $IPT -t mangle -X
-    #
-    $IP6T -t filter -F
-    $IP6T -t filter -X
-    # Il n'y a pas de NAT en IPV6
-    #$IP6T -t nat -F
-    #$IP6T -t nat -X
-    $IP6T -t mangle -F
-    $IP6T -t mangle -X
-
-    # stratégie (-P) par défaut : bloc tout l'entrant le forward et autorise le sortant
-    $IPT -t filter -P INPUT DROP
-    $IPT -t filter -P FORWARD DROP
-    $IPT -t filter -P OUTPUT ACCEPT
-    #
-    $IP6T -F INPUT
-    $IP6T -F FORWARD
-    $IP6T -X
-
-    # Loopback
-    $IPT -t filter -A INPUT -i lo -j ACCEPT
-    $IPT -t filter -A OUTPUT -o lo -j ACCEPT
-    #
-    $IP6T -t filter -A INPUT -i lo -j ACCEPT
-    $IP6T -t filter -A OUTPUT -o lo -j ACCEPT
-
-    # ICMP
-    $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-    $IPT -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
-
-    # Permettre à une connexion ouverte de recevoir du trafic en entrée
-    $IPT -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT
-    #
-    $IP6T -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT
-    $IP6T -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -j ACCEPT
-    $IP6T -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -j ACCEPT
-    $IP6T -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT
-    $IP6T -A INPUT -j ACCEPT
-    $IP6T -A INPUT -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT
-    $IP6T -P INPUT DROP
-    $IP6T -A FORWARD -m state --state ESTABLISHED -j ACCEPT
-    $IP6T -A FORWARD -p icmpv6 --icmpv6-type echo-request -j ACCEPT
-    $IP6T -A FORWARD -i br0 -j ACCEPT
-    $IP6T -A FORWARD -i br1 -o sit_sixxs -j ACCEPT
-    $IP6T -P FORWARD DROP
-
-    # DNS:53
-    # /!\ Il faut autoriser le DNS AVANT de déclarer des hosts sinon pas de résolution de nom possible
-    $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
-    $IPT -t filter -A INPUT -p udp --dport 53 -j ACCEPT
-
-    # DNS:53
-    $IP6T -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
-    $IP6T -t filter -A INPUT -p udp --dport 53 -j ACCEPT
-
-   # DNS:953
-    # /!\ Il faut autoriser le DNS AVANT de déclarer des hosts sinon pas de résolution de nom possible
-    $IPT -t filter -A INPUT -p tcp --dport 953 -j ACCEPT
-    $IPT -t filter -A INPUT -p udp --dport 953 -j ACCEPT
-    #
-    $IP6T -t filter -A INPUT -p tcp --dport 953 -j ACCEPT
-    $IP6T -t filter -A INPUT -p udp --dport 953 -j ACCEPT
-
-
-    # accepte tout d'une ip en TCP (de la maison)
-    $IPT -t filter -A INPUT -p tcp -s $IPMAISON -j ACCEPT
-    $IP6T -t filter -A INPUT -p tcp -s $IP6MAISON -j ACCEPT
-
-    # ssh
-    $IPT -t filter -A INPUT -p tcp --dport 22  -j ACCEPT
-    $IPT -t filter -A OUTPUT -p tcp --dport 22  -j ACCEPT
-    #
-    $IP6T -t filter -A INPUT -p tcp --dport 22  -j ACCEPT
-    $IP6T -t filter -A OUTPUT -p tcp --dport 22  -j ACCEPT
-
-
-   #NTP out
-    $IPT -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
-    $IP6T -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
-
-
-#    # HTTP + HTTPS Out
-#     $IPT -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
-#     $IPT -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
-
-#     $IP6T -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
-#     $IP6T -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
-
-#     # HTTP + HTTPS In
-#     $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
-#     $IPT -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
-
-#     $IP6T -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
-#     $IP6T -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
-
-
-#    # Mail SMTP:25
-#    $IPT -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
-#    $IPT -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
-
-#    $IP6T -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
-#    $IP6T -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
-
-
-#    # Mail SMTP:587
-#    $IPT -t filter -A INPUT -p tcp --dport 587 -j ACCEPT
-#    $IPT -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
-
-#    $IP6T -t filter -A INPUT -p tcp --dport 597 -j ACCEPT
-#    $IP6T -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
-
-#    # Mail IMAP:143
-#    $IPT -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
-#    $IPT -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
-
-#    $IP6T -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
-#    $IP6T -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
-
-#    # Mail IMAPS:993
-#    $IPT -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
-#    $IPT -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
-#    $IP6T -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
-#    $IP6T -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
-
-#    # Mail 465
-#    $IPT -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
-#    $IPT -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
-
-#    $IP6T -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
-#    $IP6T -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
-
-
-    #
-    echo "firewall started [OK]"
-}
-
-# fonction qui arrête le firewall
-do_stop() {
-
-    # Efface toutes les règles
-    $IPT -t filter -F
-    $IPT -t filter -X
-    $IPT -t nat -F
-    $IPT -t nat -X
-    $IPT -t mangle -F
-    $IPT -t mangle -X
-    #
-    $IP6T -t filter -F
-    $IP6T -t filter -X
-    #$IP6T -t nat -F
-    #$IP6T -t nat -X
-    $IP6T -t mangle -F
-    $IP6T -t mangle -X
-
-    # remet la stratégie
-    $IPT -t filter -P INPUT ACCEPT
-    $IPT -t filter -P OUTPUT ACCEPT
-    $IPT -t filter -P FORWARD ACCEPT
-    #
-    $IP6T -t filter -P INPUT ACCEPT
-    $IP6T -t filter -P OUTPUT ACCEPT
-    $IP6T -t filter -P FORWARD ACCEPT
-
-    #
-    echo "firewall stopped [OK]"
-}
-
-# fonction status firewall
-do_status() {
-
-    # affiche les règles en cours
-    clear
-    echo Status IPV4
-    echo --
-    $IPT -L -n -v
-    echo
-    echo --
-    echo
-    echo status IPV6
-    echo --
-    $IP6T -L -n -v
-    echo
-}
-
-case "$1" in
-    start)
-        do_start
-        # quitte sans erreur
-        exit 0
-    ;;
-
-    stop)
-        do_stop
-        # quitte sans erreur
-        exit 0
-    ;;
-
-    restart)
-        do_stop
-        do_start
-        # quitte sans erreur
-        exit 0
-    ;;
-
-    status)
-        do_status
-        # quitte sans erreurs
-        exit 0
-    ;;
-
-    *)
-        # Si on ne tape ni "start" ni "stop"... on affiche une erreur
-        echo "Usage: /etc/init.d/firewall {start|stop|restart|status}"
-        # quitte le script avec un etat "en erreur"
-        exit 1
-    ;;
-
-esac
-```
+    #! /bin/sh
+    ### BEGIN INIT INFO
+    # Provides:          PersonalFirewall
+    # Required-Start:    $remote_fs $syslog
+    # Required-Stop:     $remote_fs $syslog
+    # Default-Start:     2 3 4 5
+    # Default-Stop:      0 1 6
+    # Short-Description: Personal Firewall
+    # Description:
+    ### END INIT INFO
+
+    # programme iptables IPV4 et IPV6
+    IPT=/sbin/iptables
+    IP6T=/sbin/ip6tables
+
+    # Les IPs
+    IPMAISON=192.168.111.150
+    IP6MAISON=fe80::1e6f:65ff:fe92:dd1f
+
+    # fonction qui démarre le firewall
+    do_start() {
+
+        # Efface toutes les règles en cours. -F toutes. -X utilisateurs
+        $IPT -t filter -F
+        $IPT -t filter -X
+        $IPT -t nat -F
+        $IPT -t nat -X
+        $IPT -t mangle -F
+        $IPT -t mangle -X
+        #
+        $IP6T -t filter -F
+        $IP6T -t filter -X
+        # Il n'y a pas de NAT en IPV6
+        #$IP6T -t nat -F
+        #$IP6T -t nat -X
+        $IP6T -t mangle -F
+        $IP6T -t mangle -X
+
+        # stratégie (-P) par défaut : bloc tout l'entrant le forward et autorise le sortant
+        $IPT -t filter -P INPUT DROP
+        $IPT -t filter -P FORWARD DROP
+        $IPT -t filter -P OUTPUT ACCEPT
+        #
+        $IP6T -F INPUT
+        $IP6T -F FORWARD
+        $IP6T -X
+
+        # Loopback
+        $IPT -t filter -A INPUT -i lo -j ACCEPT
+        $IPT -t filter -A OUTPUT -o lo -j ACCEPT
+        #
+        $IP6T -t filter -A INPUT -i lo -j ACCEPT
+        $IP6T -t filter -A OUTPUT -o lo -j ACCEPT
+
+        # ICMP
+        $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
+        $IPT -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
+
+        # Permettre à une connexion ouverte de recevoir du trafic en entrée
+        $IPT -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT
+        #
+        $IP6T -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT
+        $IP6T -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -j ACCEPT
+        $IP6T -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -j ACCEPT
+        $IP6T -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT
+        $IP6T -A INPUT -j ACCEPT
+        $IP6T -A INPUT -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT
+        $IP6T -P INPUT DROP
+        $IP6T -A FORWARD -m state --state ESTABLISHED -j ACCEPT
+        $IP6T -A FORWARD -p icmpv6 --icmpv6-type echo-request -j ACCEPT
+        $IP6T -A FORWARD -i br0 -j ACCEPT
+        $IP6T -A FORWARD -i br1 -o sit_sixxs -j ACCEPT
+        $IP6T -P FORWARD DROP
+
+        # DNS:53
+        # /!\ Il faut autoriser le DNS AVANT de déclarer des hosts sinon pas de résolution de nom possible
+        $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
+        $IPT -t filter -A INPUT -p udp --dport 53 -j ACCEPT
+
+        # DNS:53
+        $IP6T -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
+        $IP6T -t filter -A INPUT -p udp --dport 53 -j ACCEPT
+
+       # DNS:953
+        # /!\ Il faut autoriser le DNS AVANT de déclarer des hosts sinon pas de résolution de nom possible
+        $IPT -t filter -A INPUT -p tcp --dport 953 -j ACCEPT
+        $IPT -t filter -A INPUT -p udp --dport 953 -j ACCEPT
+        #
+        $IP6T -t filter -A INPUT -p tcp --dport 953 -j ACCEPT
+        $IP6T -t filter -A INPUT -p udp --dport 953 -j ACCEPT
+
+
+        # accepte tout d'une ip en TCP (de la maison)
+        $IPT -t filter -A INPUT -p tcp -s $IPMAISON -j ACCEPT
+        $IP6T -t filter -A INPUT -p tcp -s $IP6MAISON -j ACCEPT
+
+        # ssh
+        $IPT -t filter -A INPUT -p tcp --dport 22  -j ACCEPT
+        $IPT -t filter -A OUTPUT -p tcp --dport 22  -j ACCEPT
+        #
+        $IP6T -t filter -A INPUT -p tcp --dport 22  -j ACCEPT
+        $IP6T -t filter -A OUTPUT -p tcp --dport 22  -j ACCEPT
+
+
+       #NTP out
+        $IPT -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
+        $IP6T -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
+
+
+    #    # HTTP + HTTPS Out
+    #     $IPT -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
+    #     $IPT -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
+
+    #     $IP6T -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
+    #     $IP6T -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
+
+    #     # HTTP + HTTPS In
+    #     $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
+    #     $IPT -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
+
+    #     $IP6T -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
+    #     $IP6T -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
+
+
+    #    # Mail SMTP:25
+    #    $IPT -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
+    #    $IPT -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
+
+    #    $IP6T -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
+    #    $IP6T -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
+
+
+    #    # Mail SMTP:587
+    #    $IPT -t filter -A INPUT -p tcp --dport 587 -j ACCEPT
+    #    $IPT -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
+
+    #    $IP6T -t filter -A INPUT -p tcp --dport 597 -j ACCEPT
+    #    $IP6T -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
+
+    #    # Mail IMAP:143
+    #    $IPT -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
+    #    $IPT -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
+
+    #    $IP6T -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
+    #    $IP6T -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
+
+    #    # Mail IMAPS:993
+    #    $IPT -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
+    #    $IPT -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
+    #    $IP6T -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
+    #    $IP6T -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
+
+    #    # Mail 465
+    #    $IPT -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
+    #    $IPT -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
+
+    #    $IP6T -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
+    #    $IP6T -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
+
+
+        #
+        echo "firewall started [OK]"
+    }
+
+    # fonction qui arrête le firewall
+    do_stop() {
+
+        # Efface toutes les règles
+        $IPT -t filter -F
+        $IPT -t filter -X
+        $IPT -t nat -F
+        $IPT -t nat -X
+        $IPT -t mangle -F
+        $IPT -t mangle -X
+        #
+        $IP6T -t filter -F
+        $IP6T -t filter -X
+        #$IP6T -t nat -F
+        #$IP6T -t nat -X
+        $IP6T -t mangle -F
+        $IP6T -t mangle -X
+
+        # remet la stratégie
+        $IPT -t filter -P INPUT ACCEPT
+        $IPT -t filter -P OUTPUT ACCEPT
+        $IPT -t filter -P FORWARD ACCEPT
+        #
+        $IP6T -t filter -P INPUT ACCEPT
+        $IP6T -t filter -P OUTPUT ACCEPT
+        $IP6T -t filter -P FORWARD ACCEPT
+
+        #
+        echo "firewall stopped [OK]"
+    }
+
+    # fonction status firewall
+    do_status() {
+
+        # affiche les règles en cours
+        clear
+        echo Status IPV4
+        echo --
+        $IPT -L -n -v
+        echo
+        echo --
+        echo
+        echo status IPV6
+        echo --
+        $IP6T -L -n -v
+        echo
+    }
+
+    case "$1" in
+        start)
+            do_start
+            # quitte sans erreur
+            exit 0
+        ;;
+
+        stop)
+            do_stop
+            # quitte sans erreur
+            exit 0
+        ;;
+
+        restart)
+            do_stop
+            do_start
+            # quitte sans erreur
+            exit 0
+        ;;
+
+        status)
+            do_status
+            # quitte sans erreurs
+            exit 0
+        ;;
+
+        *)
+            # Si on ne tape ni "start" ni "stop"... on affiche une erreur
+            echo "Usage: /etc/init.d/firewall {start|stop|restart|status}"
+            # quitte le script avec un etat "en erreur"
+            exit 1
+        ;;
+
+    esac
 
 Explications:
 
-```shell
 Création de 4 chaînes pour faciliter les opérations:
 
-# iptables -N TCP
-# iptables -N UDP
+    # iptables -N TCP
+    # iptables -N UDP
 
-# ip6tables -N TCP
-# ip6tables -N UDP
+    # ip6tables -N TCP
+    # ip6tables -N UDP
 
 On est sur un serveur, pas un routeur, donc, on interdit la règle FORWARD:
 
-# iptables -P FORWARD DROP
+    # iptables -P FORWARD DROP
 
-# ip6tables -P FORWARD DROP
+    # ip6tables -P FORWARD DROP
 
 On autorise tout en sortie:
 
-# iptables -P OUTPUT ACCEPT
+    # iptables -P OUTPUT ACCEPT
 
-# ip6tables -P OUTPUT ACCEPT
+    # ip6tables -P OUTPUT ACCEPT
 
 
 Nous allons accepter les connexions déjà établies:
 
-# iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
+    # iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
 
-# ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
+    # ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
 
 
 En entrée, on commence par interdire tout; on ouvrira les ports suivantles besoins:
 
-# iptables -P INPUT DROP
+    # iptables -P INPUT DROP
 
-# ip6tables -P INPUT DROP
+    # ip6tables -P INPUT DROP
 
 
-Aoristaion des connexions **loopback** (internes):
+Autorisation des connexions **loopback** (internes):
 
-# iptables -A INPUT -i lo -j ACCEPT
+    # iptables -A INPUT -i lo -j ACCEPT
 
-# ip6tables -A INPUT -i lo -j ACCEPT
+    # ip6tables -A INPUT -i lo -j ACCEPT
 
 Nous allons interdire les paquets marqués **INVALID**; il faudra auparavant accepter les paquets **ICMPv6 Neighbor Discovery** qui apparaissent invalides:
 
-#iptables -A INPUT -p 41 -j ACCEPT
+    #iptables -A INPUT -p 41 -j ACCEPT
 
-#ip6tables -A INPUT -p 41 -j ACCEPT
+    #ip6tables -A INPUT -p 41 -j ACCEPT
 
-# iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
+    # iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
 
-# ip6tables -A INPUT -m conntrack --ctstate INVALID -j DROP
+    # ip6tables -A INPUT -m conntrack --ctstate INVALID -j DROP
 
 Pour IPV6, il faut rajouter la règle suivante qui permet de faire passer le protocol de découverte des ordinateurs sur le même réseau:
 
-# ip6tables -A INPUT -s fe80::/10 -p ipv6-icmp -j ACCEPT
+    # ip6tables -A INPUT -s fe80::/10 -p ipv6-icmp -j ACCEPT
 
 L'adresse fe80:: est l'adresse ipv6 valable uniquement sur le réseau local.
 
 On accepte les paquets **ping**:
 
-# iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
+    # iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
 
-# ip6tables -A INPUT -p icmpv6 -m conntrack --ctstate NEW -j ACCEPT
+    # ip6tables -A INPUT -p icmpv6 -m conntrack --ctstate NEW -j ACCEPT
 
 On peut maintenant accepter les nouveaux paquets entrants. Les connexions entrantes doivent commencer avec un paquet **SYNC**. Elles seront rejetées si ce n'est pas le cas:
 
-# iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-# iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
+    # iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
+    # iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
 
-# ip6tables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-# ip6tables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
+    # ip6tables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
+    # ip6tables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
 
 On rejette les paquets du protocole **icmp unreachable**
 
-# iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
+    # iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
 
-# iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
+    # iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
 
-# ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 -m conntrack --ctstate NEW -j ACCEPT
+    # ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 -m conntrack --ctstate NEW -j ACCEPT
 
-# ip6tables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
+    # ip6tables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
 
 
 Pour IPV6, nous pouvons rajouter un filtrage pour le "kernel reverse path filter":
 
-# ip6tables -t raw -A PREROUTING -m rpfilter -j ACCEPT
-# ip6tables -t raw -A PREROUTING -j DROP
+    # ip6tables -t raw -A PREROUTING -m rpfilter -j ACCEPT
+    # ip6tables -t raw -A PREROUTING -j DROP
 
 On accepte les paquets **ssh** sur le port 22 (changez ce port si vous avez configuré vos ports différemment)
 
-# iptables -A TCP -p tcp --dport 22 -j ACCEPT
+    # iptables -A TCP -p tcp --dport 22 -j ACCEPT
 
-# ip6tables -A TCP -p tcp --dport 22 -j ACCEPT
+    # ip6tables -A TCP -p tcp --dport 22 -j ACCEPT
 
 
 Règles pour le DNS et NTP (ports 53 et 41)
 
-# iptables -A INPUT  -p udp -m state --state ESTABLISHED --sport 53 -j ACCEPT
-# iptables -A OUTPUT  -p udp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
-# iptables -A INPUT  -p tcp -m state --state ESTABLISHED --sport 53 -j ACCEPT
-# iptables -A OUTPUT  -p tcp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
+    # iptables -A INPUT  -p udp -m state --state ESTABLISHED --sport 53 -j ACCEPT
+    # iptables -A OUTPUT  -p udp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
+    # iptables -A INPUT  -p tcp -m state --state ESTABLISHED --sport 53 -j ACCEPT
+    # iptables -A OUTPUT  -p tcp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
 
 
-# iptables -A INPUT  -p udp -m state --state ESTABLISHED --sport 123 -j ACCEPT
-# iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED --dport 123 -j ACCEPT
+    # iptables -A INPUT  -p udp -m state --state ESTABLISHED --sport 123 -j ACCEPT
+    # iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED --dport 123 -j ACCEPT
 
 La même chose pour IPV6:
 
-# ip6tables -A INPUT  -p udp -m state --state ESTABLISHED --sport 53 -j ACCEPT
-# ip6tables -A OUTPUT  -p udp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
-# ip6tables -A INPUT  -p tcp -m state --state ESTABLISHED --sport 53 -j ACCEPT
-# ip6tables -A OUTPUT  -p tcp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
+    # ip6tables -A INPUT  -p udp -m state --state ESTABLISHED --sport 53 -j ACCEPT
+    # ip6tables -A OUTPUT  -p udp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
+    # ip6tables -A INPUT  -p tcp -m state --state ESTABLISHED --sport 53 -j ACCEPT
+    # ip6tables -A OUTPUT  -p tcp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
 
 
-# ip6tables -A INPUT  -p udp -m state --state ESTABLISHED --sport 123 -j ACCEPT
-# ip6tables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED --dport 123 -j ACCEPT
+    # ip6tables -A INPUT  -p udp -m state --state ESTABLISHED --sport 123 -j ACCEPT
+    # ip6tables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED --dport 123 -j ACCEPT
 
 Nous pouvons maintenant lister nos règles. Nous allons commencer par IPV4:
 
 Listons les règles actuelles, ensuite ajoutons 2 règles et sauvons celles-ci, puis listons le résultat. Vous pouvez faire de même pour toutes les règles.
 
-```shell
-root@atom:/etc/iptables# cat rules.v4
-# Generated by iptables-save v1.6.0 on Sun Feb 11 14:27:32 2018
-*filter
-:INPUT ACCEPT [491:50774]
-:FORWARD ACCEPT [0:0]
-:OUTPUT ACCEPT [267:23983]
-COMMIT
-# Completed on Sun Feb 11 14:27:32 2018
-
-root@atom:/etc/iptables# iptables -N TCP
-root@atom:/etc/iptables# iptables -N UDP
-
-root@atom:/etc/iptables# service netfilter-persistent save
-[....] Saving netfilter rules...run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
-run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
-done.
-
-root@atom:/etc/iptables# cat rules.v4
-# Generated by iptables-save v1.6.0 on Sun Feb 11 14:28:24 2018
-*filter
-:INPUT ACCEPT [13:888]
-:FORWARD ACCEPT [0:0]
-:OUTPUT ACCEPT [8:944]
-:TCP - [0:0]
-:UDP - [0:0]
-COMMIT
-# Completed on Sun Feb 11 14:28:24 2018
-```
+    root@atom:/etc/iptables# cat rules.v4
+    # Generated by iptables-save v1.6.0 on Sun Feb 11 14:27:32 2018
+    *filter
+    :INPUT ACCEPT [491:50774]
+    :FORWARD ACCEPT [0:0]
+    :OUTPUT ACCEPT [267:23983]
+    COMMIT
+    # Completed on Sun Feb 11 14:27:32 2018
+
+    root@atom:/etc/iptables# iptables -N TCP
+    root@atom:/etc/iptables# iptables -N UDP
+
+    root@atom:/etc/iptables# service netfilter-persistent save
+    [....] Saving netfilter rules...run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
+    run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
+    done.
+
+    root@atom:/etc/iptables# cat rules.v4
+    # Generated by iptables-save v1.6.0 on Sun Feb 11 14:28:24 2018
+    *filter
+    :INPUT ACCEPT [13:888]
+    :FORWARD ACCEPT [0:0]
+    :OUTPUT ACCEPT [8:944]
+    :TCP - [0:0]
+    :UDP - [0:0]
+    COMMIT
+    # Completed on Sun Feb 11 14:28:24 2018
 
 Ne pas oublier de valider la règle d'acceptation des connexions existantes AVANT d'entrer la règle INPUT DROP  sinon, vous perdez toute connexion avec votre serveur :)
 
@@ -534,92 +519,86 @@ Nous obtenons donc les règles suivantes:
 
 Pour IPV4:
 
-```shell
-root@atom:/etc/iptables# cat rules.v4
-# Generated by iptables-save v1.6.0 on Sun Feb 11 15:33:41 2018
-*filter
-:INPUT DROP [0:0]
-:FORWARD DROP [0:0]
-:OUTPUT ACCEPT [105:27592]
-:TCP - [0:0]
-:UDP - [0:0]
--A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
--A INPUT -i lo -j ACCEPT
--A INPUT -m conntrack --ctstate INVALID -j DROP
--A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
--A INPUT -p udp -m conntrack --ctstate NEW -j UDP
--A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
--A INPUT -j REJECT --reject-with icmp-proto-unreachable
--A INPUT -p tcp -j REJECT --reject-with tcp-reset
--A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-COMMIT
-# Completed on Sun Feb 11 15:33:41 2018
-root@atom:/etc/iptables#
-```
+    root@atom:/etc/iptables# cat rules.v4
+    # Generated by iptables-save v1.6.0 on Sun Feb 11 15:33:41 2018
+    *filter
+    :INPUT DROP [0:0]
+    :FORWARD DROP [0:0]
+    :OUTPUT ACCEPT [105:27592]
+    :TCP - [0:0]
+    :UDP - [0:0]
+    -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
+    -A INPUT -i lo -j ACCEPT
+    -A INPUT -m conntrack --ctstate INVALID -j DROP
+    -A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
+    -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
+    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
+    -A INPUT -j REJECT --reject-with icmp-proto-unreachable
+    -A INPUT -p tcp -j REJECT --reject-with tcp-reset
+    -A TCP -p tcp -m tcp --dport 22 -j ACCEPT
+    COMMIT
+    # Completed on Sun Feb 11 15:33:41 2018
+    root@atom:/etc/iptables#
 
 Pour IPV6:
 
-```shell
-root@atom:/etc/iptables# cat rules.v6
-# Generated by ip6tables-save v1.6.0 on Sun Feb 11 15:33:41 2018
-*raw
-:PREROUTING ACCEPT [0:0]
-:OUTPUT ACCEPT [0:0]
--A PREROUTING -m rpfilter -j ACCEPT
--A PREROUTING -j DROP
-COMMIT
-# Completed on Sun Feb 11 15:33:41 2018
-# Generated by ip6tables-save v1.6.0 on Sun Feb 11 15:33:41 2018
-*filter
-:INPUT DROP [1:144]
-:FORWARD DROP [0:0]
-:OUTPUT ACCEPT [0:0]
-:TCP - [0:0]
-:UDP - [0:0]
--A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
--A INPUT -i lo -j ACCEPT
--A INPUT -p ipv6 -j ACCEPT
--A INPUT -m conntrack --ctstate INVALID -j DROP
--A INPUT -p udp -m conntrack --ctstate NEW -j UDP
--A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
--A INPUT -p tcp -j REJECT --reject-with tcp-reset
--A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack --ctstate NEW -j ACCEPT
--A OUTPUT -p ipv6-icmp -j ACCEPT
--A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-COMMIT
-# Completed on Sun Feb 11 15:33:41 2018
-root@atom:/etc/iptables#
-```
+    root@atom:/etc/iptables# cat rules.v6
+    # Generated by ip6tables-save v1.6.0 on Sun Feb 11 15:33:41 2018
+    *raw
+    :PREROUTING ACCEPT [0:0]
+    :OUTPUT ACCEPT [0:0]
+    -A PREROUTING -m rpfilter -j ACCEPT
+    -A PREROUTING -j DROP
+    COMMIT
+    # Completed on Sun Feb 11 15:33:41 2018
+    # Generated by ip6tables-save v1.6.0 on Sun Feb 11 15:33:41 2018
+    *filter
+    :INPUT DROP [1:144]
+    :FORWARD DROP [0:0]
+    :OUTPUT ACCEPT [0:0]
+    :TCP - [0:0]
+    :UDP - [0:0]
+    -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
+    -A INPUT -i lo -j ACCEPT
+    -A INPUT -p ipv6 -j ACCEPT
+    -A INPUT -m conntrack --ctstate INVALID -j DROP
+    -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
+    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
+    -A INPUT -p tcp -j REJECT --reject-with tcp-reset
+    -A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack --ctstate NEW -j ACCEPT
+    -A OUTPUT -p ipv6-icmp -j ACCEPT
+    -A TCP -p tcp -m tcp --dport 22 -j ACCEPT
+    COMMIT
+    # Completed on Sun Feb 11 15:33:41 2018
+    root@atom:/etc/iptables#
 
 ### Test DNS et du serveur de temps (avec iptables actif)
 
-```shell
-root@atom:/home/ericadmin# nslookup www.gnome.org
-Server:		192.168.111.254
-Address:	192.168.111.254#53
-
-Non-authoritative answer:
-www.gnome.org	canonical name = proxy.gnome.org.
-Name:	proxy.gnome.org
-Address: 209.132.180.168
-Name:	proxy.gnome.org
-Address: 209.132.180.180
-
-root@atom:/home/ericadmin# timedatectl status
-      Local time: dim. 2018-04-01 12:26:57 CEST
-  Universal time: dim. 2018-04-01 10:26:57 UTC
-        RTC time: dim. 2018-04-01 10:26:58
-       Time zone: Europe/Paris (CEST, +0200)
- Network time on: yes
-NTP synchronized: yes
- RTC in local TZ: no
-```
+    root@atom:/home/ericadmin# nslookup www.gnome.org
+    Server:		192.168.111.254
+    Address:	192.168.111.254#53
+
+    Non-authoritative answer:
+    www.gnome.org	canonical name = proxy.gnome.org.
+    Name:	proxy.gnome.org
+    Address: 209.132.180.168
+    Name:	proxy.gnome.org
+    Address: 209.132.180.180
+
+    root@atom:/home/ericadmin# timedatectl status
+          Local time: dim. 2018-04-01 12:26:57 CEST
+      Universal time: dim. 2018-04-01 10:26:57 UTC
+            RTC time: dim. 2018-04-01 10:26:58
+           Time zone: Europe/Paris (CEST, +0200)
+     Network time on: yes
+    NTP synchronized: yes
+     RTC in local TZ: no
 
 Ça fonctionne.
 
 Il faut re-tester la connectivité en IPV4 et IPV6
 
-1. Serveur -> extérieur
-2. Extérieur -> serveur
+1.  Serveur -> extérieur
+2.  Extérieur -> serveur
 
 On peut utiliser l'adresse **ipv6.google.com** pour vérifier la connexion IPV6 en dehors du réseau local.

+ 42 - 48
docs/6-six.md

@@ -5,48 +5,46 @@ Fail2ban est un programme qui surveille les logs des services en place et détec
 
 ### Installation
 
-```shell
-root@atom:/home/ericadmin# apt install fail2ban
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  python3-pyinotify python3-systemd whois
-Paquets suggérés :
-  monit python-pyinotify-doc
-Les NOUVEAUX paquets suivants seront installés :
-  fail2ban python3-pyinotify python3-systemd whois
-0 mis à jour, 4 nouvellement installés, 0 à enlever et 0 non mis à jour.
-Il est nécessaire de prendre 423 ko dans les archives.
-Après cette opération, 1 897 ko d'espace disque supplémentaires seront utilisés.
-Souhaitez-vous continuer ? [O/n] o
-Réception de:1 http://deb.debian.org/debian stretch/main i386 fail2ban all 0.9.6-2 [288 kB]
-Réception de:2 http://deb.debian.org/debian stretch/main i386 python3-pyinotify all 0.9.6-1 [26,9 kB]
-Réception de:3 http://deb.debian.org/debian stretch/main i386 python3-systemd i386 233-1 [34,4 kB]
-Réception de:4 http://deb.debian.org/debian stretch/main i386 whois i386 5.2.17~deb9u1 [73,8 kB]
-423 ko réceptionnés en 0s (1 996 ko/s)
-Sélection du paquet fail2ban précédemment désélectionné.
-(Lecture de la base de données... 31956 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../fail2ban_0.9.6-2_all.deb ...
-Dépaquetage de fail2ban (0.9.6-2) ...
-Sélection du paquet python3-pyinotify précédemment désélectionné.
-Préparation du dépaquetage de .../python3-pyinotify_0.9.6-1_all.deb ...
-Dépaquetage de python3-pyinotify (0.9.6-1) ...
-Sélection du paquet python3-systemd précédemment désélectionné.
-Préparation du dépaquetage de .../python3-systemd_233-1_i386.deb ...
-Dépaquetage de python3-systemd (233-1) ...
-Sélection du paquet whois précédemment désélectionné.
-Préparation du dépaquetage de .../whois_5.2.17~deb9u1_i386.deb ...
-Dépaquetage de whois (5.2.17~deb9u1) ...
-Paramétrage de fail2ban (0.9.6-2) ...
-Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → /lib/systemd/system/fail2ban.service.
-Paramétrage de whois (5.2.17~deb9u1) ...
-Paramétrage de python3-systemd (233-1) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de python3-pyinotify (0.9.6-1) ...
-root@atom:/home/ericadmin#
-```
+    root@atom:/home/ericadmin# apt install fail2ban
+    Lecture des listes de paquets... Fait
+    Construction de l'arbre des dépendances
+    Lecture des informations d'état... Fait
+    The following additional packages will be installed:
+      python3-pyinotify python3-systemd whois
+    Paquets suggérés :
+      monit python-pyinotify-doc
+    Les NOUVEAUX paquets suivants seront installés :
+      fail2ban python3-pyinotify python3-systemd whois
+    0 mis à jour, 4 nouvellement installés, 0 à enlever et 0 non mis à jour.
+    Il est nécessaire de prendre 423 ko dans les archives.
+    Après cette opération, 1 897 ko d'espace disque supplémentaires seront utilisés.
+    Souhaitez-vous continuer ? [O/n] o
+    Réception de:1 http://deb.debian.org/debian stretch/main i386 fail2ban all 0.9.6-2 [288 kB]
+    Réception de:2 http://deb.debian.org/debian stretch/main i386 python3-pyinotify all 0.9.6-1 [26,9 kB]
+    Réception de:3 http://deb.debian.org/debian stretch/main i386 python3-systemd i386 233-1 [34,4 kB]
+    Réception de:4 http://deb.debian.org/debian stretch/main i386 whois i386 5.2.17~deb9u1 [73,8 kB]
+    423 ko réceptionnés en 0s (1 996 ko/s)
+    Sélection du paquet fail2ban précédemment désélectionné.
+    (Lecture de la base de données... 31956 fichiers et répertoires déjà installés.)
+    Préparation du dépaquetage de .../fail2ban_0.9.6-2_all.deb ...
+    Dépaquetage de fail2ban (0.9.6-2) ...
+    Sélection du paquet python3-pyinotify précédemment désélectionné.
+    Préparation du dépaquetage de .../python3-pyinotify_0.9.6-1_all.deb ...
+    Dépaquetage de python3-pyinotify (0.9.6-1) ...
+    Sélection du paquet python3-systemd précédemment désélectionné.
+    Préparation du dépaquetage de .../python3-systemd_233-1_i386.deb ...
+    Dépaquetage de python3-systemd (233-1) ...
+    Sélection du paquet whois précédemment désélectionné.
+    Préparation du dépaquetage de .../whois_5.2.17~deb9u1_i386.deb ...
+    Dépaquetage de whois (5.2.17~deb9u1) ...
+    Paramétrage de fail2ban (0.9.6-2) ...
+    Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → /lib/systemd/system/fail2ban.service.
+    Paramétrage de whois (5.2.17~deb9u1) ...
+    Paramétrage de python3-systemd (233-1) ...
+    Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
+    Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
+    Paramétrage de python3-pyinotify (0.9.6-1) ...
+    root@atom:/home/ericadmin#
 
 ### Paramétrage de **fail2ban**
 
@@ -58,9 +56,5 @@ Avec Debian, le fichier à configurer est: /etc/fail2ban/jail.d/defaults-debian.
 
 Par défaut, il contient
 
-```shell
-[sshd]
-enabled = true
-```
-
-**Je laisse la configuration de ufw en suspend ...**
+    [sshd]
+    enabled = true

+ 228 - 251
docs/7-sept.md

@@ -5,191 +5,182 @@ Debian installe par défaut **exim4**. Nous allons le remplacer par postix (que
 
 Pensez à ouvrir les ports **25** (IPV4 et IPV6) du firewall.
 
-```shell
-apt install postfix
-```
+    apt install postfix
 
 On supprime complètement **exim4** (fichiers de configuration):
 
-```shell
-apt remove --purge exim4*
-```
+    apt remove --purge exim4*
 
 On teste l'envoi de messages **entrants et sortants** après avoir chargé les programmes de mail utilitaires (sur le serveur et sur un autre poste):
 
 Chargement des utilitaires sur un poste extérieur.
 Exécutez la même commande sur le poste serveur en cours de configuration.
 
-```shell
-root@adara:~# apt install mailutils
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  guile-2.0-libs libfribidi0 libgc1c2 libgsasl7 libkyotocabinet16v5 libltdl7 libmailutils5 libmariadbclient18 libntlm0 libpython2.7 libpython2.7-minimal
-  libpython2.7-stdlib mailutils-common mysql-common
-Paquets suggérés :
-  mailutils-mh mailutils-doc
-Les NOUVEAUX paquets suivants seront installés :
-  guile-2.0-libs libfribidi0 libgc1c2 libgsasl7 libkyotocabinet16v5 libltdl7 libmailutils5 libmariadbclient18 libntlm0 libpython2.7 libpython2.7-minimal
-  libpython2.7-stdlib mailutils mailutils-common mysql-common
-0 mis à jour, 15 nouvellement installés, 0 à enlever et 0 non mis à jour.
-Il est nécessaire de prendre 9 575 ko dans les archives.
-Après cette opération, 39,0 Mo d'espace disque supplémentaires seront utilisés.
-Souhaitez-vous continuer ? [O/n] o
-Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libgc1c2 amd64 1:7.4.2-8 [208 kB]
-Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libltdl7 amd64 2.4.6-2 [389 kB]
-Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 guile-2.0-libs amd64 2.0.13+1-4 [2 232 kB]
-Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 libfribidi0 amd64 0.19.7-1+b1 [45,7 kB]
-Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 libntlm0 amd64 1.4-8 [20,9 kB]
-Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 libgsasl7 amd64 1.8.0-8+b2 [207 kB]
-Réception de:7 http://debian.mirrors.ovh.net/debian stretch/main amd64 libkyotocabinet16v5 amd64 1.2.76-4.2+b1 [298 kB]
-Réception de:8 http://debian.mirrors.ovh.net/debian stretch/main amd64 mailutils-common all 1:3.1.1-1 [642 kB]
-Réception de:9 http://debian.mirrors.ovh.net/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5 608 B]
-Réception de:10 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmariadbclient18 amd64 10.1.26-0+deb9u1 [779 kB]
-Réception de:11 http://debian.mirrors.ovh.net/debian stretch/main amd64 libpython2.7-minimal amd64 2.7.13-2+deb9u2 [389 kB]
-Réception de:12 http://debian.mirrors.ovh.net/debian stretch/main amd64 libpython2.7-stdlib amd64 2.7.13-2+deb9u2 [1 896 kB]
-Réception de:13 http://debian.mirrors.ovh.net/debian stretch/main amd64 libpython2.7 amd64 2.7.13-2+deb9u2 [1 072 kB]
-Réception de:14 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmailutils5 amd64 1:3.1.1-1 [817 kB]
-Réception de:15 http://debian.mirrors.ovh.net/debian stretch/main amd64 mailutils amd64 1:3.1.1-1 [573 kB]
-9 575 ko réceptionnés en 0s (11,2 Mo/s)
-Sélection du paquet libgc1c2:amd64 précédemment désélectionné.
-(Lecture de la base de données... 22737 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../00-libgc1c2_1%3a7.4.2-8_amd64.deb ...
-Dépaquetage de libgc1c2:amd64 (1:7.4.2-8) ...
-Sélection du paquet libltdl7:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../01-libltdl7_2.4.6-2_amd64.deb ...
-Dépaquetage de libltdl7:amd64 (2.4.6-2) ...
-Sélection du paquet guile-2.0-libs:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../02-guile-2.0-libs_2.0.13+1-4_amd64.deb ...
-Dépaquetage de guile-2.0-libs:amd64 (2.0.13+1-4) ...
-Sélection du paquet libfribidi0:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../03-libfribidi0_0.19.7-1+b1_amd64.deb ...
-Dépaquetage de libfribidi0:amd64 (0.19.7-1+b1) ...
-Sélection du paquet libntlm0:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../04-libntlm0_1.4-8_amd64.deb ...
-Dépaquetage de libntlm0:amd64 (1.4-8) ...
-Sélection du paquet libgsasl7 précédemment désélectionné.
-Préparation du dépaquetage de .../05-libgsasl7_1.8.0-8+b2_amd64.deb ...
-Dépaquetage de libgsasl7 (1.8.0-8+b2) ...
-Sélection du paquet libkyotocabinet16v5:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../06-libkyotocabinet16v5_1.2.76-4.2+b1_amd64.deb ...
-Dépaquetage de libkyotocabinet16v5:amd64 (1.2.76-4.2+b1) ...
-Sélection du paquet mailutils-common précédemment désélectionné.
-Préparation du dépaquetage de .../07-mailutils-common_1%3a3.1.1-1_all.deb ...
-Dépaquetage de mailutils-common (1:3.1.1-1) ...
-Sélection du paquet mysql-common précédemment désélectionné.
-Préparation du dépaquetage de .../08-mysql-common_5.8+1.0.2_all.deb ...
-Dépaquetage de mysql-common (5.8+1.0.2) ...
-Sélection du paquet libmariadbclient18:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../09-libmariadbclient18_10.1.26-0+deb9u1_amd64.deb ...
-Dépaquetage de libmariadbclient18:amd64 (10.1.26-0+deb9u1) ...
-Sélection du paquet libpython2.7-minimal:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../10-libpython2.7-minimal_2.7.13-2+deb9u2_amd64.deb ...
-Dépaquetage de libpython2.7-minimal:amd64 (2.7.13-2+deb9u2) ...
-Sélection du paquet libpython2.7-stdlib:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../11-libpython2.7-stdlib_2.7.13-2+deb9u2_amd64.deb ...
-Dépaquetage de libpython2.7-stdlib:amd64 (2.7.13-2+deb9u2) ...
-Sélection du paquet libpython2.7:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../12-libpython2.7_2.7.13-2+deb9u2_amd64.deb ...
-Dépaquetage de libpython2.7:amd64 (2.7.13-2+deb9u2) ...
-Sélection du paquet libmailutils5:amd64 précédemment désélectionné.
-Préparation du dépaquetage de .../13-libmailutils5_1%3a3.1.1-1_amd64.deb ...
-Dépaquetage de libmailutils5:amd64 (1:3.1.1-1) ...
-Sélection du paquet mailutils précédemment désélectionné.
-Préparation du dépaquetage de .../14-mailutils_1%3a3.1.1-1_amd64.deb ...
-Dépaquetage de mailutils (1:3.1.1-1) ...
-Paramétrage de mysql-common (5.8+1.0.2) ...
-update-alternatives: utilisation de « /etc/mysql/my.cnf.fallback » pour fournir « /etc/mysql/my.cnf » (my.cnf) en mode automatique
-Paramétrage de libgc1c2:amd64 (1:7.4.2-8) ...
-Paramétrage de libmariadbclient18:amd64 (10.1.26-0+deb9u1) ...
-Paramétrage de libntlm0:amd64 (1.4-8) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
-Paramétrage de libltdl7:amd64 (2.4.6-2) ...
-Paramétrage de libfribidi0:amd64 (0.19.7-1+b1) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de libpython2.7-minimal:amd64 (2.7.13-2+deb9u2) ...
-Paramétrage de libkyotocabinet16v5:amd64 (1.2.76-4.2+b1) ...
-Paramétrage de libpython2.7-stdlib:amd64 (2.7.13-2+deb9u2) ...
-Paramétrage de mailutils-common (1:3.1.1-1) ...
-Paramétrage de libgsasl7 (1.8.0-8+b2) ...
-Paramétrage de guile-2.0-libs:amd64 (2.0.13+1-4) ...
-Paramétrage de libpython2.7:amd64 (2.7.13-2+deb9u2) ...
-Paramétrage de libmailutils5:amd64 (1:3.1.1-1) ...
-Paramétrage de mailutils (1:3.1.1-1) ...
-update-alternatives: utilisation de « /usr/bin/frm.mailutils » pour fournir « /usr/bin/frm » (frm) en mode automatique
-update-alternatives: utilisation de « /usr/bin/from.mailutils » pour fournir « /usr/bin/from » (from) en mode automatique
-update-alternatives: utilisation de « /usr/bin/messages.mailutils » pour fournir « /usr/bin/messages » (messages) en mode automatique
-update-alternatives: utilisation de « /usr/bin/movemail.mailutils » pour fournir « /usr/bin/movemail » (movemail) en mode automatique
-update-alternatives: utilisation de « /usr/bin/readmsg.mailutils » pour fournir « /usr/bin/readmsg » (readmsg) en mode automatique
-update-alternatives: utilisation de « /usr/bin/dotlock.mailutils » pour fournir « /usr/bin/dotlock » (dotlock) en mode automatique
-update-alternatives: utilisation de « /usr/bin/mail.mailutils » pour fournir « /usr/bin/mailx » (mailx) en mode automatique
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
-root@adara:~#
-```
-### Test d'envoi d'un utilisateur du serveur à l'autre
-
-*  root -> ericadmin
-
-```
-    root@atom:/etc/fail2ban# mail ericadmin
-    Cc:
-    Subject: Essai 1
-    Essai 1
-    .
-
-    ericadmin@atom:~/bin$ mailx
-    "/var/mail/ericadmin": 1 message 1 nouveau
-    >N   1 root               lun. nov. 26 09:  14/451   Essai 1
-    ? 1
-    Return-Path: <root@atom.yojik.net>
-    X-Original-To: ericadmin@atom.yojik.net
-    Delivered-To: ericadmin@atom.yojik.net
-    Received: by atom.yojik.net (Postfix, from userid 0)
-    	id 3AE0F460033; Mon, 26 Nov 2018 09:26:26 +0100 (CET)
-    To: <ericadmin@atom.yojik.net>
-    Subject: Essai 1
-    X-Mailer: mail (GNU Mailutils 3.1.1)
-    Message-Id: <20181126082626.3AE0F460033@atom.yojik.net>
-    Date: Mon, 26 Nov 2018 09:26:26 +0100 (CET)
-    From: root@atom.yojik.net (root)
-
-    Essai 1
-    .
-    ? q
-    1 message sauvegardé dans /home/ericadmin/mbox
-    0 message conservé dans /var/mail/ericadmin
-```
-
-*  ericadmin -> root
-
-```shell
-    ericadmin@atom:~/bin$ mail root
-    Cc:
-    Subject: Essai 2
-    Essai 2
-    .
-
+    root@atom:~# apt install mailutils
+    Lecture des listes de paquets... Fait
+    Construction de l'arbre des dépendances
+    Lecture des informations d'état... Fait
+    The following additional packages will be installed:
+      guile-2.0-libs libfribidi0 libgc1c2 libgsasl7 libkyotocabinet16v5 libltdl7 libmailutils5 libmariadbclient18 libntlm0 libpython2.7 libpython2.7-minimal
+      libpython2.7-stdlib mailutils-common mysql-common
+    Paquets suggérés :
+      mailutils-mh mailutils-doc
+    Les NOUVEAUX paquets suivants seront installés :
+      guile-2.0-libs libfribidi0 libgc1c2 libgsasl7 libkyotocabinet16v5 libltdl7 libmailutils5 libmariadbclient18 libntlm0 libpython2.7 libpython2.7-minimal
+      libpython2.7-stdlib mailutils mailutils-common mysql-common
+    0 mis à jour, 15 nouvellement installés, 0 à enlever et 0 non mis à jour.
+    Il est nécessaire de prendre 9 575 ko dans les archives.
+    Après cette opération, 39,0 Mo d'espace disque supplémentaires seront utilisés.
+    Souhaitez-vous continuer ? [O/n] o
+    Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libgc1c2 amd64 1:7.4.2-8 [208 kB]
+    Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libltdl7 amd64 2.4.6-2 [389 kB]
+    Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 guile-2.0-libs amd64 2.0.13+1-4 [2 232 kB]
+    Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 libfribidi0 amd64 0.19.7-1+b1 [45,7 kB]
+    Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 libntlm0 amd64 1.4-8 [20,9 kB]
+    Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 libgsasl7 amd64 1.8.0-8+b2 [207 kB]
+    Réception de:7 http://debian.mirrors.ovh.net/debian stretch/main amd64 libkyotocabinet16v5 amd64 1.2.76-4.2+b1 [298 kB]
+    Réception de:8 http://debian.mirrors.ovh.net/debian stretch/main amd64 mailutils-common all 1:3.1.1-1 [642 kB]
+    Réception de:9 http://debian.mirrors.ovh.net/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5 608 B]
+    Réception de:10 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmariadbclient18 amd64 10.1.26-0+deb9u1 [779 kB]
+    Réception de:11 http://debian.mirrors.ovh.net/debian stretch/main amd64 libpython2.7-minimal amd64 2.7.13-2+deb9u2 [389 kB]
+    Réception de:12 http://debian.mirrors.ovh.net/debian stretch/main amd64 libpython2.7-stdlib amd64 2.7.13-2+deb9u2 [1 896 kB]
+    Réception de:13 http://debian.mirrors.ovh.net/debian stretch/main amd64 libpython2.7 amd64 2.7.13-2+deb9u2 [1 072 kB]
+    Réception de:14 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmailutils5 amd64 1:3.1.1-1 [817 kB]
+    Réception de:15 http://debian.mirrors.ovh.net/debian stretch/main amd64 mailutils amd64 1:3.1.1-1 [573 kB]
+    9 575 ko réceptionnés en 0s (11,2 Mo/s)
+    Sélection du paquet libgc1c2:amd64 précédemment désélectionné.
+    (Lecture de la base de données... 22737 fichiers et répertoires déjà installés.)
+    Préparation du dépaquetage de .../00-libgc1c2_1%3a7.4.2-8_amd64.deb ...
+    Dépaquetage de libgc1c2:amd64 (1:7.4.2-8) ...
+    Sélection du paquet libltdl7:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../01-libltdl7_2.4.6-2_amd64.deb ...
+    Dépaquetage de libltdl7:amd64 (2.4.6-2) ...
+    Sélection du paquet guile-2.0-libs:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../02-guile-2.0-libs_2.0.13+1-4_amd64.deb ...
+    Dépaquetage de guile-2.0-libs:amd64 (2.0.13+1-4) ...
+    Sélection du paquet libfribidi0:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../03-libfribidi0_0.19.7-1+b1_amd64.deb ...
+    Dépaquetage de libfribidi0:amd64 (0.19.7-1+b1) ...
+    Sélection du paquet libntlm0:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../04-libntlm0_1.4-8_amd64.deb ...
+    Dépaquetage de libntlm0:amd64 (1.4-8) ...
+    Sélection du paquet libgsasl7 précédemment désélectionné.
+    Préparation du dépaquetage de .../05-libgsasl7_1.8.0-8+b2_amd64.deb ...
+    Dépaquetage de libgsasl7 (1.8.0-8+b2) ...
+    Sélection du paquet libkyotocabinet16v5:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../06-libkyotocabinet16v5_1.2.76-4.2+b1_amd64.deb ...
+    Dépaquetage de libkyotocabinet16v5:amd64 (1.2.76-4.2+b1) ...
+    Sélection du paquet mailutils-common précédemment désélectionné.
+    Préparation du dépaquetage de .../07-mailutils-common_1%3a3.1.1-1_all.deb ...
+    Dépaquetage de mailutils-common (1:3.1.1-1) ...
+    Sélection du paquet mysql-common précédemment désélectionné.
+    Préparation du dépaquetage de .../08-mysql-common_5.8+1.0.2_all.deb ...
+    Dépaquetage de mysql-common (5.8+1.0.2) ...
+    Sélection du paquet libmariadbclient18:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../09-libmariadbclient18_10.1.26-0+deb9u1_amd64.deb ...
+    Dépaquetage de libmariadbclient18:amd64 (10.1.26-0+deb9u1) ...
+    Sélection du paquet libpython2.7-minimal:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../10-libpython2.7-minimal_2.7.13-2+deb9u2_amd64.deb ...
+    Dépaquetage de libpython2.7-minimal:amd64 (2.7.13-2+deb9u2) ...
+    Sélection du paquet libpython2.7-stdlib:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../11-libpython2.7-stdlib_2.7.13-2+deb9u2_amd64.deb ...
+    Dépaquetage de libpython2.7-stdlib:amd64 (2.7.13-2+deb9u2) ...
+    Sélection du paquet libpython2.7:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../12-libpython2.7_2.7.13-2+deb9u2_amd64.deb ...
+    Dépaquetage de libpython2.7:amd64 (2.7.13-2+deb9u2) ...
+    Sélection du paquet libmailutils5:amd64 précédemment désélectionné.
+    Préparation du dépaquetage de .../13-libmailutils5_1%3a3.1.1-1_amd64.deb ...
+    Dépaquetage de libmailutils5:amd64 (1:3.1.1-1) ...
+    Sélection du paquet mailutils précédemment désélectionné.
+    Préparation du dépaquetage de .../14-mailutils_1%3a3.1.1-1_amd64.deb ...
+    Dépaquetage de mailutils (1:3.1.1-1) ...
+    Paramétrage de mysql-common (5.8+1.0.2) ...
+    update-alternatives: utilisation de « /etc/mysql/my.cnf.fallback » pour fournir « /etc/mysql/my.cnf » (my.cnf) en mode automatique
+    Paramétrage de libgc1c2:amd64 (1:7.4.2-8) ...
+    Paramétrage de libmariadbclient18:amd64 (10.1.26-0+deb9u1) ...
+    Paramétrage de libntlm0:amd64 (1.4-8) ...
+    Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
+    Paramétrage de libltdl7:amd64 (2.4.6-2) ...
+    Paramétrage de libfribidi0:amd64 (0.19.7-1+b1) ...
+    Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
+    Paramétrage de libpython2.7-minimal:amd64 (2.7.13-2+deb9u2) ...
+    Paramétrage de libkyotocabinet16v5:amd64 (1.2.76-4.2+b1) ...
+    Paramétrage de libpython2.7-stdlib:amd64 (2.7.13-2+deb9u2) ...
+    Paramétrage de mailutils-common (1:3.1.1-1) ...
+    Paramétrage de libgsasl7 (1.8.0-8+b2) ...
+    Paramétrage de guile-2.0-libs:amd64 (2.0.13+1-4) ...
+    Paramétrage de libpython2.7:amd64 (2.7.13-2+deb9u2) ...
+    Paramétrage de libmailutils5:amd64 (1:3.1.1-1) ...
+    Paramétrage de mailutils (1:3.1.1-1) ...
+    update-alternatives: utilisation de « /usr/bin/frm.mailutils » pour fournir « /usr/bin/frm » (frm) en mode automatique
+    update-alternatives: utilisation de « /usr/bin/from.mailutils » pour fournir « /usr/bin/from » (from) en mode automatique
+    update-alternatives: utilisation de « /usr/bin/messages.mailutils » pour fournir « /usr/bin/messages » (messages) en mode automatique
+    update-alternatives: utilisation de « /usr/bin/movemail.mailutils » pour fournir « /usr/bin/movemail » (movemail) en mode automatique
+    update-alternatives: utilisation de « /usr/bin/readmsg.mailutils » pour fournir « /usr/bin/readmsg » (readmsg) en mode automatique
+    update-alternatives: utilisation de « /usr/bin/dotlock.mailutils » pour fournir « /usr/bin/dotlock » (dotlock) en mode automatique
+    update-alternatives: utilisation de « /usr/bin/mail.mailutils » pour fournir « /usr/bin/mailx » (mailx) en mode automatique
+    Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
+    root@atom:~#
 
-    root@atom:/etc/fail2ban# mailx
-    "/var/mail/root": 1 message 1 nouveau
-    >N   1 Eric Streit        lun. nov. 26 09:  14/456   Essai 2
-    ? 1
-    Return-Path: <ericadmin@atom.yojik.net>
-    X-Original-To: root@atom.yojik.net
-    Delivered-To: root@atom.yojik.net
-    Received: by atom.yojik.net (Postfix, from userid 1000)
-    	id 46220460036; Mon, 26 Nov 2018 09:27:04 +0100 (CET)
-    To: <root@atom.yojik.net>
-    Subject: Essai 2
-    X-Mailer: mail (GNU Mailutils 3.1.1)
-    Message-Id: <20181126082704.46220460036@atom.yojik.net>
-    Date: Mon, 26 Nov 2018 09:27:04 +0100 (CET)
-    From: ericadmin@atom.yojik.net (Eric Streit)
+### Test d'envoi d'un utilisateur du serveur à l'autre
 
-    Essai 2
-    .
-```
+*   root -> ericadmin
+
+        root@atom:/etc/fail2ban# mail ericadmin
+        Cc:
+        Subject: Essai 1
+        Essai 1
+        .
+
+        ericadmin@atom:~/bin$ mailx
+        "/var/mail/ericadmin": 1 message 1 nouveau
+        >N   1 root               lun. nov. 26 09:  14/451   Essai 1
+        ? 1
+        Return-Path: <root@atom.yojik.net>
+        X-Original-To: ericadmin@atom.yojik.net
+        Delivered-To: ericadmin@atom.yojik.net
+        Received: by atom.yojik.net (Postfix, from userid 0)
+        	id 3AE0F460033; Mon, 26 Nov 2018 09:26:26 +0100 (CET)
+        To: <ericadmin@atom.yojik.net>
+        Subject: Essai 1
+        X-Mailer: mail (GNU Mailutils 3.1.1)
+        Message-Id: <20181126082626.3AE0F460033@atom.yojik.net>
+        Date: Mon, 26 Nov 2018 09:26:26 +0100 (CET)
+        From: root@atom.yojik.net (root)
+
+        Essai 1
+        .
+        ? q
+        1 message sauvegardé dans /home/ericadmin/mbox
+        0 message conservé dans /var/mail/ericadmin
+
+*   ericadmin -> root
+
+        ericadmin@atom:~/bin$ mail root
+        Cc:
+        Subject: Essai 2
+        Essai 2
+        .
+
+
+        root@atom:/etc/fail2ban# mailx
+        "/var/mail/root": 1 message 1 nouveau
+        >N   1 Eric Streit        lun. nov. 26 09:  14/456   Essai 2
+        ? 1
+        Return-Path: <ericadmin@atom.yojik.net>
+        X-Original-To: root@atom.yojik.net
+        Delivered-To: root@atom.yojik.net
+        Received: by atom.yojik.net (Postfix, from userid 1000)
+        	id 46220460036; Mon, 26 Nov 2018 09:27:04 +0100 (CET)
+        To: <root@atom.yojik.net>
+        Subject: Essai 2
+        X-Mailer: mail (GNU Mailutils 3.1.1)
+        Message-Id: <20181126082704.46220460036@atom.yojik.net>
+        Date: Mon, 26 Nov 2018 09:27:04 +0100 (CET)
+        From: ericadmin@atom.yojik.net (Eric Streit)
+
+        Essai 2
+        .
 
 L'envoi des messages  entre utilisateurs du serveur serveur marche comme il faut.
 
@@ -205,9 +196,7 @@ et relancez postfix avec:
 
 Envoi d'un message sur mon compte de messagerie en .eu:
 
-```shell
-ericadmin@atom:~$ echo "Et voilà un petit message" | mail -s "test du courrier sortant" ericadmin@yojik.eu
-```
+    ericadmin@atom:~$ echo "Et voilà un petit message" | mail -s "test du courrier sortant" ericadmin@yojik.eu
 
 Le message est bien reçu.
 
@@ -218,37 +207,33 @@ Vérifiez dans le dossier **spam**: comme il n'y a aucune sécurisation du serve
 
 Envoi d'un message à partir du poste extérieur **aldebaran** (n'oubliez pas d'ouvrir le port 25 dans les règles iptables ...):
 
-```shell
-eric@aldebaran:~$ echo "Et voilà un petit message" | mail -s "test du courrier 1" ericadmin@atom.yojik.net
-```
+    eric@aldebaran:~$ echo "Et voilà un petit message" | mail -s "test du courrier 1" ericadmin@atom.yojik.net
 
 Test de réception sur le serveur:
 
-```shell
-ericadmin@atom:~$ mailx
-"/var/mail/ericadmin": 1 message 1 nouveau
->N   1 Eric Streit        dim. nov. 11 13:  16/724   test du courrier 1
-? 1
-Return-Path: <eric@aldebaran.yojik.net>
-X-Original-To: ericadmin@atom.yojik.net
-Delivered-To: ericadmin@atom.yojik.net
-Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:e5c4:aee0:d068:64f6])
-	by atom.yojik.net (Postfix) with ESMTP id 0B3CF12085A
-	for <ericadmin@atom.yojik.net>; Sun, 11 Nov 2018 13:09:08 +0100 (CET)
-Received: by aldebaran.yojik.net (Postfix, from userid 1000)
-	id 40DF310CAC3; Sun, 11 Nov 2018 13:09:07 +0100 (CET)
-Subject: test du courrier 1
-To: <ericadmin@atom.yojik.net>
-X-Mailer: mail (GNU Mailutils 3.1.1)
-Message-Id: <20181111120907.40DF310CAC3@aldebaran.yojik.net>
-Date: Sun, 11 Nov 2018 13:09:07 +0100 (CET)
-From: eric@aldebaran.yojik.net (Eric Streit)
-
-Et voilà un petit message
-? q
-1 message sauvegardé dans /home/ericadmin/mbox
-0 message conservé dans /var/mail/ericadmin
-```
+    ericadmin@atom:~$ mailx
+    "/var/mail/ericadmin": 1 message 1 nouveau
+    >N   1 Eric Streit        dim. nov. 11 13:  16/724   test du courrier 1
+    ? 1
+    Return-Path: <eric@aldebaran.yojik.net>
+    X-Original-To: ericadmin@atom.yojik.net
+    Delivered-To: ericadmin@atom.yojik.net
+    Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:e5c4:aee0:d068:64f6])
+    	by atom.yojik.net (Postfix) with ESMTP id 0B3CF12085A
+    	for <ericadmin@atom.yojik.net>; Sun, 11 Nov 2018 13:09:08 +0100 (CET)
+    Received: by aldebaran.yojik.net (Postfix, from userid 1000)
+    	id 40DF310CAC3; Sun, 11 Nov 2018 13:09:07 +0100 (CET)
+    Subject: test du courrier 1
+    To: <ericadmin@atom.yojik.net>
+    X-Mailer: mail (GNU Mailutils 3.1.1)
+    Message-Id: <20181111120907.40DF310CAC3@aldebaran.yojik.net>
+    Date: Sun, 11 Nov 2018 13:09:07 +0100 (CET)
+    From: eric@aldebaran.yojik.net (Eric Streit)
+
+    Et voilà un petit message
+    ? q
+    1 message sauvegardé dans /home/ericadmin/mbox
+    0 message conservé dans /var/mail/ericadmin
 
 Le message est bien reçu par le serveur de mail de yojik.net. Vous pouvez essayer aussi sur une adresse gmail par exemple.
 
@@ -256,67 +241,59 @@ Le message est bien reçu par le serveur de mail de yojik.net. Vous pouvez essay
 
 Ce fichier sert à rediriger toutes les adresses émail comme **abuse**, **webmaster**, **root** vers un utilisateur **administrateur** de la machine, root puis vers moi **ericadmin**
 
-```shell
-# /etc/aliases
-mailer-daemon: postmaster
-postmaster: root
-nobody: root
-hostmaster: root
-usenet: root
-news: root
-webmaster: root
-www: root
-ftp: root
-abuse: root
-noc: root
-security: root
-root: ericadmin
-```
+    # /etc/aliases
+    mailer-daemon: postmaster
+    postmaster: root
+    nobody: root
+    hostmaster: root
+    usenet: root
+    news: root
+    webmaster: root
+    www: root
+    ftp: root
+    abuse: root
+    noc: root
+    security: root
+    root: ericadmin
 
 Il faut lancer la commande **newaliases** pour générer le fichier.db utile à Postfix et on demande à Postfix de recharger ses fichiers.
 
 
-```shell
-root@adara:~# newaliases
-oot@adara:~# service postfix reload
-root@adara:~#
-```
+    root@atom:~# newaliases
+    oot@atom:~# service postfix reload
+    root@atom:~#
+
 ### Test de l'envoi à root pour vérifier la redirection
 
-```shell
-ericadmin@atom:~/bin$ mail root
-Cc:
-Subject: Essai 5
-Essai 5
-.
-ericadmin@atom:~/bin$ mailx
-"/var/mail/ericadmin": 4 messages 1 nouveau 3 non lus
- U   1 Eric Streit        lun. nov. 26 09:  19/768   test du courrier 1
- U   2 Eric Streit        lun. nov. 26 09:  18/743   test du courrier 4
- U   3 Eric Streit        lun. nov. 26 09:  18/743   test du courrier 4
->N   4 Eric Streit        lun. nov. 26 09:  14/456   Essai 5
-?
-```
+    ericadmin@atom:~/bin$ mail root
+    Cc:
+    Subject: Essai 5
+    Essai 5
+    .
+    ericadmin@atom:~/bin$ mailx
+    "/var/mail/ericadmin": 4 messages 1 nouveau 3 non lus
+     U   1 Eric Streit        lun. nov. 26 09:  19/768   test du courrier 1
+     U   2 Eric Streit        lun. nov. 26 09:  18/743   test du courrier 4
+     U   3 Eric Streit        lun. nov. 26 09:  18/743   test du courrier 4
+    >N   4 Eric Streit        lun. nov. 26 09:  14/456   Essai 5
+    ?
+
 Tout fonctionne: le message a bien été redirigé vers ericadmin comme spécifié dans /etc/aliases.
 
 ## Le fichier /etc/mailname
 
 Il contient le nom du serveur de courrier pour la machine, ici, c'est elle-même:
 
-```shell
-root@aijan:/home/ericadmin# cat /etc/mailname
-aijan.yojik.net
-```
+    root@aijan:/home/ericadmin# cat /etc/mailname
+    aijan.yojik.net
 
 Le serveur de courrier n'autorise que les utilisateurs (users) de la machine, ici, ericadmin et root (ainsi que les alias enregistrés précédemment).
 
-```shell
-ericadmin@aijan:~$ mailx
-"/var/mail/ericadmin": 2 messages 2 nouveaux
->N   1 Eric Streit        dim. mai 20 08:4  17/698   essai d'envoi à root
- N   2 Eric Streit        dim. mai 20 08:5  17/717   un autre essai
-?
-```
+    ericadmin@aijan:~$ mailx
+    "/var/mail/ericadmin": 2 messages 2 nouveaux
+    >N   1 Eric Streit        dim. mai 20 08:4  17/698   essai d'envoi à root
+     N   2 Eric Streit        dim. mai 20 08:5  17/717   un autre essai
+    ?
 
 Pour l'envoi à partir d'un poste extérieur, pensez à utiliser l'adresse mail qui contient le nom complet de votre machine:
 

+ 126 - 146
docs/8-huit.md

@@ -4,30 +4,28 @@
 
 Nous allons installer **bind**.
 
-```shell
-root@aijan:/home/ericadmin# apt install bind9
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  bind9utils libirs141
-etc ...
-
-root@aijan:/home/ericadmin# service bind9 start
-root@aijan:/home/ericadmin# netstat -tlpn
-Connexions Internet actives (seulement serveurs)
-Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
-tcp        0      0 192.168.111.240:53      0.0.0.0:*               LISTEN      13815/named
-tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      13815/named
-tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      594/sshd
-tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      13815/named
-tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      803/master
-tcp6       0      0 :::53                   :::*                    LISTEN      13815/named
-tcp6       0      0 :::22                   :::*                    LISTEN      594/sshd
-tcp6       0      0 ::1:953                 :::*                    LISTEN      13815/named
-tcp6       0      0 :::25                   :::*                    LISTEN      803/master
-root@aijan:/home/ericadmin#
-```
+    root@aijan:/home/ericadmin# apt install bind9
+    Lecture des listes de paquets... Fait
+    Construction de l'arbre des dépendances
+    Lecture des informations d'état... Fait
+    The following additional packages will be installed:
+      bind9utils libirs141
+    etc ...
+
+    root@aijan:/home/ericadmin# service bind9 start
+    root@aijan:/home/ericadmin# netstat -tlpn
+    Connexions Internet actives (seulement serveurs)
+    Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
+    tcp        0      0 192.168.111.240:53      0.0.0.0:*               LISTEN      13815/named
+    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      13815/named
+    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      594/sshd
+    tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      13815/named
+    tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      803/master
+    tcp6       0      0 :::53                   :::*                    LISTEN      13815/named
+    tcp6       0      0 :::22                   :::*                    LISTEN      594/sshd
+    tcp6       0      0 ::1:953                 :::*                    LISTEN      13815/named
+    tcp6       0      0 :::25                   :::*                    LISTEN      803/master
+    root@aijan:/home/ericadmin#
 
 Bien, bind a démarré et écoute sur les ports 53 et 953, en IPV4 et IPV6. Il nous reste à configurer les zones et à ouvrir les ports (firewall). Je vais utiliser comme serveur **dns** secondaire pour la zone **yojik.net** le serveur que j'utilise déjà pour la zone **yojik.eu**.
 
@@ -35,11 +33,11 @@ Nous configurerons le serveur dns local pour qu'il transfère les zones automati
 
 Voilà la structure générale de mes serveurs DNS:
 
-* adara.yojik.eu: serveur DNS primaire pour le domaine yojik.eu
+*   adara.yojik.eu: serveur DNS primaire pour le domaine yojik.eu
 
-* polis.yojik.eu:
-    - serveur DNS secondaire pour le domaine yojik.eu
-    - serveur DNS secondaire pour le domaine yojik.net
+*   polis.yojik.eu:
+    -   serveur DNS secondaire pour le domaine yojik.eu
+    -   serveur DNS secondaire pour le domaine yojik.net
 
 aijan.yojik.net: serveur DNS primaire pour le site yojik.net
 
@@ -51,163 +49,145 @@ Notre zone yojik.net est déclarée dans le fichier **/etc/bind/named.conf.local
 
 Voici son contenu avant modification:
 
-```shell
-//
-// Do any local configuration here
-//
+    //
+    // Do any local configuration here
+    //
 
-// Consider adding the 1918 zones here, if they are not used in your
-// organization
-//include "/etc/bind/zones.rfc1918";
-
-```
+    // Consider adding the 1918 zones here, if they are not used in your
+    // organization
+    //include "/etc/bind/zones.rfc1918";
 
 Contenu après ajout de la zone yojik.net:
 
-```shell
-zone "yojik.net" {
-    type master;
-    file "/etc/bind/db.yojik.net";
-};
+        zone "yojik.net" {
+            type master;
+            file "/etc/bind/db.yojik.net";
+        };
 
-```
 
 Dans tous les tutorials, vous verrez la déclaration des zones inverses: après de nombreux échanges avec des spécialistes, il s'avère que ce n'est pas nécessaire, car mes serveurs DNS ne seront jamais interrogés pour la résolution inverse: pour cela, il faudrait que mon registrar me délègue la gestion de la zone. Je n'ai qu'une adresse IPV4 associée à ce domaine et pas de délégation.
 
 Création du fichier de zone **db.yojik.net** dans le répertoire **/etc/bind**.
 
-```shell
-root@aijan:/etc/bind# vim db.yojik.net
+    root@aijan:/etc/bind# vim db.yojik.net
 
-root@aijan:/etc/bind# cat db.yojik.net
-$TTL 86400
-$ORIGIN yojik.net.
+    root@aijan:/etc/bind# cat db.yojik.net
+    $TTL 86400
+    $ORIGIN yojik.net.
 
-@    IN    SOA  aijan.yojik.net. hostmaster.yojik.net. (
-                2018052001  ; serial à changer à chaque modification
-                7200        ; refresh, 12h
-                3600        ; retry, 1h
-                1209600     ; expire
-                86400 )     ; negative cache, 24h
+    @    IN    SOA  aijan.yojik.net. hostmaster.yojik.net. (
+                    2018052001  ; serial à changer à chaque modification
+                    7200        ; refresh, 12h
+                    3600        ; retry, 1h
+                    1209600     ; expire
+                    86400 )     ; negative cache, 24h
 
 
-; nameservers
-        IN      NS      aijan.yojik.net.
-        IN      NS      polis.yojik.eu.
+    ; nameservers
+            IN      NS      aijan.yojik.net.
+            IN      NS      polis.yojik.eu.
 
 
 
-;mail server
-        IN      MX      10      aijan.yojik.net.
+    ;mail server
+            IN      MX      10      aijan.yojik.net.
 
-; domain hosts
-yojik.net.      IN	    A	    82.64.48.5
-yojik.net.      IN	    AAAA	2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
-aijan           IN	    A	    82.64.48.5
-aijan           IN	    AAAA	2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
-```
+    ; domain hosts
+    yojik.net.      IN	    A	    82.64.48.5
+    yojik.net.      IN	    AAAA	2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
+    aijan           IN	    A	    82.64.48.5
+    aijan           IN	    AAAA	2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
 
 On relance bind et on teste en local:
 
-```shell
-root@aijan:/home/ericadmin# service bind9 restart
-root@aijan:/home/ericadmin# nslookup aijan.yojik.net localhost
-Server:		localhost
-Address:	::1#53
+    root@aijan:/home/ericadmin# service bind9 restart
+    root@aijan:/home/ericadmin# nslookup aijan.yojik.net localhost
+    Server:		localhost
+    Address:	::1#53
 
-Name:	aijan.yojik.net
-Address: 82.64.48.5
+    Name:	aijan.yojik.net
+    Address: 82.64.48.5
 
-root@aijan:/home/ericadmin#
-```
+    root@aijan:/home/ericadmin#
 
 Ça marche!
-Test de notre enregistrement MX (mail) avec **dig**:
 
-```shell
-oot@aijan:/etc/bind# dig @localhost aijan.yojik.net MX
+Test de notre enregistrement MX (mail) avec **dig**:
 
-; <<>> DiG 9.10.3-P4-Debian <<>> @localhost aijan.yojik.net MX
-; (2 servers found)
-;; global options: +cmd
-;; Got answer:
-;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21275
-;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
+    root@aijan:/etc/bind# dig @localhost aijan.yojik.net MX
 
-;; OPT PSEUDOSECTION:
-; EDNS: version: 0, flags:; udp: 4096
-;; QUESTION SECTION:
-;aijan.yojik.net.		IN	MX
+    ; <> DiG 9.10.3-P4-Debian <> @localhost aijan.yojik.net MX
+    ; (2 servers found)
+    ;; global options: +cmd
+    ;; Got answer:
+    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21275
+    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
 
-;; AUTHORITY SECTION:
-yojik.net.		86400	IN	SOA	aijan.yojik.net. hostmaster.yojik.net. 2018052003 7200 3600 1209600 86400
+    ;; OPT PSEUDOSECTION:
+    ; EDNS: version: 0, flags:; udp: 4096
+    ;; QUESTION SECTION:
+    ;aijan.yojik.net.		IN	MX
 
-;; Query time: 0 msec
-;; SERVER: ::1#53(::1)
-;; WHEN: Sun May 20 10:27:17 CEST 2018
-;; MSG SIZE  rcvd: 91
+    ;; AUTHORITY SECTION:
+    yojik.net.		86400	IN	SOA	aijan.yojik.net. hostmaster.yojik.net. 2018052003 7200 3600 1209600 86400
 
-```
+    ;; Query time: 0 msec
+    ;; SERVER: ::1#53(::1)
+    ;; WHEN: Sun May 20 10:27:17 CEST 2018
+    ;; MSG SIZE  rcvd: 91
 
 Il nous reste plusieurs éléments à configurer pour que notre serveur dns soit pris en compte.
 
-1. Configurer notre box pour rediriger les requêtes extérieures DNS sur notre serveur DNS personnel.
-2. Mettre à jour la configuration de nos enregistrements chez notre registrar.
-3. Ajouter notre zone à notre serveur DNS secondaire (polis.yojik.eu) et mise à jour de la clef de connexion.
+1.  Configurer notre box pour rediriger les requêtes extérieures DNS sur notre serveur DNS personnel.
+2.  Mettre à jour la configuration de nos enregistrements chez notre registrar.
+3.  Ajouter notre zone à notre serveur DNS secondaire (polis.yojik.eu) et mise à jour de la clef de connexion.
 
 Fichier /etc/bind/conf.named.local
 
-```shell
-zone    "yojik.eu" {
-        type slave;
-        file    "db.yojik.eu.local";
-        masters  { 91.121.72.10; };
-};
+    zone    "yojik.eu" {
+            type slave;
+            file    "db.yojik.eu.local";
+            masters  { 91.121.72.10; };
+    };
 
-zone    "yojik.net" {
-        type slave;
-        file    "db.yojik.net.local";
-        masters  { 82.64.48.5; };
-};
-```
+    zone    "yojik.net" {
+            type slave;
+            file    "db.yojik.net.local";
+            masters  { 82.64.48.5; };
+    };
 
 ### Configuration des options: fichier /etc/bind/named.conf.options
 
-```shell
-options {
-        directory "/var/cache/bind";
-
-        // If there is a firewall between you and nameservers you want
-        // to talk to, you may need to fix the firewall to allow multiple
-        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
-
-        // If your ISP provided one or more IP addresses for stable
-        // nameservers, you probably want to use them as forwarders.
-        // Uncomment the following block, and insert the addresses replacing
-        // the all-0's placeholder.
-
-        // forwarders {
-        //      0.0.0.0;
-        // };
-
-        //========================================================================
-        // If BIND logs error messages about the root key being expired,
-        // you will need to update your keys.  See https://www.isc.org/bind-keys
-        //========================================================================
-        dnssec-validation auto;
-
-        auth-nxdomain no;    # conform to RFC1035
-        listen-on-v6 { any; };
-        listen-on { any; };
-        allow-update { none; };
-        allow-recursion { 127.0.0.1; ::1; 91.121.72.10;2001:41d0:1:7d0a::1; 37.187.3.182; 2001:41d0:a:3b6::1; };
-        allow-transfer { 37.187.3.182; 2001:41d0:a:3b6::1; };
-        version "BIND";
-
-
-
-};
-```
+    options {
+            directory "/var/cache/bind";
+
+            // If there is a firewall between you and nameservers you want
+            // to talk to, you may need to fix the firewall to allow multiple
+            // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
+
+            // If your ISP provided one or more IP addresses for stable
+            // nameservers, you probably want to use them as forwarders.
+            // Uncomment the following block, and insert the addresses replacing
+            // the all-0's placeholder.
+
+            // forwarders {
+            //      0.0.0.0;
+            // };
+
+            //========================================================================
+            // If BIND logs error messages about the root key being expired,
+            // you will need to update your keys.  See https://www.isc.org/bind-keys
+            //========================================================================
+            dnssec-validation auto;
+
+            auth-nxdomain no;    # conform to RFC1035
+            listen-on-v6 { any; };
+            listen-on { any; };
+            allow-update { none; };
+            allow-recursion { 127.0.0.1; ::1; 91.121.72.10;2001:41d0:1:7d0a::1; 37.187.3.182; 2001:41d0:a:3b6::1; };
+            allow-transfer { 37.187.3.182; 2001:41d0:a:3b6::1; };
+            version "BIND";
+    };
 
 Pensez à vérifier que la clef située dans le fichier: /etc/bind/rndc.key est identique sur votre serveur primaire et secondaire.
 
@@ -217,11 +197,11 @@ Cela étant très dépendant de chaque registrar et de chaque **box**, je vous l
 
 ### Vérification de la config DNS:
 
-Allez sur le site **https://toolbox.googleapps.com/apps/dig/** pour tester votre configuration.
+Allez sur le site [toolbox](https://toolbox.googleapps.com/apps/dig/) pour tester votre configuration.
 
 ### Configuration du reverse DNS
 
-Si vous hébergez votre serveur "chez vous", vous devrez configurer le reverse DNS dans la page d'administration de votre ligne Internet.
+Si vous hébergez votre serveur *chez vous*, vous devrez configurer le reverse DNS dans la page d'administration de votre ligne Internet.
 
 Pour le FAI Free, allez sur la page: "Personnalisez mon reverse DNS", et mettez votre nom de doamine dans le champ adéquat.
 

+ 82 - 96
docs/9-neuf.md

@@ -3,15 +3,13 @@
 
 Nous allons installer un serveur Web: **Apache**. C'est juste celui que je connais le mieux. **Nginx** est une possible alternative très prisée et guère plus compliquée à mettre en oeuvre.
 
-```shell
-root@aijan:/etc/bind# apt install apache2
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
-etc ...
-```
+  root@aijan:/etc/bind# apt install apache2
+  Lecture des listes de paquets... Fait
+  Construction de l'arbre des dépendances
+  Lecture des informations d'état... Fait
+  The following additional packages will be installed:
+    apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
+  etc ...
 
 Test de notre serveur:
 
@@ -23,91 +21,83 @@ Ne pas oublier d'ouvrir les ports du firewall: port 80 et 443 en TCP et UDP.
 
 Lignes à rajouter à firewall.sh:
 
-```shell
-  # HTTP + HTTPS Out
-  $IPT -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
-  $IPT -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
+      # HTTP + HTTPS Out
+      $IPT -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
+      $IPT -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
 
-  $IP6T -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
-  $IP6T -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
+      $IP6T -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
+      $IP6T -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
 
-  # HTTP + HTTPS In
-  $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
-  $IPT -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
+      # HTTP + HTTPS In
+      $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
+      $IPT -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
 
-  $IP6T -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
-  $IP6T -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
-```
+      $IP6T -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
+      $IP6T -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
 
 ### Sauvegarde de notre nouvelle configuration
 
-```shell
-root@aijan:#cd /home/ericadmin/bin/
-root@aijan:/home/ericadmin/bin#./firewall.sh  restart
-root@aijan:/home/ericadmin/bin#service netfilter-persistent save
-```
+    root@aijan:#cd /home/ericadmin/bin/
+    root@aijan:/home/ericadmin/bin#./firewall.sh  restart
+    root@aijan:/home/ericadmin/bin#service netfilter-persistent save
 
 ### Création des hôtes virtuels (virtual hosts)
 
 3 hôtes virtuels à créer:
 
-* yojik.net
-* www.yojik.net
-* yazik.yojik.net
+*   yojik.net
+*   www.yojik.net
+*   yazik.yojik.net
 
 Créez  2 fichiers d'hôtes virtuels. Exemple de fichier:
 
 **Virtualhost:  www.yojik.net**
 
-```shell
-<VirtualHost *:80>
+    <VirtualHost *:80>
 
-ServerAdmin webmaster@yojik.net
-ServerName www.yojik.net
+    ServerAdmin webmaster@yojik.net
+    ServerName www.yojik.net
 
-DocumentRoot /var/www/html/yojiknet/
+    DocumentRoot /var/www/html/yojiknet/
 
-<Directory "/var/www/html/yojiknet/index.html">
-        Options Indexes MultiViews
-        AllowOverride FileInfo AuthConfig Indexes
-        Order allow,deny
-        allow from all
-        Require all granted
-</Directory>
+    <Directory "/var/www/html/yojiknet/index.html">
+            Options Indexes MultiViews
+            AllowOverride FileInfo AuthConfig Indexes
+            Order allow,deny
+            allow from all
+            Require all granted
+    </Directory>
 
-	ErrorLog ${APACHE_LOG_DIR}/error.log
-	CustomLog ${APACHE_LOG_DIR}/access.log combined
+    	ErrorLog ${APACHE_LOG_DIR}/error.log
+    	CustomLog ${APACHE_LOG_DIR}/access.log combined
 
-LogLevel warn
+    LogLevel warn
 
-</VirtualHost>
-```
+    </VirtualHost>
 
 **Virtualhost: yazik.yojik.net**
 
-```shell
-<VirtualHost *:80>
+    <VirtualHost *:80>
 
-ServerAdmin webmaster@yojik.net
-ServerName yazik.yojik.net
+    ServerAdmin webmaster@yojik.net
+    ServerName yazik.yojik.net
 
-DocumentRoot /var/www/html/yaziknet/
+    DocumentRoot /var/www/html/yaziknet/
 
-<Directory "/var/www/html/yaziknet/index.html">
-        Options Indexes MultiViews
-        AllowOverride FileInfo AuthConfig Indexes
-        Order allow,deny
-        allow from all
-        Require all granted
-</Directory>
+    <Directory "/var/www/html/yaziknet/index.html">
+            Options Indexes MultiViews
+            AllowOverride FileInfo AuthConfig Indexes
+            Order allow,deny
+            allow from all
+            Require all granted
+    </Directory>
 
-	ErrorLog ${APACHE_LOG_DIR}/error.log
-	CustomLog ${APACHE_LOG_DIR}/access.log combined
+    	ErrorLog ${APACHE_LOG_DIR}/error.log
+    	CustomLog ${APACHE_LOG_DIR}/access.log combined
 
-LogLevel warn
+    LogLevel warn
 
-</VirtualHost>
-```
+    </VirtualHost>
 
 Validez-les avec:
 
@@ -122,9 +112,9 @@ On recharge apache2 pour la prise en compte de nos 2 sites.
 
 Créez 2 répertoires sous /var/www/html:
 
-* mkdir /var/www/html/yojiknet /var/www/html/yaziknet
+*   mkdir /var/www/html/yojiknet /var/www/html/yaziknet
 
-* cd /var/www/html
+*   cd /var/www/html
 
 On crée un fichier **index.html** sous chaque répertoire créé:
 
@@ -132,39 +122,35 @@ Exemple de fichier de base:
 
 **/var/www/html/yojiknet/index.html**
 
-```shell
-<!DOCTYPE html>
-
-<html>
-    <head>
-        <title>The Yojik.net home page</title>
-        <meta charset="UTF-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    </head>
-    <body>
-        <h1>The Yojik Net home page</h1>
-        <p>Nothing interesting at the moment .. comming soon!</p>
-    </body>
+    <!DOCTYPE html>
+
+    <html>
+        <head>
+            <title>The Yojik.net home page</title>
+            <meta charset="UTF-8">
+            <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        </head>
+        <body>
+            <h1>The Yojik Net home page</h1>
+            <p>Nothing interesting at the moment .. comming soon!</p>
+        </body>
 </html>
-```
 
 **/var/www/html/yaziknet/index.html**
 
-```shell
-<!DOCTYPE html>
-
-<html>
-    <head>
-        <title>The Yazik.net home page</title>
-        <meta charset="UTF-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    </head>
-    <body>
-        <h1>The Yazik Net home page</h1>
-        <p>Nothing interesting at the moment .. comming soon!</p>
-    </body>
-</html>
-```
+    <!DOCTYPE html>
+
+    <html>
+        <head>
+            <title>The Yazik.net home page</title>
+            <meta charset="UTF-8">
+            <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        </head>
+        <body>
+            <h1>The Yazik Net home page</h1>
+            <p>Nothing interesting at the moment .. comming soon!</p>
+        </body>
+    </html>
 
 Dans le répertoire **/var/www/html/** on lance la commande suivante pour ajuster les droits et propriétaires des fichiers (pour apache et Debian, c'est **www-data**.)
 
@@ -176,9 +162,9 @@ On relance apache
 
 On teste avec un navigateur.
 
-* adresse 1: www.yojik.net
+*   adresse 1: www.yojik.net
 
-* adresse 2: yazik.yojik.net
+*   adresse 2: yazik.yojik.net
 
 Vous vous apercevrez que la deuxième ne fonctionne pas: il vous faut ajouter le domaine yazik.yojik.net à votre fichier de zone de bind et relancer bind ensuite: