Ceci est une ancienne révision du document !
Table des matières
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:
ip -6 address show enp1s0 2: enp1s0:Les adresses globale et lien-local, avec le même jetonmtu 1500 qdisc fq_codel state UP group default qlen 1000 inet6 2a01:e0a:875:b1d0:5054:ff:fe37:3649/64 scope global dynamic mngtmpaddr valid_lft 86043sec preferred_lft 86043sec inet6 fe80::5054:ff:fe37:3649/64 scope link valid_lft forever preferred_lft forever
5054:ff:fe37:3649
comme prévu.
Les routes sont aussi faciles à trouver:
ip -6 route show 2a01:e0a:875:b1d0::/64 dev enp1s0 proto kernel metric 256 expires 86380sec pref medium fe80::/64 dev enp1s0 proto kernel metric 256 pref medium default via fe80::6aa3:78ff:fe86:ec02 dev enp1s0 proto ra metric 1024 expires 1780sec hoplimit 64 pref mediumC'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:

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:
cat /etc/resolv.conf nameserver 192.168.60.254Point d'adresse IPv6 en vue
rdisc6
Cet outil est magique. Voyons tout de suite ce qu'il est capable de nous apprendre :
~$ rdisc6 enp1s0 Solicitation de ff02::2 (ff02::2) sur enp1s0... 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) 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 Recursive DNS server : fd0f:ee:b0::1 DNS servers lifetime : 86600 (0x00000258) secondes MTU : 1500 octets (valide) Adresse source de lien : 68:A3:78:86:EC:02 de fe80::6aa3:78ff:fe86:ec02
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. La preuve, en utilisant l'outil nslookup
du paquet bind9-dnsutils
:
nslookup www.debian.org
Server: 192.168.60.254
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
La commande interroge bien 192.168.60.254
et obtient non moins bien les adresses IPv4 et IPv6 correspondant à l'URI www.debian.org
.
tcptraceroute6
Comme son nom l'indique, cette commande est équivalente au tcptraceroute
du monde IPv4 :
:~$ tcptraceroute6 www.kame.net traceroute vers orange.kame.net (2001:200:0:8002:203:47ff:fea5:3085) de 2a01:5d8:52f3:500d:21b:11ff:fe52:bfab, port 80, du port 56328, 30 sauts max, 60 octet/paquet 1 2a01:5d8:52f3:500d::1 (2a01:5d8:52f3:500d::1) 0.586 ms 0.493 ms 0.514 ms 2 2a01:5d8:e000:9d1::4 (2a01:5d8:e000:9d1::4) 48.728 ms 48.941 ms 48.161 ms 3 2a01:5d8:e000:9d1::fe (2a01:5d8:e000:9d1::fe) 50.412 ms 49.901 ms * ... 22 lo0.alaxala1.k2.wide.ad.jp (2001:200:0:4800::7800:1) 342.425 ms 342.790 ms 339.848 ms 23 orange.kame.net (2001:200:0:8002:203:47ff:fea5:3085) 343.017 ms [ouvert] 342.494 ms 338.770 ms
Comme vous le constatez, il n'y a rien de fondamentalement nouveau, si ce n'est que nous évoluons dans un monde IPv6.
- le «hop» 1 nous confirme une fois encore l'adresse IP (globale) de notre passerelle par défaut;
- le «hop» 22 nous apprend que la cible www.kame.net se situe au japon et que son port 80 est ouvert;
- le «hop» 23 nous dit que la cible est vivante et que le port 80 est ouvert.