Blog CCIE

« Ce qu'on obtient en atteignant nos objectifs n'est pas aussi important que ce que l'on devient en les atteignant. » - Zig Ziglar

Protocoles de transition IPv6 : 6to4

with 11 comments

Introduction

Comme vous le savez, nous sommes « à court » d’IPv4 publiques depuis le début de l’année.

Autant dire que cet évènement va, je l’espère, accélérer la transition inéluctable vers une architecture plus portée vers l’IPv6.

Maintenant vous pouvez vous poser la question légitimement, comment passer « en douceur » à l’IPv6 sans forcément bannir IPv4 de votre réseau interne et externe et remettre en question votre architecture entière.

C’est là où les protocoles de transition rentrent en jeu et notamment celui que nous allons voir dans ce post : 6to4.

6to4

Le postulat de ces protocoles de transition reste assez simple. Il s’agit de permettre à du traffic de type IPv6 de passer à travers un réseau IPv4 classique. Cela est rendu possible grâce au routeur qui encapsule notre paquet IPv6 dans la zone de données du paquet IPv4(c’est-à-dire le payload) et ainsi l’envoyer à travers un réseau IPv4 dans perdre aucune information IPv6.

Remarquez que l’on pourra aisément distinguer ce type de paquet grâce au Type 41 dans le header de notre paquet IPv4.

6to4 va vous permettre d’établir des tunnels de type point-to-multipoint de façon totalement dynamique.
La force de cette technologie est de pouvoir par exemple, ajouter 100 routeurs dans votre topologie sans pour autant remettre en cause la configuration de vos routeurs existants puisque tout s’établit de façon dynamique!
Ce protocole utilise la range 2002::/16 pour pouvoir fonctionner.

L’inconvénient principal néanmoins de 6to4 est qu’il ne prend pas en charge les IGP, ce qui n’est pas nécéssairement un problème si vous restez dans un environnement 6to4.

Topologie type

Voici la topologie sur lequel notre exemple va se baser:

6to4

Ce schéma mérite explication sur de nombreux points que je vais aborder dans la prochaine partie.

Mise en place

Vous avez plusieurs étapes à effectuer pour pouvoir mettre en place cette technologie.

Première étape: choisir des adresses IPv4 de loopback pour les routeurs

Celle-ci n’est pas compliquée en soit mais vous pouvez vous demander pourquoi choisir de définir des IPs de loopback plutôt que des IPs d’interfaces. L’avantage principal de ce choix nous permettra de nous affranchir du possible dysfonctionnement d’une interface physique. Par définition, une interface de Loopback ne pourra jamais se retrouver en état down/down puisque c’est une interface virtuelle.

Deuxième étape: convertir ces adresses en héxadécimal

L’objectif dans cette partie est de créer un subnet général IPv6 qui reflètera notre IP de loopback configurée. Pour la convertir, nous allons partir de l’adresse de base 2002::/16 et y ajouter à la suite les 32 bits de l’adresse IP de loopback sur chaque routeur sous forme héxadécimale.

Ce qui nous donne pour 192.168.1.1 l’adresse IPv6 2002:C0A8:0101::/48.
Cette adresse permettra de pouvoir identifier l’adresse IPv4 de destination.

On applique cette règle sur les deux autres routeurs de la même façon.
Vous pouvez constater la traduction de ces adresses dans le schéma de topologie.

Troisième étape : subnetter le subnet /48 calculé

Une fois les subnets calculés, nous allons pouvoir nous en servir dans les interfaces du routeur. Remarquez que pour le routeur 192.168.1.1, on utilise le subnet 2002:C0A8:0101:1::/64 pour le LAN et 2002:C0A8:0101:0::/64 pour le WAN.

Configuration

Il ne nous reste maintenant qu’à configurer les routeurs pour que les tunnels commencent à se former automatiquement.

! Configuration R1 : 192.168.1.1
! On active le routage IPv6
R1(config)# ipv6 unicast-routing
! On configure notre interface de Loopback
R1(config)# int Loopback0
R1(config-if)# ip add 192.168.1.1 255.255.255.255
! On configure le tunnel
R1(config)# int tunnel 0
! Source : notre Loopback
! Pas de destination à spécifier ici, nous sommes sur du point-to-multipoint
R1(config-if)# tunnel source Loopback0
! On lui précise que le tunnel fera du 6to4
R1(config-if)# tunnel mode ipv6ip 6to4
! Adresse IP du tunnel
R1(config-if)# ipv6 add 2002:C0A8:0101:0::1/128
! Et on configure enfin notre interface LAN
R1(config)# int fa0/0
R1(config-if)# ipv6 add 2002:C0A8:0101:1::1/64
!
! Enfin une route pour déclencher notre tunnel et utiliser celui-ci en cas de sollicitation
R1(config)# ipv6 route 2002::/16 Tunnel0

Cette configuration sera bien entendu à reproduire sur les autres routeurs.

Examen du comportement final

Une fois cette configuration appliquée sur tous les routeurs, vos tunnels se formeront de façon systématique pour pouvoir contacter votre voisin même si il est en IPv6.

Mais comment avec cette configuration, comment le routeur déterminera t-il qu’il a besoin de faire passer l’information dans le tunnel et connaitre l’adresse IP de destination à utiliser?

1) Un PC connecté en IPv6 sur le LAN de R1 cherche à contacter un membre du LAN IPv6 2002:C0A8:0103:1::/64
2) Le routeur grâce à notre route statique routera tous les paquets à destination du tunnel 6to4(dans la range 2002::/16) vers l’interface Tunnel0.
3) Le routeur a besoin de connaitre en IPv4 l’adresse IP de destination. Vous remarquerez ici que le routeur à seulement besoin de convertir les bits de 17 jusqu’à 32 pour obtenir ici l’adresse IP de destination 192.168.1.3 !

Et voilà, vous avez(déjà) terminé la configuration de cette topologie.

J’espère que ce post vous aura plu et vous sera utile.
N’hésitez pas si vous avez des compléments à apporter et des commentaires.

– Julien

Written by Julien BERTON

octobre 4th, 2011 at 11:26 pm

Posted in Lab. time

11 Responses to 'Protocoles de transition IPv6 : 6to4'

Subscribe to comments with RSS or TrackBack to 'Protocoles de transition IPv6 : 6to4'.

  1. Hello,

    Moi je voudrais faire du nat avec l’ipv6 🙂 ou alors de la redirection de ports sortants.

    thelan

    7 Oct 11 at 15 h 32 min

  2. Le NAT étant inventé à la base comme un gros « fix » pour éviter la consommation abusives d’IPv4 publiques, il perd par conséquent un peu de son sens aujourd’hui. Néanmoins, ce qui peut se cacher derrière ta question est légitime quant à l’exposition directe des hôtes de l’entreprise à Internet.

    julien

    7 Oct 11 at 20 h 44 min

  3. slt merci pour ce que vous avez publier et pour les interfaces seriales comment est ce que vous avez configurez ceci merci

    camara

    13 Fév 12 at 10 h 49 min

  4. Les interfaces séries peuvent prendre n’importe quelle valeur du moment en IPv4 comme des interfaces classiques.
    L’utilisation d’une loopback en IPv4 n’est qu’un moyen d’abstraction supplémentaire pour nous permettre de faire du point-to-multipoint automatique. On ne se fixe pas par rapport à une interface donnée.

    Julien BERTON

    15 Fév 12 at 10 h 00 min

  5. Bonjour,
    Merci pour le tuto.

    Est-il obligatoire d’utiliser des interfaces loopback? Sinon on peut configurer directement sur interface physique les adresses ipv6 (quelconque) qu’on veut pinger dessus, et déclarer le tunnel avec un prefixe 2002 !

    Mouad

    31 Mai 12 at 16 h 25 min

  6. Oulà, je me suis planté de sujet, sorry.

    Pour te répondre sur la partie 6to4, c’est préférable.
    Maintenant oui, on pourrait le configurer comme tu le dit, l’avantage du loopback que j’ai l’habitude de mettre est la haute dispo(si un lien père et qu’on peut passer par un autre, le lien se montera tout seul sans qu’on change la config puisqu’on a tous config sur le loopback).

    N’hésites pas si tu as d’autres questions.

    Julien

    Julien BERTON

    9 Juil 12 at 23 h 58 min

  7. Bonjour. merci pour le tuto! mais je ne comprend pas tres bien comment est ce que le routeur fera pour trouver l’adresse destination.
    merci

    lili

    19 Juil 12 at 12 h 12 min

  8. Bonjour,

    Il le trouveras avec la conversion automatique de l’adresse de destination en IPv6 comme décris dans l’article.

    Julien BERTON

    23 Juil 12 at 22 h 54 min

  9. ah je vois. comme dans ton exemple il prend l’adresse ipv6 de destination et il fait la conversion automatique pour trouver l’adresse de destination. une autre question si je peux me le permettre… tout en haut tu as également dit que la force de cette technologie était de pouvoir par exemple, ajouter 100 routeurs dans une topologie sans pour autant remettre en cause la configuration des routeurs existants puisque tout s’établit de façon dynamique! peux tu me l’expliquer? excuse moi pour mes question je travaille actuellement sur les m2chanismes de transitions d’IPv6 et j’ai du mal a comprendre le 6to4.
    merci

    lili

    27 Juil 12 at 16 h 04 min

  10. Bonjour
    je m’excuse encore pour les questions. J’aurais encore une autre question après celle ci-dessus. Si par exemple on a un NAT sur un réseau qu’en sera t-il si un hôte 6to4 veut communiquer avec un équipement situé derrière un NAT?

    lili

    28 Juil 12 at 15 h 06 min

  11. Bonjour,

    Jamais testé. Mais sur le concept, je pense que cela pourrait fonctionner sans problèmes.

    Julien BERTON

    16 Août 12 at 18 h 24 min

Leave a Reply