Introduction
Dans ce laboratoire, vous apprendrez les compétences fondamentales pour configurer et vérifier les adresses IPv6 sur un système Linux. En utilisant des outils modernes en ligne de commande, vous acquerrez une expérience pratique des tâches essentielles de la gestion réseau IPv6, de l'inspection à la configuration statique et aux tests de connectivité. Ce laboratoire se concentre sur l'utilisation de la commande ip de la suite iproute2 et de l'utilitaire ping6, qui sont standards dans les distributions Linux modernes comme Ubuntu 22.04.
Vous commencerez par utiliser la commande ip a pour découvrir les adresses IPv6 de bouclage (loopback) et locales de lien (link-local) configurées automatiquement sur vos interfaces réseau. Ensuite, vous attribuerez manuellement une adresse globale unicast statique à une interface. Enfin, vous utiliserez la commande ping6 pour vérifier la connectivité réseau aux adresses de bouclage, locales de lien et globales unicast nouvellement configurées, confirmant ainsi que votre configuration IPv6 fonctionne correctement.
Découvrir les adresses de lien local et de bouclage avec ip a
Dans cette étape, vous apprendrez comment découvrir les adresses IPv6 qui sont automatiquement configurées sur votre système. Les distributions Linux modernes, y compris Ubuntu 22.04, ont l'IPv6 activé par défaut. Nous utiliserons la commande ip, qui est l'outil moderne et recommandé pour la configuration et l'inspection réseau sous Linux.
Tout d'abord, inspectons les interfaces réseau et leurs adresses assignées. La commande ip a est un raccourci pour ip address.
- Ouvrez un terminal. Votre répertoire par défaut est
~/project. - Exécutez la commande
ip apour lister toutes les interfaces réseau et leurs adresses.
ip a
Vous verrez une sortie similaire à celle ci-dessous. Les noms d'interface exacts (comme eth0) et les adresses peuvent varier, mais la structure sera la même.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 mq state UP group default qlen 1000
link/ether 00:16:3e:00:54:72 brd ff:ff:ff:ff:ff:ff
altname enp0s5
altname ens5
inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159972sec preferred_lft 1892159972sec
inet6 fe80::216:3eff:fe00:5472/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:89:01:6f:fc brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Maintenant, analysons la sortie pour identifier les adresses IPv6 clés :
Adresse de bouclage (Loopback Address) : Regardez l'interface nommée
lo. C'est l'interface virtuelle de bouclage, utilisée pour tester la pile réseau sur la machine locale. Vous verrez l'adresse IPv6::1/128. C'est l'adresse de bouclage IPv6, équivalente à127.0.0.1en IPv4. Lescope hostindique qu'elle n'est valide qu'au sein de l'hôte lui-même.Adresse locale de lien (Link-Local Address) : Regardez votre interface réseau principale (par exemple,
eth0,enp0s3). Vous trouverez une adresseinet6qui commence parfe80::. C'est votre adresse locale de lien. Elle est automatiquement attribuée à chaque interface activée pour l'IPv6 et est utilisée pour la communication uniquement sur le segment réseau local (par exemple, votre LAN Ethernet local). Lescope linkconfirme que cette adresse n'est valide que sur le lien local et n'est pas routable sur Internet.
Vous avez maintenant identifié avec succès les deux types fondamentaux d'adresses IPv6 configurées automatiquement sur votre système.
Ajouter une adresse globale unicast statique avec ip addr add
Dans cette étape, vous allez configurer manuellement une adresse Global Unicast (GUA) sur votre interface réseau. Alors que les adresses locales de lien sont utilisées pour la communication sur le segment réseau local, les GUA sont l'équivalent IPv6 des adresses IPv4 publiques. Elles sont globalement uniques et routables sur Internet.
Pour ce laboratoire, nous utiliserons une adresse du bloc 2001:db8::/32, qui est spécifiquement réservé à la documentation et aux exemples. Cela garantit que nous n'utilisons pas accidentellement une adresse Internet réelle et déjà utilisée.
Nous allons ajouter la GUA statique
2001:db8:acad::1/64à l'interfaceeth0. Le/64indique la longueur du préfixe, ce qui est standard pour la plupart des LAN. Nous avons besoin desudocar la modification des interfaces réseau nécessite des privilèges administratifs.sudo ip -6 addr add 2001:db8:acad::1/64 dev eth0- Note : Cette modification est temporaire et sera supprimée si vous redémarrez le système. Pour une configuration permanente sur Ubuntu, vous modifieriez généralement les fichiers dans
/etc/netplan/, mais cela sort du cadre de ce laboratoire.
- Note : Cette modification est temporaire et sera supprimée si vous redémarrez le système. Pour une configuration permanente sur Ubuntu, vous modifieriez généralement les fichiers dans
Maintenant, vérifiez que la nouvelle GUA a été attribuée avec succès. Exécutez à nouveau la commande
ip apour inspecter vos interfaces réseau.ip aVous devriez maintenant voir la nouvelle adresse listée sous l'interface
eth0. Notez lescope global, qui indique qu'il s'agit d'une adresse routable.1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 ... 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:00:54:72 brd ff:ff:ff:ff:ff:ff altname enp0s5 altname ens5 inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159959sec preferred_lft 1892159959sec inet6 2001:db8:acad::1/64 scope global valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe00:5472/64 scope link valid_lft forever preferred_lft forever
Vous avez attribué avec succès une GUA IPv6 statique à votre interface réseau. Dans la prochaine étape, nous testerons la connectivité à cette nouvelle adresse.
Tester la connectivité à la boucle locale et à la GUA avec ping6
Dans cette étape, vous utiliserez l'utilitaire ping6 pour tester la connectivité IPv6. Cette commande est l'équivalent IPv6 de la commande ping familière et est essentielle pour le diagnostic réseau. Nous allons vérifier que votre pile IPv6 locale fonctionne correctement et que l'adresse Global Unicast (GUA) que vous avez configurée à l'étape précédente répond.
Tout d'abord, testons la pile IPv6 locale en pingant l'adresse de bouclage.
Pinguez l'adresse de bouclage IPv6
::1. Nous utiliserons l'option-c 3pour envoyer seulement 3 paquets au lieu de pinger indéfiniment.ping6 -c 3 ::1Un test réussi montrera que les paquets sont envoyés et reçus avec 0% de perte de paquets, confirmant que votre pile IPv6 locale est opérationnelle.
PING ::1(::1) 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.026 ms 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.021 ms 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.035 ms --- ::1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2030ms rtt min/avg/max/mdev = 0.021/0.027/0.035/0.005 ms
Ensuite, testons la GUA que vous avez attribuée manuellement à l'interface eth0. Cela confirme que l'interface est correctement configurée et écoute sur cette adresse.
Pinguez la GUA
2001:db8:acad::1que vous avez ajoutée à l'étape précédente.ping6 -c 3 2001:db8:acad::1Similaire au test de bouclage, un résultat réussi montrera des réponses de l'adresse, confirmant qu'elle est correctement attribuée et accessible sur l'hôte.
PING 2001:db8:acad::1(2001:db8:acad::1) 56 data bytes 64 bytes from 2001:db8:acad::1: icmp_seq=1 ttl=64 time=0.028 ms 64 bytes from 2001:db8:acad::1: icmp_seq=2 ttl=64 time=0.037 ms 64 bytes from 2001:db8:acad::1: icmp_seq=3 ttl=64 time=0.038 ms --- 2001:db8:acad::1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2034ms rtt min/avg/max/mdev = 0.028/0.034/0.038/0.004 ms
Vous avez maintenant vérifié avec succès la connectivité à la fois à l'adresse de bouclage et à votre adresse Global Unicast configurée manuellement.
Tester la connectivité de l'adresse link-local avec ping6
Dans cette étape, vous apprendrez comment tester la connectivité à une adresse de lien local. Comme vous l'avez découvert précédemment, ces adresses commencent par fe80:: et ne sont valides que sur un seul segment réseau (le "lien"). Parce qu'elles ne sont pas globalement uniques, vous devez fournir des informations supplémentaires à la commande ping6 pour spécifier quelle interface réseau doit être utilisée pour envoyer le ping. C'est ce qu'on appelle l'"indice de zone" ou "scope ID".
Tout d'abord, vous devez retrouver l'adresse de lien local de votre interface eth0.
Exécutez la commande
ip aet identifiez l'adresseinet6commençant parfe80::pour l'interfaceeth0.ip a show eth0La sortie ressemblera à ceci. Vous devez copier l'adresse (par exemple,
fe80::xxxx:xxff:fexx:xxxx).2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:00:54:72 brd ff:ff:ff:ff:ff:ff altname enp0s5 altname ens5 inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159869sec preferred_lft 1892159869sec inet6 2001:db8:acad::1/64 scope global valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe00:5472/64 scope link valid_lft forever preferred_lft foreverMaintenant, pinguez cette adresse de lien local. Pour spécifier l'indice de zone, vous ajoutez
%suivi du nom de l'interface (eth0) à l'adresse. RemplacezYOUR_LINK_LOCAL_ADDRESSpar l'adresse réelle que vous venez de trouver.ping6 -c 3 YOUR_LINK_LOCAL_ADDRESS%eth0Par exemple, si votre adresse était
fe80::216:3eff:fe00:5472, la commande serait :ping6 -c 3 fe80::216:3eff:fe00:5472%eth0Un ping réussi confirme que l'interface répond à son adresse de lien local.
PING fe80::216:3eff:fe00:5472%eth0(fe80::216:3eff:fe00:5472%eth0) 56 data bytes 64 bytes from fe80::216:3eff:fe00:5472%eth0: icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from fe80::216:3eff:fe00:5472%eth0: icmp_seq=2 ttl=64 time=0.030 ms 64 bytes from fe80::216:3eff:fe00:5472%eth0: icmp_seq=3 ttl=64 time=0.030 ms --- fe80::216:3eff:fe00:5472%eth0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2028ms rtt min/avg/max/mdev = 0.030/0.030/0.031/0.000 msSi vous oubliez la partie
%eth0, la commande échouera car le système ne saura pas quelle interface utiliser pour la destination de lien local. Cette syntaxe spéciale est un concept clé dans la gestion des adresses IPv6 de lien local.
Résumé
Dans ce laboratoire, vous avez appris à effectuer des tâches fondamentales de configuration et de vérification IPv6 sur un système Linux en utilisant la suite de commandes ip. Vous avez commencé par utiliser ip a pour inspecter les interfaces réseau, identifiant avec succès l'adresse de bouclage IPv6 attribuée automatiquement (::1) sur l'interface lo et l'adresse de lien local (précédée de fe80::) sur l'interface réseau principale. Vous avez ensuite procédé à la configuration manuelle d'une adresse Global Unicast (GUA) statique sur l'interface principale à l'aide de la commande ip addr add.
Pour valider la configuration, vous avez utilisé l'utilitaire ping6. Vous avez confirmé que la pile réseau locale était opérationnelle en pingant l'adresse de bouclage et avez vérifié que la GUA statique était correctement attribuée et accessible. Enfin, vous avez appris l'exigence spécifique pour tester les adresses de lien local, qui implique l'utilisation de la syntaxe %interface avec ping6 pour spécifier explicitement l'indice de zone (interface sortante), une étape nécessaire en raison de la portée "lien" (link scope) de ces adresses.



