Configurez les adresses IPv6

Après plusieurs jours de lecture, de schémas griffonnés et de calculs de préfixes, Mélanie sent qu’il est temps de passer à l’action. Aujourd’hui, elle va apprendre à configurer les adresses IPv6 elle-même. Statique ou automatique, avec ou sans EUI-64, en interface simple ou dans des environnements plus complexes — il est temps de mettre les mains à la pâte. Son objectif : tester, comprendre, et surtout vérifier ce qui se passe réellement quand une adresse IPv6 est appliquée à un équipement.

Elle s’interroge :“Est-ce vraiment si différent d’IPv4 ? Et comment être sûre que tout fonctionne comme prévu ?”

Ce chapitre va lui permettre — et à vous aussi — d’explorer concrètement la configuration d’adresses IPv6.

Configurez une adresse IPv6 statique

Pour configurer une adresse IPv6 statique, allez sur l’interface concernée, entrez l’adresse IPv6 et le préfixe : 

Router(config)#int gig 0/0
Router(config-if)#ipv6 addr 2001:ABAD:8697:2212:9475:BA11:5E42:C380/64

Vous pouvez vérifier votre configuration avec la commande suivante : 

Router#show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::1
2001:ABAD:8697:2212:9475:BA11:5E42:C380

Configurez une adresse IPv6 statique avec EUI-64

EUI-64 (pour EXTENDED UNIQUE IDENTIFIER) est une méthode qui permet de configurer automatiquement les adresses IPv6 des hôtes sans avoir besoin d’un serveur DHCP ! L’adresse MAC va être utilisée pour générer un ID d’interface unique sur 64 bits.

Une adresse MAC est codée sur 48 bits, mais l’ID requiert 64 bits, comment faire ? 

Il suffit de « couper » l’adresse MAC en deux parties, et d’ajouter FFFE entre ces deux parties. Par exemple, avec l’adresse MAC 10F4:466A:5AC1, on obtient : 10F4 46FF FE6A 5AC1

Mais ça n’est pas fini, il reste encore une étape… Il faut inverser le 7eme bit de l’id d’interface, qui représente le bit universel unique / local.

  • Si ce bit est à la valeur 0, l’adresse est universelle unique, par exemple attribuée par L’IEEE.

  • Si ce bit est à la valeur 1, l’adresse est attribuée localement, par EUI-64.

Dans notre cas, on obtient :

  • 10 = 0 0 0 1 0 0 0 0  donnera 12 = 0 0 0 1 0 0 1 0

AVANT :

  • 10F4 46FF FE6A 5AC1

APRÈS :

  • 12F4 46FF FE6A 5AC1

Voici maintenant un exemple :

Router(config)#int gig 0/0
Router(config-if)#ipv6 address 2001:ABAD:BEEF:CAFE::/64 eui-64

J’ai configuré une interface en EUI-64

Voici son adresse physique :

Router#show interfaces gigabitEthernet 0/0 | include Hardware
Hardware is CN Gigabit Ethernet, address is 0002.16C7.8C01 (bia 0002.16C7.8C01)

Et voici le résultat :

Router#show ipv6 interface gigabitEthernet 0/0
GigabitEthernet0/0 is administratively down
IPv6 is tentative, link-local address is FE80::2
No Virtual link-local address(es):
Global unicast address(es):
2001:ABAD:BEEF:CAFE:202:16FF:FEC7:8C01

Voici l’adresse MAC de base :

  • CA01:1620:0000

Avec FFFE et inversement du 7eme bit :

  • C801:16FF:FE20:0

    • CA = 11001010

    • C8 = 11001000

Voilà une fonctionnalité bien pratique !

Comprenez le fonctionnement du protocole NDP

Forte de son expérience avec IPv4, Mélanie s’interroge :

“D’accord, il n’y a plus de broadcast en IPv6… mais alors, comment une machine connaît-elle l’adresse MAC de ses voisins ?”

Elle se souvient du bon vieux protocole ARP, pilier de la résolution IP@MAC dans IPv4. Mais ici, ce mécanisme a disparu. En poursuivant ses recherches, elle découvre ce qui le remplace : le protocole NDP — Neighbor Discovery Protocol. IPv6 repose sur ce protocole pour assurer plusieurs fonctions clés, dont la découverte des voisins sur le réseau local.

Voici comment cela fonctionne…

Chaque machine qui dispose d’une adresse IPv6 est associée à une adresse multicast spéciale dérivée des 24 derniers bits de son adresse. On nomme cette adresse SOLICITED NODE MULTICAST ADDRESS. Voici la structure de cette adresse multicast :

  • FF02::1:FFXX:XXXX

La partie en gras ci-dessus représente les 24 derniers bits de l’adresse de l’interface.

L’illustration ci-dessous permet de voir une adresse de lien local qui termine par 30:0 et une adresse multicast solicited node multicast address qui se termine de la même façon : 

Router#show ipv6 interface gig 0/0
GigabitEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C801:38FF:FE30:0
No Virtual link-local address(es):
No global unicast address is configured
Joined group address(es):
 FF02::1
 FF02::1:FF30:0

Si on configure une adresse avec EUI-64, l’adresse solicited node multicast address restera la même, car cette adresse se terminera comme l’adresse de lien local : 

Router(config)#int gig 0/0
Router(config-if)#ipv6 addr 2001:ABAD:BEEF:CAFE::/64 eui-64

Router#show ipv6 interface gig 0/0
GigabitEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::C801:38FF:FE30:0 
  No Virtual link-local address(es):
  Global unicast address(es):
2001:ABAD:BEEF:CAFE:C801:38FF:FE30:0,	subnet is 2001:ABAD:BEEF:CAFE::/64
  [EUI]
  Joined group address(es):
    FF02::1
    FF02::1:FF30:0
  MTU is 1500 bytes

 En revanche, si vous configurez une adresse statique sans EUI-64, il y aura une adresse solicited node multicast address supplémentaire : 

Router(config)#int gig 0/0
Router(config-if)#ipv6 addr 2001:ABAD:BEEF:CAFE:BABA:FEFE:FAFA:1111/64

Router#show ipv6 interface gigabitEthernet 0/0
GigabitEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::C801:38FF:FE30:0
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:ABAD:BEEF:CAFE:BABA:FEFE:FAFA:1111, subnet is 2001:ABAD:BEEF:CAFE::/64
    2001:ABAD:BEEF:CAFE:C801:38FF:FE30:0, subnet is 2001:ABAD:BEEF:CAFE::/64
  [EUI]
  Joined group address(es):
    FF02::1
    FF02::1:FF30:0
    FF02::1:FFFA:1111

Maintenant que j’ai compris le principe de l’adresse solicited node multicast address, j’aimerais bien comprendre les messages utilisés par le protocole NDP.  

Quand une machine veut découvrir un voisin, elle envoie un message NEIGHBOR SOLICITATION (NS) à  l’adresse solicited node multicast address de ce voisin, contrairement à ARP qui utilisait le broadcast.

Le voisin répond avec un message NEIGHBOR ADVERTISEMENT (NA), ce qui permet à la machine d’apprendre l’adresse MAC du voisin avec lequel elle souhaite communiquer.

Pour que vous puissiez bien comprendre ce mécanisme, regardez les illustrations ci-dessous : 

On peut voir que le routeur R1 a envoyé un NS au routeur R2 et que ce dernier a répondu avec un NA :

mars1 00:03:16.495: ICMPv6-ND: Sending NS for FE80::230:A3FF:FED3:EC01 on GigabitEthernet0/0
mars1 00:03:16.495: ICMPv6-ND: Received NA for FE80::230:A3FF:FED3:EC01 on GigabitEthernet0/0 from FE80::230:A3FF:FED3:EC01

À l’inverse, sur le routeur R2, on voit que l’on a reçu un paquet NS du routeur voisin, que l’on a ensuite effectué une résolution de l’adresse (INCMP) et que l’on a ensuite répondu avec un NA :

R2#mars 1 0:03:12.119: ICMPv6-ND: Received NS for FE80::230:A3FF:FED3:EC01 on GigabitEthernet0/0 from FE80::2E0:F9FF:FE5A:6C01
mars 1 0:03:12.119: ICMPv6-ND: Sending NA for FE80::230:A3FF:FED3:EC01 on GigabitEthernet0/0

NDP utilise également le mécanisme DAD (DUPLICATE ADDRESS DETECTION) : un message NS est envoyé vers l’adresse solicited node multicast address de l’adresse que l’on souhaite vérifier, et si il n’y a pas de réponse, cela veut dire que l’adresse n’est pas utilisée et qu’elle est donc libre, par contre, si on reçoit un paquet NA, cela veut dire que l’adresse est déjà utilisée.

À noter, si une autre machine effectue un DAD pour cette adresse et envoie un NS au même moment, l’adresse est considérée comme dupliquée et ne pourra être utilisée par aucune des machines.

À vous de jouer 

Dans cet exercice, vous allez utiliser une maquette packet tracer préconfigurée qui représente une partie du réseau de Mélanie sur laquelle vous allez configurer des adresses IPv6 de façon statique.

Quand vous avez terminé, utilisez ce corrigé pour vérifier votre travail.

Devinez la suite

Et maintenant, on passe à Devinez la suite. À vous de compléter… c’est parti ! 

En résumé

  • Une adresse IPv6 n’est pas plus compliquée à configurer qu’une adresse IPv4.

  • EUI-64 permet de configurer automatiquement l'identifiant hôte sur 64 bits.

  • Le mécanisme DAD (Duplicate address detection) permet de s’assurer qu’aucun conflit IPv6 ne peut se produire.

  • NDP remplace ARP.

Maintenant que vous savez configurer manuellement des adresses IPv6, voyons comment rendre tout cela automatique grâce à SLAAC et DHCPv6.

Ever considered an OpenClassrooms diploma?
  • Up to 100% of your training program funded
  • Flexible start date
  • Career-focused projects
  • Individual mentoring
Find the training program and funding option that suits you best