9.4. Installation des tunnels 6to4

Prenez garde au fait que le support des tunnels 6to4 est actuellement manquant sur la série des noyaux vanille 2.2.x (voir la vérification du système / noyau pour plus de détails). Notez aussi que la longueur du préfixe d'une adresse 6to4 est de 16, car, du point de vue du réseau, tous les autres hôtes 6to4 sont sur la même couche 2.

9.4.1. Ajouter un tunnel 6to4

Vous avez premièrement à calculer votre préfixe 6to4 en utilisant votre adresse IPv4 routable assignée localement (si votre hôte n'a pas d'adresse IPv4 routable, dans des cas précis, NAT sur une passerelle est possible):

En considérant que votre adresse IPv4 soit

1.2.3.4

le préfixe 6to4 généré sera

2002:0102:0304::

Les passerelles locales 6to4 devraient (mais cela n'est pas une nécessité, vous pouvez choisir un préfixe arbitraire de portée locale, si cela vous sied mieux) toujours assigner le suffixe ”::1”, ce qui vous donnera comme adresse 6to4 locale

2002:0102:0304::1

Utiliser par exemple ce qui suit pour une génération automatique:

ipv4="1.2.3.4"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." " "`

Il y a maintenant deux façons possibles de mettre en place un tunnelage 6to4.

9.4.1.1. Utiliser "ip" et un périphérique tunnel dédié

C'est dorénavant la façon de faire qui est recommandée (une TTL doit être spécifiée, car le défaut est 0).

Créez un nouveau périphérique tunnel

# /sbin/ip tunnel add tun6to4 mode sit ttl <ttlpardéfaut> remote any local <adresseipv4locale> 

Montez l'interface

# /sbin/ip link set dev tun6to4 up 

Ajouter une adresse 6to4 locale à l'interface (note: la longueur du préfixe, 16, est importante!)

# /sbin/ip -6 addr add <adresse6to4locale>/16 dev tun6to4 

Ajouter une route (par défaut) au réseau global IPv6 en utilisant l'adresse anycast tous-routeurs-6to4 (all-6to4-routers)

# /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1

Il a été rapporté que certaines versions de ”ip” (par exemple Linux SuSe 9.0) ne prennent pas en charge les adresses IPv6 compatibles IPv4 pour les passerelles. Dans ce cas, l'adresse IPv6 correspondante doit être employée:

# /sbin/ip -6 route add 2000::/3 via 2002:c058:6301::1 dev tun6to4 metric 1

9.4.1.2. Utiliser "ifconfig", "route" et le périphérique de tunnelage ”sit0” (méthode dépréciée)

Cela est déprécié car le périphérique de tunnel générique sit0 ne permet pas de spécifier un filtrage par périphérique.

Monter l'interface de tunnelage générique sit0

# /sbin/ifconfig sit0 up 

Ajouter une adresse 6to4 locale à une interface

# /sbin/ifconfig sit0 add <adresse6to4locale>/16

Ajouter une route (par défaut) au réseau global IPv6 en utilisant l'adresse anycast IPv4 tous-relais-6to4 (all-6to4-relays)

# /sbin/route -A inet6 add 2000::/3 gw ::192.88.99.1 dev sit0

9.4.2. Ôter un tunnel 6to4

9.4.2.1. Utiliser "ip" et un périphérique de tunnelage dédié

Ôter toutes les routes traversant ce périphérique de tunnelage spécifique

# /sbin/ip -6 route flush dev tun6to4

Démonter l'interface

# /sbin/ip link set dev tun6to4 down

Ôter un périphérique tunnel

# /sbin/ip tunnel del tun6to4 

9.4.2.2. Utiliser ”ifconfig”, ”route” et un périphérique de tunnel générique ”sit0” (déprécié)

Ôter une route (par défaut) traversant une interface tunnel 6to4

# /sbin/route -A inet6 del 2000::/3 gw ::192.88.99.1 dev sit0

Ôter une adresse locale 6to4 d'une interface

# /sbin/ifconfig sit0 del <adresse6to4locale>/16

Démontage d'un périphérique de tunnelage générique (prenez garde, peut-être est-il utilisé...)

# /sbin/ifconfig sit0 down