6to4 en pratique

 

Mise en place d’IPv6 et 6to4 sous Windows XP/2003.

I. Avant de commencer :

Le support d’IPv6 sous windows XP est experimental. Ce qui veux dire pas de support garanti. En pratique, le coeur du protocole, c’est a dire les piles IP, TCP et UDP fonctionnent correctement et réagissent correctement. Il n’en est pas de même pour la gestion de la configuration. D’une part, elle n’est accessible qu’en ligne de commande, et d’autre part, de réaction quelque peu aléatoire. Mais une fois la configuration faite, vous ne devriez pas rencontrer de problèmes (mis a part que pour le moment, les logiciels clients sont aux abonnés absents).

II. Prérequis :

Utilisation de NetSH

Malheuresement peu connu, netsh est une interface en ligne de commande pour la configuration réseau sous windows.

Contextes : Les contextes netsh permettent de paramètrer un aspect de la configuration réseau. On passe d’un contexte à l’autre en tapant son nom.

A tout moment et dans tout contexte, la commande « help » donne la liste des commandes.

Documentation de netsh

Notes :

Les commandes de netsh peuvent êtres abrégées jusqu’a limite d’ambiguité, ainsi la commande suivante :

        add route prefix=2002:c058:6301:1::/64 interface=lan publish=yes preferredlifetime=2h

est équivalente à

        ad ro 2002:c058:6301:1::/64 lan pub=y preferr=2h

Ceci afin de simplifier la saisie des commandes au clavier.

La commande dump permet d’afficher la liste des commandes qu’il faudrait utiliser pour obtenir la configuration en cours.

Nommage des interfaces réseau

Nous alons utiliser netsh pour configurer notre réseau. Pour désigner les interfaces, netsh attend soit un numéro d’interface, soit le nom (ou une partie du nom) de l’interface. Par défaut, les interfaces réseau sous windows ont des noms peu explicites, mais surtout peu pratique à tapper en ligne de commande.

Il est donc conseillé de commencer par renommer les interfaces réseau. Pour cela, il suffit de se rendre dans la section « connexions réseau » du panneau de configuration et de choisir « renommer » dans le menu contextuel associé a chaque connexion.

III. Installation de la pile IPv6

Commencez par lancer une console, puis executez netsh.

Placez vous dans le contexte ipv6 et lancez l’instalation en tapant :

netsh>int ipv6
netsh interface ipv6>install
Ok.

Ceci va installer la pile IPv6 pour toutes les interfaces du systeme. Listez ensuite les interfaces :

netsh interface ipv6>show interface
Querying active state...                                            

Idx  Met   MTU    State         Name
---  ----  -----  ------------  -----
  6     0   1500  Connected     LAN
  5     0   1500  Connected     Internet
  4     2   1280  Disconnected  Teredo Tunneling Pseudo-Interface
  3     1   1280  Connected     6to4 Tunneling Pseudo-Interface
  2     1   1280  Connected     Automatic Tunneling Pseudo-Interface
  1     0   1500  Connected     Loopback Pseudo-Interface

Nous n’utiliserons pas térédo, ni ISATAP pour le moment, il est donc préférable de désactiver ces services de tunnel pour le moment.

netsh interface ipv6>isatap set state disabled
Ok.

netsh interface ipv6>set teredo disabled
Ok.

Note : cette dernière commande arrète le service térédo, mais ne supprime pas completement l’interface. Elle continue à être listée dans la liste des interfaces disponibles. Si ceci est un inconvénient, il est possible de la supprimer completement.

On peut maintenant afficher les addresses des interfaces restantes.

netsh interface ipv6>show address
Querying active state...                                                     

Interface 6: LAN                                                             

Addr Type  DAD State  Valid Life   Pref. Life   Address
---------  ---------- ------------ ------------ -----------------------------
Link       Preferred      infinite     infinite fe80::20c:29ff:fe3c:d384     

Interface 5: Internet                                                        

Addr Type  DAD State  Valid Life   Pref. Life   Address
---------  ---------- ------------ ------------ -----------------------------
Link       Preferred      infinite     infinite fe80::20c:29ff:fe3c:d37a     

....

IV. Configuration de l’interface 6to4.

La configuration 6to4 de windows propose une configuration automatique du routage pour les autres machines du LAN. Cependant, le support de 6to4 n’étant qu’expérimental, il se trouve que le comportement de cette configuration automatique est quelque peu aléatoire. Nous alons donc commencer par désactiver cette fonction.

netsh interface ipv6>6to4 set routing disabled
Ok.

Nous allons maintenant préciser le serveur 6to4 à utiliser, puis activer le tunnel.

netsh interface ipv6>6to4 set relay 192.88.99.1 enabled interval=12
Ok.                                                       

netsh interface ipv6>6to4 set state enabled undo=disabled
Ok.

Voilà. 6to4 est configuré. On peut maintenant vérifier tout ca en affichant les paramètres de l’interface, et en tentant un ping.

netsh interface ipv6>show address 6to4 Querying active state...

Interface 3: 6to4 Tunneling Pseudo-Interface

Unicast Address   : 2002:3e93:8ba7::3e93:8ba7
...
netsh interface ipv6>exit

C:\>ping 2001:660:7101::7 Pinging 2001:660:7101::7 from 2002:3e93:8ba7::3e93:8ba7 with 32 bytes of data:

Reply from 2001:660:7101::7: time=93ms
Reply from 2001:660:7101::7: time=89ms
...

On remarque qu’une route par défaut, ainsi qu’une route vers les autres adresses 6to4 ont été automatiquement ajoutées à la table de routage :

netsh interface ipv6>show route Querying active state...                                                        

Publish  Type       Met  Prefix                    Idx  Gateway/Interface Name
-------  --------  ----  ------------------------  ---  ---------------------
yes      Manual    1001  2002::/16                   3  6to4 Tunneling Pseudo-Interface
yes      Manual    1101  ::/0                        3  2002:c058:6301::c058:6301

V. Configuration en routeur.

Maintenant que nous avons obtenu un préfixe /48 correspondant à notre IPv4 publique, nous alons configurer notre machine pour annoncer une partie de ce préfixe sur l’interface réseau local et, bien sur, assurer le routage des paquets entre cette interface et le tunnel.

Il nous faudra donc : ajouter la route avec les paramètres correspondant.

netsh interface ipv6>add route 2002:3e93:8ba7:1::/64 lan publish=yes preferredlifetime=2h
Ok.

Activer le routage des paquets sur l’interface 6to4.

netsh interface ipv6>set int 6to4 forward=enabled
Ok.

Et pour finir, activer le routage et l’annonce sur l’interface locale.

netsh interface ipv6>set int lan forward=en adv=en
Ok.

On pourra vérifier que la route correspondant a bien été créée, et que l’interface s’est auto-attribuée une IP correspondant au préfixe annoncé.

netsh interface ipv6>show route
Querying active state...                                                        

Publish  Type       Met  Prefix                    Idx  Gateway/Interface Name
-------  --------  ----  ------------------------  ---  ---------------------
yes      Manual       0  2002:3e93:8ba7:1::/64       6  LAN
yes      Manual    1001  2002::/16                   3  6to4 Tunneling Pseudo-Interface
yes      Manual    1101  ::/0                        3  2002:c058:6301::c058:6301

netsh interface ipv6>show add lan Querying active state...                                                        

Interface 6: LAN                                                                

Addr Type  DAD State  Valid Life   Pref. Life   Address
---------  ---------- ------------ ------------ -----------------------------
Temporary  Preferred   6d23h53m20s     1h56m16s 2002:3e93:8ba7:1:48fc:ca98:7d44:d421
Public     Preferred      infinite     1h56m16s 2002:3e93:8ba7:1:20c:29ff:fe3c:d384
Link       Preferred      infinite     infinite fe80::20c:29ff:fe3c:d384
Anycast                                     2002:3e93:8ba7:1::

VI. Configuration d’une machine cliente

Pour une machine cliente du réseau locale, la configuration est on ne peut plus simple, il suffit d’installer la pile IPv6, l’autoconfiguration fesant le reste.

C:\>netsh int ipv6 install
Ok.                       

C:\>ping -6 www.info.unicaen.fr                                                                                      

Pinging panoramix.info.unicaen.fr [2001:660:7101::7] from 2002:3e93:8ba7:1:6001:812f:d8e5:b2d3 with 32 bytes of data:

Reply from 2001:660:7101::7: time=97ms
Reply from 2001:660:7101::7: time=96ms

VII. En options …

Configuration d’une IPv6 « fixe »

Les adresses ipv6 autoconfigurées ne sont pas des plus simples à retenir. Il peut donc être interressant de fixer une adresse sur une interface donnée.

C:\>netsh int ipv6 add address lan 2002:3e93:8ba7:1::20
Ok.

Affichage du « Destination Cache » et du « Neighbor Cache »

C:\>netsh int ipv6 show destination                                          

Interface 4: nVidia                                                          

PMTU Destination Address                           Next Hop Address
---- --------------------------------------------- --------------------------
7154 2001:660:7101::7                              fe80::240:f4ff:fea8:6bd5
...
7154 2001:660:7101::6                              fe80::240:f4ff:fea8:6bd5

C:\>netsh int ipv6 show neighbor                                                

Interface 4: nVidia                                                             

Internet Address                               Physical Address   Type
---------------------------------------------  -----------------  -----------
fe80::240:f4ff:fea8:6bd5                       00-40-f4-a8-6b-d5  Stale (router)
fe80::211:d8ff:fe37:c938                       00-11-d8-37-c9-38  Permanent
2002:3e93:8ba7:1:211:d8ff:fe37:c938            00-11-d8-37-c9-38  Permanent
2002:3e93:8ba7:1:6001:812f:d8e5:b2d3           00-11-d8-37-c9-38  Permanent
...

VIII. Dépannage :

Il peux arriver qu’un changement de configuration n’aie pas lieu. Par exemple, une activation ou désactivation d’une option. Généralement, activer, puis désactiver l’option en question (ou inversement selon le résultat souhaité) permet de résoudre le problème.

IX. Documentation et bibliographie :

Laisser une réponse