Se faire une "IPv6 Box" - avec FreeBSD
Fin 2013 j'ai publié un article expliquant comment se faire facilement une "IPv6 Box" sous Debian, c'est à dire un serveur qui donne accès à l'IPv6 à toutes les machines de votre réseau, en exploitant deux choses : un tunnel qui encapsule l'IPv6 dans de l'IPv4 (vous permettant ainsi d'en profiter alors que votre FAI ne le propose pas) et radvd un daemon qui présente votre passerelle au reste du réseau (les périphériques se génèrent eux-même une IPv6 complète par la suite).
Avec ce nouvel article, voici comment faire la même chose sur FreeBSD !
Pré requis
Pour la théorie et la présentation du mode de fonctionnement, je vous redirige vers l'article Se faire une IPv6 Box dans lequel il y a les schémas et tout ce qui va avec. Ce que vous devez avoir, c'est :
- Un tunnel chez Hurricane Electric en /48
- Un serveur FreeBSD bien entendu, relié au même LAN que les machines que vous voulez desservir
Montage du tunnel
A ajouter au /etc/rc.conf.local :
#IPV6 HE tunnel ipv6_gateway_enable="YES" ipv6_interfaces="auto" ipv6_activate_all_interfaces="YES" ipv6_cpe_wanif="gif0" ifconfig_re0_ipv6="inet6 2001:470:c851:192::1 prefixlen 64" cloned_interfaces="gif0" ifconfig_gif0="tunnel 192.168.0.10 216.66.84.42" ifconfig_gif0_ipv6="inet6 2001:470:c851:10::1 2001:470:c851::1 prefixlen 128" ipv6_defaultrouter="2001:470:c851::1" rtadvd_enable="YES" rtadvd_interfaces="re0"
A remplacer par les éléments dont vous disposez :
- ifconfig_re0_ipv6 : Adresse IPv6 que vous donnez à votre interface de LAN (attention votre interface ne s'appelle pas forcément re0)
- ifconfig_gif0 : Adresse du LAN et adresse du serveur chez HE (Server IPv4 Address)
- ifconfig_gif0_ipv6 : Adresse IPv6 que vous donnez au gif0 et adresse du serveur chez HE (Server IPv6 Address)
- ipv6_default_router : Adresse du serveur chez HE (Server IPv6 Address)
Ensuite redémarrez votre système (la commande netif ne monte pas les tunnels IPv6).
Configuration de rtadvd
Rtadvd va faire du router advertisement c'est à dire qu'il va signaler sa présence sur le LAN aux autres machines. Vos périphériques vont donc pouvoir se générer une adresse IPv6 à partir du préfixe dont ils disposent. Donc créez et éditez le fichier /etc/rtadvd.conf :
re0:\\ :addrs#1:addr="2001:470:c851:192::":prefixlen#64:tc=ether:
Comme vous l'avez deviné ce fichier contient le préfixe du LAN.
Prenez soin de démarrer rtadvd :
# service rtadvd start
Vérification
Sur une autre machine de votre LAN, reconnectez le réseau. Vous devez maintenant voir que vous récupérez une IPv6 :
Vous pouvez aussi utiliser le site test-ipv6.com
Note : J'ai masqué mon IPv6 en rouge sur la capture, par contre j'ai laissé tout ce qui est IPv4, car soit c'est du LAN, soit c'est l'adresse IP de maniatux que tout le monde peut déjà voir ;)