Le poste client doit être configuré pour exploiter correctement les annonces émises par le routeur dans un domaine de diffusion donné. On débute avec la configuration de base de l'interface réseau du client et on complète la liste des outils pour que le resolver DNS fonctionne correctement.
De façon classique, le fichier
/etc/network/interfaces
de l'hôte
client se présente comme suit.
etu@vm21:~$
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
iface eth0 inet6 auto
On voit ici que l'interface Ethernet
eth0
a été configurée pour obtenir sa
configuration «automatiquement». Le résultat de l'autoconfiguration
IPv6 apparaît dans la liste des
adresses et la table de routage du poste client.
Liste des adresses de l'hôte vm21
etu@vm21:~$
ip addr ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether ba:ad:00:ca:fe:15 brd ff:ff:ff:ff:ff:ff
inet6 2001:db8:feb2:14:b8ad:ff:feca:fe15/64 scope global dynamic
valid_lft 85946sec preferred_lft 13946sec
inet6 fe80::b8ad:ff:feca:fe15/64 scope link
valid_lft forever preferred_lft forever
Table de routage de l'hôte vm21
etu@vm21:~$
ip -6 route ls
2001:db8:feb2:14::/64 dev eth0 proto kernel metric 256 expires 86141sec
fe80::/64 dev eth0 proto kernel metric 256
default via fe80::dcad:ff:febe:ef14 dev eth0 proto ra metric 1024 expires 1541sec
Les deux copies d'écran ci-dessus permettent de donner quelques
explications sur la composition des adresses IPv6 avec l'autoconfiguration SLAAC. Si on se réfère au schéma de la maquette, on
voit que le système vm21
est un
hôte du VLAN 20 dont le préfixe
réseau est 2001:db8:feb2:14::/64
;
préfixe qui apparaît en première ligne de la table de routage.
Voyons comment les adresses de l'interface
eth0
de l'hôte vm21
ont été composées. Une fois de plus, c'est
l'adresse MAC qui constitue la clé de
composition des autres adresses. Dans cet exemple, l'adresse
ba:ad:00:ca:fe:15
a été définie
dans le script de lancement du système virtuel (Voir Virtualisation
système et enseignement).
Il s'agit d'une adresse de type EUI48 comprenant 6 octets à partir de laquelle
le système compose une adresse de type EUI64 avec 8 octets en insérant l'empreinte
ff:fe
au milieu. Ce n'est pas tout,
le bit U/L de l'octet situé le
plus à gauche passe de 1 à 0. Ainsi l'adresse MAC de départ ba:ad:00:ca:fe:15
devient b8:ad:ff:fe:ca:fe:15
. Pour plus de détail voir
la section
Types d'adresses MAC de l'article
Routage Inter-VLAN.
À la suite de ce traitement sur l'adresse MAC, deux adresses IPv6 sont construites.
fe80::b8ad:ff:feca:fe15/64
-
Cette adresse de type lien local utilise le préfixe
fe80::/10
. L'adresse MAC de type EUI64 est placée à droite (bits de poids faible) du préfixe de façon à composer une adresse sur 128 bits. Comme la mention scope link de la copie d'écran l'indique, la portée de cette adresse est limitée au VLAN, ou encore au domaine de diffusion. Ces adresses sont très utiles pour joindre les hôtes voisins appartenant au même réseau. Par exemple, il est possible de contacter l'hôtevm20
de la façon suivante.etu@vm21:~$
ping6 -c 2 fe80::b8ad:ff:feca:fe14%eth0 PING fe80::b8ad:ff:feca:fe14%eth0(fe80::b8ad:ff:feca:fe14) 56 data bytes 64 bytes from fe80::b8ad:ff:feca:fe14: icmp_seq=1 ttl=64 time=1.65 ms 64 bytes from fe80::b8ad:ff:feca:fe14: icmp_seq=2 ttl=64 time=0.624 ms --- fe80::b8ad:ff:feca:fe14%eth0 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.624/1.141/1.658/0.517 ms 2001:db8:feb2:14:b8ad:ff:feca:fe15/64
-
Cette adresse de type global utilise le préfixe
2001:db8:feb2:14::/64
annoncé dans les paquets RAs émis par le routeur. C'est le résultat du travail effectué par le paquet radvd présenté dans la Section 4, « Autoconfiguration côté routeur ». Comme dans le cas de l'adresse de type lien local, l'adresse MAC au format EUI64 est utilisée comme suffixe pour composer l'adresse IPv6 complète sur 128 bits. À la différence de l'adresse précédente, la mention global dynamic indique que cette adresse à une portée globale et qu'elle est utilisable depuis n'importe quel autre réseau. À titre d'illustration, voici une copie d'écran qui montre le résultat d'un ping IPv6 depuis le service en ligne subnetonline.com.On remarque que l'adresse IPv6 testée utilise le préfixe SixXS et non le préfixe de documentation
2001:db8::/32
.
Côté table de routage, la seule particularité vient du fait que
la passerelle par défaut est désignée par son adresse de type lien
local et non par son adresse globale statique : fe80::dcad:ff:febe:ef14
. C'est bien cette
adresse de type lien local qui est annoncée par le service
d'autoconfiguration dont la portée est justement limitée au domaine
de diffusion. C'est à ce niveau qu'intervient le mécanisme de
sélection d'adresse qui fait que les deux types d'adresses peuvent
coexister. Ainsi, la table des voisins sur le réseau local peut
donner les résultats suivants.
etu@vm21:~$
ip -6 neighbor ls
fe80::dcad:ff:febe:ef14 dev eth0 lladdr de:ad:00:be:ef:14 router STALE
2001:db8:feb2:14::1 dev eth0 lladdr de:ad:00:be:ef:14 router DELAY
fe80::b8ad:ff:feca:fe14 dev eth0 lladdr ba:ad:00:ca:fe:14 STALE
2001:db8:feb2:14:b8ad:ff:feca:fe14 dev eth0 lladdr ba:ad:00:ca:fe:14 STALE
Les deux premières entrées de la table ci-dessus correspondent
bien au même hôte voisin : le routeur IPv6-rtr
.