index.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  1. <!DOCTYPE html>
  2. <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <link rel="shortcut icon" href="../img/favicon.ico">
  9. <title>Configuration du réseau - Les Tutoriels du Yojik</title>
  10. <link rel="stylesheet" href="../css/theme.css" />
  11. <link rel="stylesheet" href="../css/theme_extra.css" />
  12. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" />
  13. <script>
  14. // Current page data
  15. var mkdocs_page_name = "Configuration du r\u00e9seau";
  16. var mkdocs_page_input_path = "Configuration-R\u00e9seau.md";
  17. var mkdocs_page_url = null;
  18. </script>
  19. <script src="../js/jquery-2.1.1.min.js" defer></script>
  20. <script src="../js/modernizr-2.8.3.min.js" defer></script>
  21. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
  22. <script>hljs.initHighlightingOnLoad();</script>
  23. </head>
  24. <body class="wy-body-for-nav" role="document">
  25. <div class="wy-grid-for-nav">
  26. <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
  27. <div class="wy-side-scroll">
  28. <div class="wy-side-nav-search">
  29. <a href=".." class="icon icon-home"> Les Tutoriels du Yojik</a>
  30. <div role="search">
  31. <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
  32. <input type="text" name="q" placeholder="Search docs" title="Type search term here" />
  33. </form>
  34. </div>
  35. </div>
  36. <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  37. <p class="caption"><span class="caption-text">Installation d'un serveur sécurisé, version Debian/Stretch (obsolète)</span></p>
  38. <ul>
  39. <li class="toctree-l1"><a class="reference internal" href="..">Présentation</a>
  40. </li>
  41. </ul>
  42. <p class="caption"><span class="caption-text">Installation</span></p>
  43. <ul class="current">
  44. <li class="toctree-l1"><a class="reference internal" href="../Installation-de-base/">Installation du système de base</a>
  45. </li>
  46. <li class="toctree-l1"><a class="reference internal" href="../ovh/">Démarrage sur serveur OVH</a>
  47. </li>
  48. <li class="toctree-l1"><a class="reference internal" href="../Premi%C3%A8re-Etape-S%C3%A9curisation/">Première étapes de sécurisation du serveur</a>
  49. </li>
  50. <li class="toctree-l1 current"><a class="reference internal current" href="./">Configuration du réseau</a>
  51. <ul class="current">
  52. <li class="toctree-l2"><a class="reference internal" href="#configuration-de-lipv4">Configuration de l'IPV4</a>
  53. </li>
  54. <li class="toctree-l2"><a class="reference internal" href="#configuration-de-lipv6">Configuration de l'IPV6</a>
  55. </li>
  56. <li class="toctree-l2"><a class="reference internal" href="#tester-la-configuration-reseau">Tester la configuration réseau</a>
  57. </li>
  58. </ul>
  59. </li>
  60. <li class="toctree-l1"><a class="reference internal" href="../Installation-Serveur-Temps/">Installation d'un serveur de temps</a>
  61. </li>
  62. <li class="toctree-l1"><a class="reference internal" href="../Installation-Parre-Feu/">Installation d'un pare-feu</a>
  63. </li>
  64. <li class="toctree-l1"><a class="reference internal" href="../Installation-Fail2ban/">Contrer les attaques de brute-force avec fail2ban</a>
  65. </li>
  66. <li class="toctree-l1"><a class="reference internal" href="../Installation-Serveur-Courrier-Basique/">Installation d'un serveur de courrier basique</a>
  67. </li>
  68. <li class="toctree-l1"><a class="reference internal" href="../Installation-Serveur-DNS/">Installation du serveur DNS</a>
  69. </li>
  70. <li class="toctree-l1"><a class="reference internal" href="../Installation-Serveur-Web/">Installation d'un serveur web</a>
  71. </li>
  72. <li class="toctree-l1"><a class="reference internal" href="../Installation-Dovecot-Authentification/">Installation de dovecot et de l'authentification</a>
  73. </li>
  74. <li class="toctree-l1"><a class="reference internal" href="../Installation-Certificats-Letsencrypt/">Installation des certificats letsencrypt</a>
  75. </li>
  76. <li class="toctree-l1"><a class="reference internal" href="../Courrier-SPF-DKIM-OPENDMARC/">Ajout des enregistrements **spf**, **DKIM**, **DMARC** au fichier de zone DNS</a>
  77. </li>
  78. <li class="toctree-l1"><a class="reference internal" href="../Courrier-Comptes-Virtuels/">Ajout des comptes émail virtuels</a>
  79. </li>
  80. <li class="toctree-l1"><a class="reference internal" href="../Surveillance-Serveur/">Installation de programmes de surveillance du serveur</a>
  81. </li>
  82. <li class="toctree-l1"><a class="reference internal" href="../Installation-Webmail/">Installation d'un webmail (rainloop)</a>
  83. </li>
  84. <li class="toctree-l1"><a class="reference internal" href="../S%C3%A9curisation-Serveur-Web/">Sécurisation d'un serveur WEB</a>
  85. </li>
  86. </ul>
  87. </div>
  88. </div>
  89. </nav>
  90. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
  91. <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
  92. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  93. <a href="..">Les Tutoriels du Yojik</a>
  94. </nav>
  95. <div class="wy-nav-content">
  96. <div class="rst-content">
  97. <div role="navigation" aria-label="breadcrumbs navigation">
  98. <ul class="wy-breadcrumbs">
  99. <li><a href="..">Docs</a> &raquo;</li>
  100. <li>Installation &raquo;</li>
  101. <li>Configuration du réseau</li>
  102. <li class="wy-breadcrumbs-aside">
  103. </li>
  104. </ul>
  105. <hr/>
  106. </div>
  107. <div role="main">
  108. <div class="section">
  109. <h1 id="configuration-du-reseau">Configuration du réseau</h1>
  110. <p>Nous avons utilisé la configuration automatique du réseau (DHCP).</p>
  111. <p>Il est temps de configurer manuellement les adresses IP pour avoir des adresses fixes dans le temps (faisable aussi avec DHCP si on a un serveur DHCP configurable)</p>
  112. <h2 id="configuration-de-lipv4">Configuration de l'IPV4</h2>
  113. <p>Les éléments suivants ont été configurés dans l'interface de configuration de ma box (Freebox dans mon cas)</p>
  114. <p>Mon réseau domestique est: <strong>192.168.111.0</strong>
  115. Ma passerelle est: <strong>192.168.111.254</strong></p>
  116. <p>J'ai choisi l'adresse suivante pour mon serveur: <strong>192.168.111.160</strong> et j'ai configuré cette adresse comme zone “DMZ” sur ma Freebox (zone démilitarisée, accessible de l'extérieur)</p>
  117. <p>La configuration se fait dans le fichier: <strong>/etc/network/interfaces</strong></p>
  118. <p>Nous avons ceci:</p>
  119. <pre><code>source /etc/network/interfaces.d/*
  120. # The loopback network interface
  121. auto lo
  122. iface lo inet loopback
  123. # The primary network interface
  124. allow-hotplug enp4s0
  125. iface enp4s0 inet dhcp
  126. # This is an autoconfigured IPv6 interface
  127. iface enp4s0 inet6 auto
  128. </code></pre>
  129. <p>Vous noterez que le nom des interfaces a changé ...</p>
  130. <p>Modification de l'interface réseau IPV4:</p>
  131. <p>Les lignes concernées sont:</p>
  132. <pre><code># The primary network interface
  133. allow-hotplug enp4s0
  134. iface enp4s0 inet dhcp
  135. </code></pre>
  136. <p>Modifiez ces lignes pour obtenir:</p>
  137. <pre><code># The primary network interface
  138. allow-hotplug enp4s0
  139. # iface enp4s0 inet dhcp (ligne à commenter)
  140. # lignes à ajouter
  141. iface enp4s0 inet static
  142. # IP address
  143. address 192.168.111.160
  144. # network address
  145. network 192.168.111.0
  146. # subnet mask
  147. netmask 255.255.255.0
  148. # broadcast address
  149. broadcast 192.168.111.255
  150. # default gateway
  151. gateway 192.168.111.254
  152. # name server
  153. dns-nameservers 8.8.8.8 8.8.4.4
  154. </code></pre>
  155. <p>Explications:</p>
  156. <ul>
  157. <li>enp4s0: c'est le nom donné par Debian à mon interface réseau</li>
  158. <li>l'adresse IP est l'adresse que j'ai choisie dans mon réseau local pour mon serveur</li>
  159. <li>nous avons ensuite l'adresse réseau</li>
  160. <li>puis le masque</li>
  161. <li>l'adresse de broadcast</li>
  162. <li>et l'adresse de sortie de notre réseau (en fait l'adresse est fixée par notre routeur: la mienne est: 254)</li>
  163. <li>les serveurs de nom: nous allons mettre un serveur de nom <strong>provisoire</strong> avant d'installer notre propre serveur de noms. J'ai pris ici les serveurs de Google.</li>
  164. </ul>
  165. <p>Sauvegarde du fichier et redémarrage du serveur.</p>
  166. <p>Vous noterez que la connexion par <strong>ssh</strong> échoue, car l'empreinte du serveur a changé.</p>
  167. <pre><code>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  168. @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
  169. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  170. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
  171. Someone could be eavesdropping on you right now (man-in-the-middle attack)!
  172. It is also possible that a host key has just been changed.
  173. The fingerprint for the ECDSA key sent by the remote host is
  174. SHA256:w0HKVAyxVFC2t50O6hte6PioCIAjcwxus7Mm8/Q+NBo.
  175. Please contact your system administrator.
  176. Add correct host key in /home/eric/.ssh/known_hosts to get rid of this message.
  177. Offending ECDSA key in /home/eric/.ssh/known_hosts:14
  178. remove with:
  179. ssh-keygen -f "/home/eric/.ssh/known_hosts" -R atom
  180. ECDSA host key for atom has changed and you have requested strict checking.
  181. Host key verification failed.
  182. </code></pre>
  183. <p>Suivez les instructions données par le message de <strong>ssh</strong> et reconnectez-vous.</p>
  184. <pre><code>eric@aldebaran:~$ ssh ericadmin@atom
  185. The authenticity of host 'atom (192.168.111.160)' can't be established.
  186. ECDSA key fingerprint is SHA256:w0HKVAyxVFC2t50O6hte6PioCIAjcwxus7Mm8/Q+NBo.
  187. Are you sure you want to continue connecting (yes/no)? yes
  188. Warning: Permanently added 'atom,192.168.111.160' (ECDSA) to the list of known hosts.
  189. Last login: Mon Dec 25 10:57:50 2017 from 192.168.111.150
  190. ericadmin@atom:~$
  191. </code></pre>
  192. <p>Test de l'adresse IPV4 (mode super-utilisateur)</p>
  193. <pre><code>root@atom:/home/ericadmin# ifconfig
  194. enp4s0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt; mtu 1500
  195. inet 192.168.111.160 netmask 255.255.255.0 broadcast 192.168.111.255
  196. inet6 2a01:e0a:54:c220:223:54ff:fec6:a07 prefixlen 64 scopeid 0x0&lt;global&gt;
  197. inet6 fe80::223:54ff:fec6:a07 prefixlen 64 scopeid 0x20&lt;link&gt;
  198. ether 00:23:54:c6:0a:07 txqueuelen 1000 (Ethernet)
  199. RX packets 1666 bytes 134780 (131.6 KiB)
  200. RX errors 0 dropped 2 overruns 0 frame 0
  201. TX packets 432 bytes 39182 (38.2 KiB)
  202. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  203. lo: flags=73&lt;UP,LOOPBACK,RUNNING&gt; mtu 65536
  204. inet 127.0.0.1 netmask 255.0.0.0
  205. inet6 ::1 prefixlen 128 scopeid 0x10&lt;host&gt;
  206. loop txqueuelen 1 (Boucle locale)
  207. RX packets 0 bytes 0 (0.0 B)
  208. RX errors 0 dropped 0 overruns 0 frame 0
  209. TX packets 0 bytes 0 (0.0 B)
  210. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  211. root@atom:/home/ericadmin#
  212. </code></pre>
  213. <p>Mon adresse IPV4 est la bonne: <strong>192.168.111.160</strong></p>
  214. <h2 id="configuration-de-lipv6">Configuration de l'IPV6</h2>
  215. <p>Nous allons utiliser la configuration automatique. Un préfixe IPV6 nous est attribué par notre fournisseur d'accès. Nous disposons d'un pool gigantesque d'adresses IPV6 utilisables comme bon nous semble.</p>
  216. <p>Avec la configuration automatique, une adresse ipv6 est fabriquée à partir de l'adresse mac de notre interface réseau. C'est une adresse fixe qui ne changera pas tant que nous ne changerons pas le matériel réseau du serveur.</p>
  217. <p>En configuration manuelle, nous pouvons attribuer l'adresse de notre choix, comprise bien sûr dans le pool d'adresses.</p>
  218. <p>Nous allons ajouter une option qui permet d'augmenter la protection de la vie privée. Du fait du pool d'adresses disponibles, il est possible de demander au système de changer régulièrement d'adresses pour les requêtes extérieures. L'interface réseau de notre serveur peut être dotée de plusieurs adresses IPV6 simultanément. L'option à rajouter est: <strong>privext 2</strong>.</p>
  219. <blockquote>
  220. <p>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 ...
  221. L'adresse d'émission change avec le paramètre <strong>privext 2</strong> 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.)</p>
  222. </blockquote>
  223. <pre><code>#This is an autoconfigured IPv6 interface
  224. iface enp2s0 inet6 auto
  225. privext 2
  226. </code></pre>
  227. <p>Le résultat est le suivant:</p>
  228. <pre><code>enp2s0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt; mtu 1500
  229. inet 192.168.111.240 netmask 255.255.255.0 broadcast 192.168.111.255
  230. inet6 2a01:e0a:54:c220:e128:ec57:4b1a:b078 prefixlen 64 scopeid 0x0&lt;global&gt;
  231. inet6 fe80::3aea:a7ff:fea6:cf93 prefixlen 64 scopeid 0x20&lt;link&gt;
  232. inet6 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93 prefixlen 64 scopeid 0x0&lt;global&gt;
  233. ether 38:ea:a7:a6:cf:93 txqueuelen 1000 (Ethernet)
  234. RX packets 7753 bytes 551016 (538.1 KiB)
  235. RX errors 0 dropped 0 overruns 0 frame 0
  236. TX packets 1579 bytes 152907 (149.3 KiB)
  237. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  238. device interrupt 18
  239. </code></pre>
  240. <p>Vous noterez la présence de 3 adresses ipv6.</p>
  241. <ul>
  242. <li>
  243. <p>Une adresse commençant par inet6 fe80:
  244. 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».</p>
  245. </li>
  246. <li>
  247. <p>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.</p>
  248. </li>
  249. </ul>
  250. <p>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.</p>
  251. <h2 id="tester-la-configuration-reseau">Tester la configuration réseau</h2>
  252. <p>Je teste la connexion IPV6 à partir de ma machine de bureau.</p>
  253. <p>Première adresse ipv6:</p>
  254. <pre><code>eric@aldebaran:~$ ping6 2a01:e0a:54:c220:e128:ec57:4b1a:b078
  255. PING 2a01:e0a:54:c220:e128:ec57:4b1a:b078(2a01:e0a:54:c220:e128:ec57:4b1a:b078) 56 data bytes
  256. 64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=1 ttl=64 time=0.487 ms
  257. 64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=2 ttl=64 time=0.339 ms
  258. 64 bytes from 2a01:e0a:54:c220:e128:ec57:4b1a:b078: icmp_seq=3 ttl=64 time=0.322 ms
  259. ^C
  260. 2a01:e0a:54:c220:e128:ec57:4b1a:b078 ping statistics
  261. 3 packets transmitted, 3 received, 0% packet loss, time 2046ms
  262. rtt min/avg/max/mdev = 0.322/0.382/0.487/0.077 ms
  263. eric@aldebaran:~$
  264. </code></pre>
  265. <p>2ème adresse ipv6:</p>
  266. <pre><code>eric@aldebaran:~$ ping6 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93
  267. PING 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93(2a01:e0a:54:c220:3aea:a7ff:fea6:cf93) 56 data bytes
  268. 64 bytes from 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93: icmp_seq=1 ttl=64 time=0.571 ms
  269. 64 bytes from 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93: icmp_seq=2 ttl=64 time=0.424 ms
  270. ^C
  271. 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93 ping statistics
  272. 2 packets transmitted, 2 received, 0% packet loss, time 1020ms
  273. rtt min/avg/max/mdev = 0.424/0.497/0.571/0.076 ms
  274. </code></pre>
  275. <p>3ème adresse ipv6:</p>
  276. <pre><code>root@aldebaran:/home/eric# ping6 -I enp4s0 fe80:0:0:0:3aea:a7ff:fea6:cf93
  277. 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
  278. 64 bytes from fe80::3aea:a7ff:fea6:cf93%enp4s0: icmp_seq=1 ttl=64 time=0.336 ms
  279. 64 bytes from fe80::3aea:a7ff:fea6:cf93%enp4s0: icmp_seq=2 ttl=64 time=0.357 ms
  280. ^C
  281. fe80:0:0:0:3aea:a7ff:fea6:cf93 ping statistics
  282. 2 packets transmitted, 2 received, 0% packet loss, time 1026ms
  283. rtt min/avg/max/mdev = 0.336/0.346/0.357/0.021 ms
  284. </code></pre>
  285. <p>Vous noterez que pour l'adresse «link» commençant par Fe80::, il faut spécifier l'interface réseau. (-i enp4s0 )</p>
  286. <p>Vous pouvez constater que tout marche comme il se doit.</p>
  287. <p>Il faut bien sûr tester la connectivité dans les 2 sens: serveur -&gt; autre machine <strong>ET</strong>
  288. autre machine -&gt; serveur.</p>
  289. <p>Quelques liens:</p>
  290. <ul>
  291. <li><a href="http://www.linux-france.org/~openingault/gulliveripv6/theorie/addr.html#umacast">Linux France en français</a></li>
  292. <li><a href="https://www.cyberciti.biz/faq/howto-test-ipv6-network-with-ping6-command/">Cyberciti IPV6 Howto en anglais</a></li>
  293. </ul>
  294. </div>
  295. </div>
  296. <footer>
  297. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  298. <a href="../Installation-Serveur-Temps/" class="btn btn-neutral float-right" title="Installation d'un serveur de temps">Next <span class="icon icon-circle-arrow-right"></span></a>
  299. <a href="../Premi%C3%A8re-Etape-S%C3%A9curisation/" class="btn btn-neutral" title="Première étapes de sécurisation du serveur"><span class="icon icon-circle-arrow-left"></span> Previous</a>
  300. </div>
  301. <hr/>
  302. <div role="contentinfo">
  303. <!-- Copyright etc -->
  304. </div>
  305. Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
  306. </footer>
  307. </div>
  308. </div>
  309. </section>
  310. </div>
  311. <div class="rst-versions" role="note" aria-label="versions">
  312. <span class="rst-current-version" data-toggle="rst-current-version">
  313. <span><a href="../Premi%C3%A8re-Etape-S%C3%A9curisation/" style="color: #fcfcfc;">&laquo; Previous</a></span>
  314. <span style="margin-left: 15px"><a href="../Installation-Serveur-Temps/" style="color: #fcfcfc">Next &raquo;</a></span>
  315. </span>
  316. </div>
  317. <script>var base_url = '..';</script>
  318. <script src="../js/theme.js" defer></script>
  319. <script src="../search/main.js" defer></script>
  320. <script defer>
  321. window.onload = function () {
  322. SphinxRtdTheme.Navigation.enable(true);
  323. };
  324. </script>
  325. </body>
  326. </html>