J'ai remarqué un grand nombre de referer vers cet article. Malheuresement, j'ai perdu l'article d'origine, alors voila un résumé qui contient ma conf et ma manière de faire fonctionner l'IPv6 de Free. Avec un minimun d'explications.
L'activation se fait au travers de l'interface d'admin free. Après avoir coché l'option, il faut redémarrer la Freebox. L'activation est immédiate.
La Freebox transporte les paquets via un tunnel 6to4rd (source: http://www.iliad.fr/presse/2007/CP_IPv6_121207.pdf - cache). Cette "technologie innovante" est un dérivé des tunnels 6to4. Elle permet de fournir à l'utilisateur une ip avec le préfixe IPv6 attribué a Free. Ce protocole n'a donné suite à aucune spécification ou RFC. On ne peut donc pas monter soit-même son propre tunnel 6to4rd. On reste tributaire de la Freebox.
La freebox en mode IPv6 se comporte comme un routeur. Elle ne sait pas communiquer avec un autre routeur. Par défaut la freebox doit donc pouvoir joindre directement avoir toutes les adresses utilisées sur votre réseau. Elle envoie régulièrement des paquets de type "router advertisement" en multicast sur son réseau. (détails sur le "router advertisement": http://www.networksorcery.com/enp/protocol/icmp/msg9.htm - cache). Ces paquets permettent l'autoconfiguration simple des neuds IPv6 présents. La freebox prend la première adresse disponible pour le réseau fourni. ainsi, pour le reseau 2a01:e35:2f22:e3d0::/64 l'adresse de la freebox sera 2a01:e35:2f22:e3d0::1
je configure ma machine en ipv6, j'affecte une adresse ip. J'utilise la première disponible, donc 2a01:e35:2f22:e3d0::2. Je configure une route par défaut vers la freebox. Les commandes sont
ip -6 address add 2a01:e35:2f22:e3d0::2/64 dev dev_int ip -6 route add default via 2a01:e35:2f22:e3d0::1 dev_int
la commande ip -6 address retourne la configuration des interface. On peut noter des adresses positionnées automatiquement reconaissables par leur préfixe fe80::. Ces adresses sont dites "adresses de lien local" elles sont indispensable pour le bon fonctionnement d'IPv6. [...] fin des données récupérées
Les recommandations liées à IPv6 précisent que les 64 premiers bits sont utilisées pour addresser le réseau et les 64 derniers bits sont là pour adresser les hosts. Il est également recommandé aux provider de fournir une adresse avec un masque de 60 bits pour que les utilisateur puissent avoir au moins 16 réseaux chez eux. Free fourni une adresse avec un masque de 64 bits, donc un seul réseau. On peut tout de même faire plusieurs réseaux, mais on sort des standards.
Le but est d'utiliser un routeur / firewall derrière la Freebox qui n'est pas prévue pour cet usage. Pour cela, on va faire un premier sous réseau qui sera entre le routeur Freebox et le routeur votre réseau. Ce sera un réseau d'interconnexion de 2 bits, soit un masque de 126 bits. La freebox prend la première adresse disponible et se consière sur un réseau avec un masque de 64 bits: 2a01:e35:2f22:e3d0::1/64, le routeur prendra la deuxième et se considèrera sur un réseau avec un masque de 126 bits: 2a01:e35:2f22:e3d0::2/126.
Note: plutot que de donner mes vrai nom d'interface, je leur donne un nom fonctionnel. On retrouve donc:
Voila la configuration du routeur:
# active le routage v6 echo "1" > /proc/sys/net/ipv6/conf/all/forwarding echo "1" > /proc/sys/net/ipv6/conf/default/forwarding # ip/lan d'interconnexion avec la freebox ip -6 addr add 2a01:e35:2f22:e3d0::2/126 dev eth_freebox ip -6 route add default via 2a01:e35:2f22:e3d0::1 dev eth_freebox # configuration de la DMZ ip -6 addr add 2a01:e35:2f22:e3d0::1:1/112 dev eth_dmz ip -6 neigh add proxy 2a01:e35:2f22:e3d0::1:2 nud permanent dev eth_dmz ip -6 neigh add proxy 2a01:e35:2f22:e3d0::1:3 nud permanent dev eth_dmz ip -6 neigh add proxy 2a01:e35:2f22:e3d0::1:4 nud permanent dev eth_dmz ip -6 neigh add proxy 2a01:e35:2f22:e3d0::1:5 nud permanent dev eth_dmz ip -6 neigh add proxy 2a01:e35:2f22:e3d0::1:6 nud permanent dev eth_dmz # configuration du lan ip -6 addr add 2a01:e35:2f22:e3d0::2:1/112 dev eth_lan
La c lé du fonction, c'est la commande ip -6 neigh add proxy 2a01:e35:2f22:e3d0::1:2 nud permanent dev eth_dmz. Elle indique au kernel que pour le résolution "arp",