Avec l’adoption généralisée du protocole IPv6, l’administration quotidienne des serveurs Linux nécessite de manipuler régulièrement des adresses sur 128 bits. Contrairement à IPv4 où une interface réseau ne possède généralement qu’une seule adresse IP principale, une interface IPv6 dispose quasi systématiquement de plusieurs adresses simultanées : au minimum une adresse de lien local et une ou plusieurs adresses globales.
La commande de référence : ip addr
L’ancien outil historique ifconfig de la suite net-tools est obsolète depuis de nombreuses années. L’écosystème Linux moderne repose sur le paquet iproute2 et son utilitaire central ip. Pour vérifier l’état matériel de vos cartes avant même d’interroger la couche réseau, n’hésitez pas à consulter notre mémo sur la commande ip link.
Pour cibler exclusivement les adresses IPv6 configurées sur une interface spécifique, l’option -6 permet de filtrer la sortie pour masquer l’encombrement des adresses IPv4 :
ip -6 addr show dev eth0
Les administrateurs adeptes de concision peuvent utiliser la forme raccourcie équivalente :
ip -6 a s eth0
Sur les distributions récentes adoptant les noms d’interfaces prédictibles de systemd, remplacez simplement eth0 par le nom approprié, tel que enp3s0 ou ens18.
Décoder le résultat d’une configuration IPv6
L’exécution de cette commande renvoie plusieurs lignes d’informations capitales pour le diagnostic réseau. Voici comment interpréter les éléments clés retournés :
- scope link (fe80::/10) : Il s’agit de l’adresse de lien local (Link-Local). Elle est générée automatiquement par le noyau, soit à partir de l’adresse MAC (EUI-64), soit via un algorithme cryptographique stable (RFC 7217). Cette adresse n’est jamais routable sur Internet et sert exclusivement aux communications au sein du même domaine de diffusion (notamment pour le protocole NDP et les échanges avec la passerelle).
- scope global (2000::/3) : Cette adresse unicast globale (GUA) ou locale unique (ULA, fc00::/7) permet de communiquer en dehors du réseau local. Elle peut être configurée de manière statique, reçue via DHCPv6 ou construite dynamiquement grâce au mécanisme SLAAC (Stateless Address Autoconfiguration).
- valid_lft et preferred_lft : Ces paramètres indiquent la durée de vie de l’adresse. En SLAAC ou avec des extensions de confidentialité, une adresse peut passer par l’état déprécié (deprecated) lorsque sa durée préférée expire, obligeant le système à ne plus initier de nouvelles connexions avec celle-ci.
- dynamic et mngtmpaddr : Des indicateurs signalant que l’adresse découle d’annonces de routeurs (Router Advertisements) ou qu’elle sert de base pour générer des adresses temporaires de confidentialité.
Cas spécifiques et interfaces virtuelles
Si vous interconnectez vos systèmes avec des environnements distants en utilisant des mécanismes de transition, vous serez amené à surveiller des interfaces d’encapsulation. Par exemple, après avoir suivi notre tutoriel pour créer un tunnel 6in4 debian, la commande ip -6 addr show sit1 vous permettra de vous assurer que l’adresse IPv6 routable assignée par votre courtier de tunnels (tunnel broker) est bien active sur le point de terminaison.
Une fois les adresses identifiées, vous souhaiterez souvent vérifier que vos services applicatifs (serveurs web, messagerie, proxys) écoutent bien sur ces adresses. Pour cela, pensez à consulter notre article dédié pour afficher les connection socket à l’aide de l’outil ss.
Automatisation et formats exploitables
Dans vos scripts bash de déploiement ou de monitoring, manipuler le texte brut peut s’avérer fastidieux. La commande ip intègre nativement la prise en charge du format JSON grâce aux options -j et -p :
ip -j -p -6 addr show dev eth0
Couplée à un parseur léger comme jq, cette commande permet d’extraire la première adresse globale valide en une seule ligne de script, assurant une intégration propre et robuste dans vos automatisations de supervision.




