Comment se connecter à Internet version 6 (IPv6) en utilisant SixXS.
Note : cette page est aussi valable pour tout autre tunnel broker (mais j'en ai pas trouvé d'autre gratuit et efficace comme SixXS)
Prérequis
- une excellente liaison vers l'Europe (moins de 100ms)
- une machine de test Debian (Sarge ou Etch) sur la DMZ, idéalement avec une IP fixe dédiée (pour test)
- des compétences de base sur IPv6 et sur la sécurité des réseaux
Mise en place
Création du tunnel
D'abord, aller sur http://www.sixxs.net, se créer un compte et demander un tunnel (au total ça prend 1 ou 2 jours, faut attendre entre les étapes car la validation est manuelle coté SixXS)
Puis créer un tunnel IPv6 sur la machine de test :
- Ajouter IPv6 dans les modules à charger au démarrage : {{{# ligne à ajouter à la fin de /etc/modules :
ipv6 }}}
- Créer un tunnel : {{{# à ajouter dans /etc/network/interfaces :
auto sit1 iface sit1 inet6 v4tunnel
- address [votre adresse IPv6 donnée par SixXS] netmask 64 local [votre adresse IPv4 (obligatoire si votre machine en a plusieurs)] endpoint [l'adresse IPv4 du point de présence SixXS] ttl 64 up ip link set mtu 1280 dev sit1 up ip route add default via [l'adresse IPv6 coté SixXS] dev sit1
}}}
Faire un ifup -v sit1 et vérifier que le tunnel existe :
{{{$ /sbin/ifconfig sit1 sit1 Lien encap:IPv6-dans-IPv4
adr inet6: 2001:770:100:a0::2/64 Scope:Global adr inet6: fe80::d59a:4146/128 Scope:Lien UP POINTOPOINT RUNNING NOARP MTU:1280 Metric:1 RX packets:2016 errors:0 dropped:0 overruns:0 frame:0 TX packets:1484 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:194768 (190.2 KiB) TX bytes:184016 (179.7 KiB)
$ /sbin/route -6 Table de routage IPv6 du noyau Destination Prochain Hop Indic Metric Ref Utilis. Iface ::1/128 :: U 0 0 0 lo 2001:770:100:a0::2/128 :: U 0 1484 0 lo 2001:770:100:a0::/64 :: U 256 1471 0 sit1 fe80::d59a:4146/128 :: U 0 0 0 lo fe80::290:96ff:fe24:5086/128 :: U 0 0 0 lo fe80::/64 :: U 256 0 0 eth0 fe80::/64 :: U 256 0 0 sit1 ff00::/8 :: U 256 0 0 eth0 ff00::/8 :: U 256 0 0 sit1 ::/0 :: UD 256 0 0 eth0 ::/0 2001:770:100:a0::1 UG 1024 20 0 sit1 }}}
- Tester le tunnel avec un ping vers l'adresse IPv6 coté SixXS : {{{$ ping6 2001:770:100:a0::1
PING 2001:770:100:a0::1(2001:770:100:a0::1) 56 data bytes 64 bytes from 2001:770:100:a0::1: icmp_seq=1 ttl=64 time=78.2 ms 64 bytes from 2001:770:100:a0::1: icmp_seq=2 ttl=64 time=78.5 ms 64 bytes from 2001:770:100:a0::1: icmp_seq=3 ttl=64 time=78.9 ms }}}
- puis vers www.renater.fr (en IPv6) : {{{$ ping6 www.renater.fr
PING www.renater.fr(2001:660:3001:4002::10) 56 data bytes 64 bytes from 2001:660:3001:4002::10: icmp_seq=1 ttl=54 time=101 ms 64 bytes from 2001:660:3001:4002::10: icmp_seq=2 ttl=54 time=112 ms 64 bytes from 2001:660:3001:4002::10: icmp_seq=3 ttl=54 time=100 ms }}}
Création d'un subnet
Une fois que votre tunnel IPv6 a fonctionné pendant une semaine, vous aurez gagné assez de crédits SixXS pour faire une demande de subnet. La documentation sera écrite ici par le premier qui y sera parvenu
Note sur la sécurité
Au niveau du parefeu de votre implantation, il faut ouvrir le protocole 41 (ipv6 dans ipv4) pour la machine de test DMZ afin que le tunnel puisse fonctionner. Il faut aussi laisser passer au moins le ping en IPv4 (mais qui ne le fait pas ?).
Au niveau de la passerelle IPv6 elle-même (votre machine de test sur la DMZ), il faut aussi faire du filtrage, mais cette fois-ci en IPv6. Il faut au moins laisser icmpv6 (pour le ping) afin que SixXS puisse tester que le tunnel fonctionne (et vous ajoute 5 crédits chaque semaine de fonctionnement). Nous sommes en train d'étudier les spécifités de netfilter pour IPv6.