Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
060-ipv6:030-decouvertes [le 01/03/2025 à 17:09] – créée prof060-ipv6:030-decouvertes [le 04/03/2025 à 08:35] (Version actuelle) – [rdisc6] prof
Ligne 1: Ligne 1:
-====== Titre ======+====== A la découverte du monde IPv6 ====== 
 + 
 +Il existe une trousse à outils nommée ''ndisc6'' (IPv6 diagnostic tools for Linux and BSD), facile à installer sur Debian, Ubuntu et dérivées par un ''apt install ndisc6''. Bien entendu, les autres distributions récentes proposent également cette trousse, qui contient entre autres, trois outils qui vont nous être utiles:  ''rdisc6'' et un ''tcptraceroute6''
 + 
 +Pour ces quelques essais, une machine virtuelle avec une distribution Debian 12 (Bookworm) minimale est installée sur le réseau IPv4 192.168.60.0/24 sur lequel se trouve également la FreeBox à l'adresse IPv4 192.168.60.254. Le paquet ''ndisc6'' y a été ajouté. 
 +===== Analyse de sa configuration IPv6 ===== 
 +Les adresses IPv6 sont faciles à obtenir: 
 +<html><pre class="code"> 
 +<b>ip -6 address show enp1s0</b> 
 + 
 +2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
 +    <span class="bhly">inet6 2a01:e0a:875:b1d0:5054:ff:fe37:3649/64 scope global</span> dynamic mngtmpaddr  
 +       valid_lft 86043sec preferred_lft 86043sec 
 +    <span class="hly">inet6 fe80::5054:ff:fe37:3649/64 scope link</span>  
 +       valid_lft forever preferred_lft forever 
 +</pre></html> 
 +Les adresses globale et lien-local, avec le même jeton ''5054:ff:fe37:3649'' comme prévu. 
 + 
 +Les routes sont aussi faciles à trouver: 
 +<html><pre class="code"> 
 +<b>ip -6 route show</b> 
 + 
 +<span class="hly">2a01:e0a:875:b1d0::/64 dev enp1s0</span> proto kernel metric 256 expires 86380sec pref medium 
 +<span class="hly">fe80::/64 dev enp1s0</span> proto kernel metric 256 pref medium 
 +<span class="bhlg">default via fe80::6aa3:78ff:fe86:ec02 dev enp1s0</span> proto ra metric 1024 expires 1780sec hoplimit 64 pref medium  
 +</pre></html> 
 +C'est surtout la route par défaut qui nous intéresse. C'est une adresse de lien-local, avec un jeton ''6aa3:78ff:fe86:ec02'' qui normalement doit appartenir à la Freebox, ce que l'on peut vérifier à travers l'interface de configuration de la box: 
 +{{ :060-ipv6:lien-local-fb.png?500 |Lien-Local de la Freebox}} 
 +Tout va bien. 
 + 
 +Le serveur DNS ?  Si l'on a installé le paquet ''network-manager'' c'est facile, mais pour nos manipulation ça ne va pas. Le démon ''NetworkManager'' s'occupe de tout à notre place. Autant c'est bien pratique sur une station de travail graphique, autant ça nous complique la vie pour décortiquer ce qu'il se passe côté réseau. Dans notre configuration minimale, nous pouvons trouver l'information dans le fichier ''/etc/resolv.conf''. On y voit: 
 +<html><pre class="code"> 
 +<b>cat /etc/resolv.conf</b> 
 + 
 +nameserver 192.168.60.254 
 +</pre></html> 
 +Point d'adresse IPv6 en vue :-O 
 +===== rdisc6 ===== 
 + 
 +Cet outil est magique. Voyons tout de suite ce qu'il est capable de nous apprendre : 
 + 
 +<html><pre class="code"> 
 +<span class="hlg">~$ rdisc6 enp1s0</span> 
 +<span class="hlb">Solicitation de ff02::2 (ff02::2) sur enp1s0...</span> 
 + 
 +Limite de saut (TTL)      :           64 (      0x40) 
 +Conf. d'adresse par DHCP  :          Non 
 +Autres réglages par DHCP  :          Non 
 +Agent domestique (mobile) :          Non 
 +Préférence du routeur     :        moyen 
 +Proxy (découverte voisin) :          Non 
 +Durée de vie du routeur   :         1800 (0x00000708) secondes 
 +Temps d'atteinte          :  non indiqué (0x00000000) 
 +Temps de retransmission   :  non indiqué (0x00000000) 
 +<span class="hly"> Préfixe                  : 2a01:e0a:875:b1d0::/64 
 +  Sur le lien (on-link)   :          Oui 
 +  Conf. autonome d’adresse:          Oui 
 +  Durée de validité       :        86400 (0x00015180) secondes 
 +  Durée de préférence     :        86400 (0x00015180) secondes</span> 
 + <span class="bhlo">Recursive DNS server     : fd0f:ee:b0::1</span> 
 +  DNS servers lifetime    :        86600 (0x00000258) secondes 
 + MTU                      :         1500 octets (valide) 
 +<span class="bhly"> Adresse source de lien   : 68:A3:78:86:EC:02 
 + de fe80::6aa3:78ff:fe86:ec02</span> 
 +</pre></html> 
 + 
 +Là, nous sommes servis. Nous apprenons que : 
 +  * il n'y a pas de DHCP dans le coup ; 
 +  * le préfixe qui nous est attribué est bien ''2a01:e0a:875:b1d0::/64'' (nous l'avions compris avec l'adresse IPv6 globale); 
 +  * les durées de validité et de préférence sont identiques et de 86400 secondes (24 heures) ; 
 +  * **le DNS proposé est ''fd0f:ee:b0::1''** et, remarquons-le, c'est une adresse locale unique (ULA). ; 
 +  * le routeur (passerelle par défaut) est ''fe80::6aa3:78ff:fe86:ec02'' (nous l'avions trouvée). 
 + 
 +Nous avons récupéré toutes les informations nécessaires, comme nous l'aurions fait en IPv4 par DHCP, mais ici, ce n'est pas DHCP. Alors, qu'est-ce que c'est ? (Ceux qui ont suivi sauront répondre : //C'est «NDP»//). 
 + 
 +Et  l'adresse ''ff02::2'' est l'adresse multicast déjà observée. C'est l'adresse réservée au protocole NDP 
 + 
 + 
 +Mais  cette adresse ULA indiquant un serveur DNS (résolveur, plutôt) dans un réseau où il n'y a pas de serveur DNS installé ? Ce ne peut être que la Freebox.  
 + 
 +Et pourquoi cette adresse n'apparaît pas dans ''/etc/resolv.conf'' ? Parce qu'il n'y a aucun démon qui la capture pour renseigner ce fichier. Autrement-dit, dans cette configuration minimale, c'est le résolveur ''192.168.60.254'' qui assurera la résolution des noms en IPv6 comme nous l'avons vu page précédente.Confirmation avec l'outil ''nslookup'' du paquet ''bind9-dnsutils'': 
 +<html><pre class="code"> 
 +nslookup www.debian.org 
 +<span class="bhly">Server: 192.168.60.254</span> 
 +Address: 192.168.60.254#53 
 + 
 +Non-authoritative answer: 
 +Name: www.debian.org 
 +Address: 130.89.148.77 
 +Name: www.debian.org 
 +Address: 194.177.211.216 
 +Name: www.debian.org 
 +Address: 2001:67c:2564:a119::77 
 +Name: www.debian.org 
 +Address: 2001:648:2ffc:deb:216:61ff:fe2b:6138 
 +</pre></html> 
 +La commande interroge bien ''192.168.60.254''
 + 
 +Mais si l'on veut utiliser le résolveur proposé dans la configuration IPV6, comment faire ? 
 + 
 +Il faut donc installer le démon ''rdnssd'' qui //configure automatiquement des serveurs DNS récursifs sur des réseaux IPv6 qui utilisent ICMPv6 Neighbor Discovery (RFC 5006), et il peut mettre à jour la configuration des résolveurs DNS (/etc/resolv.conf) en fonction.((extrait du «man rdnssd»))//. Mais ce paquet recommande ''resolvconf'' et nous ne voulons **surtout pas** l'installer, il fait trop de choses dans notre dos. Donc: 
 +  apt --no-install-recommends install rdnssd 
 +Et après reboot de la machine virtuelle: 
 +<html><pre class="code"> 
 +<b>cat /etc/resolv.conf</b> 
 +<span class="bhly">nameserver fd0f:ee:b0::1</span> 
 +nameserver 192.168.60.254 
 +</pre></html> 
 +L'adresse IPv6 du résolveur apparaît maintenant en plus de l'adresse IPv4 et en première position qui plus est. Si bien que: 
 +<html><pre class="code"> 
 +nslookup www.debian.org 
 +<span class="bhly">Server: fd0f:ee:b0::1</span> 
 +Address: fd0f:ee:b0::1#53 
 + 
 +Non-authoritative answer: 
 +Name: www.debian.org 
 +Address: 194.177.211.216 
 +Name: www.debian.org 
 +Address: 130.89.148.77 
 +Name: www.debian.org 
 +Address: 2001:67c:2564:a119::77 
 +Name: www.debian.org 
 +Address: 2001:648:2ffc:deb:216:61ff:fe2b:6138 
 +</pre></html> 
 +Le résolveur interrogé l'est maintenant par son adresse IPv6 et répond bien entendu exactement la même réponse que précédemment.  
 + 
 +La conclusion de tout ceci démontre qu'un serveur DNS (ou un résolveur) gère aussi bien les adresses IPv4 et IPv6, ce que nous montrerons plus loin, lors de l'installation de ''bind9''
 +===== tcptraceroute6 ===== 
 + 
 +Comme son nom l'indique, cette commande est équivalente au ''tcptraceroute'' du monde IPv4. Là encore, un peu de patience, nous démonterons son fonctionnement lors de l'étude détaillée du protocole ICMP. Pour l'instant, contentons-nous de savoir que cette commande met en évidence les différents routeurs par lesquels passent une requête quelconque depuis la source vers la cible. 
 + 
 +<html><pre class="code"> 
 +<b>tcptraceroute6 www.debian.org</b> 
 + 
 +traceroute vers www.debian.org (2001:648:2ffc:deb:216:61ff:fe2b:6138) de 2a01:e0a:875:b1d0:5054:ff:fe37:3649, port 80, du port 64890, 30 sauts max, 60 octets/paquet 
 +<span class="hly"> 1  2a01:e0a:875:b1d0::1 (2a01:e0a:875:b1d0::1)</span>  0.705 ms  0.534 ms  0.515 ms  
 +  2a01:e02:1004:f836:aac1::ffff (2a01:e02:1004:f836:aac1::ffff)  3.781 ms  1.841 ms  2.316 ms  
 +  2a01:e02:1004:1700::ffff (2a01:e02:1004:1700::ffff)  2.314 ms  2.173 ms  1.897 ms  
 +  2a01:e02:1003::1 (2a01:e02:1003::1)  2.727 ms  2.262 ms  2.587 ms  
 +  * * * 
 +  * * * 
 +  2a01:e04:6003::5 (2a01:e04:6003::5)  23.856 ms  23.700 ms  24.134 ms  
 +  fra-ix.geant.net (2001:7f8::51e5:0:1)  23.773 ms  24.310 ms  24.075 ms  
 +  lag-1-0.rt0.fra.de.geant.net (2001:798:cc::72)  24.043 ms  23.606 ms  24.010 ms  
 +10  lag-6-0.rt0.pra.cz.geant.net (2001:798:cc:1::c6)  34.623 ms  34.880 ms  35.114 ms  
 +11  lag-5-0.rt0.vie.at.geant.net (2001:798:cc:1::ce)  34.958 ms  35.176 ms  35.076 ms  
 +12  * * * 
 +13  * * * 
 +14  * * * 
 +15  2001:798:cc::4a (2001:798:cc::4a)  58.276 ms  58.204 ms  57.667 ms  
 +16  grnet-ias.rt1.the.gr.geant.net (2001:798:1::176)  58.522 ms  57.809 ms  58.165 ms  
 +17  2001:648:2ff2:105::1 (2001:648:2ff2:105::1)  64.859 ms  65.205 ms  65.844 ms  
 +<span class="bhlo">18  static-mirror-grnet-01.debian.org (2001:648:2ffc:deb:216:61ff:fe2b:6138)</span>  65.539 ms [ouvert]  65.738 ms  65.965 ms 
 + 
 +</pre></html> 
 + 
 +Pour l'instant, admettons ceci: 
 +  * le «hop» 1 ''2a01:e0a:875:b1d0::1'' c'est obligatoiremet notre passerelle par défaut (Freebox), bien que l'on n'ai pas encore réussi à identifier cette adresse; 
 +  * les «hops» marqués par des étoiles sont des routeurs dont nous n'avons par reçu d'information. Diverses raisons peuvent le justifier. 
 +  * le «hop» 18 , c'est le terminus, ne serveur cible. Nous sommes passés par 17 routeurs différents pour l'atteindre. 
 +Une analyse un peu plus détaillée montrerait que tous les routeurs  dont l'adresse commence par ''20a1::'' sont dans le réseau Proxad, puis nous passons dans le réseau identifié ''geant.net''. Le projet ''Geant'' qui se nomme désormais [[https://geant.org/|Geant.org]]. //GÉANT is the collaboration of European National Research and Education Networks //. Visiblement, on circule un peu dans divers pays d'Europe, pour arriver dans [[https://grnet.gr/en/company/|grnet]] qui est semble-t-il l'équivalent de notre Renater en Grèce. (65 ms Pour aller de la France en Grèce, et encore, avec 17 escales. Qui dit mieux ?) 
  
A la découverte du monde IPv6: Dernière modification le: 01/03/2025 à 17:09 par prof