Ceci est une ancienne révision du document !
Cette page est une version augmentée, améliorée et commentée du document initialement paru ici.
Le but de ce document est de mettre en place un accès direct à IPv6 par le protocole « 6to4 » (RFC 3056, RFC 3068) sur une machine Debian sarge connectée à IPv4 par une adresse IPv4 routable fixe. La machine sera elle-même configurée comme routeur IPv4/IPv6 pour le réseau derrière eth0 fournissant (optionnellement) dhcp pour IPv4 et la configuration automatique d'adresses IPv6.
Fournit la commande ip.
Serveur de configuration automatique du réseau IPv6.
Serveur DHCP et cache de serveur DNS.
Fournit le NAT au réseau IPv4 (si souhaité).
Paramétrage facile du fichier /etc/resolv.conf pour le DNS local.
J'ai utilisé le noyau Linux 2.6.8 standard de Debian sarge. Cela fonctionne aussi avec le noyau standard Linux 2.4.27 mais il faut charger explicitement le module ipv6 dans le noyau. À faire en ajoutant ipv6 à /etc/modules (à la main ou par modconf) ou bien en ajoutant où il le faut un modprobe ipv6 comme dans le /etc/network/interfaces proposé plus bas.
Fournit la commande ping6.
Fournit les commandes traceroute6 et tracepath6.
$ ip -6 route
pour savoir l'état du routage en IPv6.
$ ping6 -n www.6bone.net
pour voir les adresses sous forme numérique (hexadécimal).
$ w3m http://[2001:4f8:4:7:2e0:81ff:fe52:9a6b]/
pour surfer sur IPv6 (c'est l'adresse de www.netbsd.org à la date d'écriture de ce document.)
Il est nécessaire de transformer son adresse fixe IPv4 en son préfix IPv6 6to4 correspondant. La commande suivant le fait pour l'adresse 82.231.148.189 (la mienne) à remplacer partout par la vôtre.
$ printf "2002:%x%02x:%x%02x::\n" `echo 82.231.148.189 | tr "." " "`
qui donne 2002:52e7:94bd::. Dans tout le reste de cette documentation, cette valeur devra être remplacée par la vôtre en IPv6.
Et si vous avez (déjà) installé ipmasq, cela est fait automatiquement aussi par :
# printf "2002:%x%02x:%x%02x::\n" `echo $(ipofif $(default-if)) | tr "." " "`
Entrelardée de commentaires.
auto sit1 iface sit1 inet6 v4tunnel address 2002:52e7:94bd:feed::1 netmask 64 endpoint any local 82.231.148.189 pre-up modprobe ipv6 pre-up sysctl -w net.ipv6.conf.all.forwarding=1 pre-up sysctl -w net.ipv6.conf.all.autoconf=0 pre-up sysctl -w net.ipv6.conf.all.accept_ra=0 pre-up sysctl -w net.ipv6.conf.all.accept_redirects=0 pre-up sysctl -w net.ipv6.conf.all.router_solicitations=0 # Coupe-feu pre-up ip6tables -F pre-up ip6tables -I INPUT -i $IFACE -p tcp --syn -j DROP pre-up ip6tables -I FORWARD -i $IFACE -p tcp --syn -j DROP pre-up ip6tables -I INPUT -i $IFACE -p udp \! --dport 32768:60999 -j DROP pre-up ip6tables -I FORWARD -i $IFACE -p udp \! --dport 32768:60999 -j DROP # ssh pre-up ip6tables -I FORWARD -i $IFACE -p tcp --dport 22 -j ACCEPT # GnomeMeeting pre-up ip6tables -I FORWARD -i $IFACE -p tcp --dport 1720 -j ACCEPT # http pre-up ip6tables -I FORWARD -i $IFACE -p tcp --dport 80 -j ACCEPT up ip -6 route add default via ::192.88.99.1 dev $IFACE down ip -6 route flush dev $IFACE
À modifier si ce n'est pas eth0 chez vous.
auto eth0 iface eth0 inet6 static address 2002:c000:201::1 netmask 64 pre-up modprobe ipv6
iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0
Suppose l'installation préalable de dnsmasq et resolvconf (voir plus bas).
auto lo iface lo inet loopback dns-nameservers 127.0.0.1