<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://verbier.restart.be/memento/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hlh</id>
	<title>Memento - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="http://verbier.restart.be/memento/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hlh"/>
	<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php/Sp%C3%A9cial:Contributions/Hlh"/>
	<updated>2026-05-02T05:00:38Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=104</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=104"/>
		<updated>2019-10-30T16:00:58Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;préfixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; concernant une adresse du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau du serveur dédié. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.0-RC1==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 226460)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -746,7 +746,7 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
   	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 226460)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -350,6 +350,8 @@&lt;br /&gt;
  	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
  	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
  	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.2-RC3==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 254050)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -971,7 +971,7 @@&lt;br /&gt;
 	if ((nrflags &amp;amp; F_INTERFACE) == 0)&lt;br /&gt;
 		flags |= RTF_GATEWAY;&lt;br /&gt;
 	if (nrflags &amp;amp; F_PROXY) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
 		flags |= RTF_ANNOUNCE;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (dest == NULL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 254050)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -356,6 +356,8 @@&lt;br /&gt;
 	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
 	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
 &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
 	nd6_na_output_fib(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Il reste un dernier problème, l&#039;adresse &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0:ffff::&amp;lt;/tt&amp;gt; d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; n&#039;est plus acceptée dans&lt;br /&gt;
la table de routage de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; avec l&#039;option &amp;lt;tt&amp;gt;proxy&amp;lt;/tt&amp;gt;. Toute connexion ipv6 à partir d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; utilise&lt;br /&gt;
par défaut cette adresse et donc l&#039;accès en ipv6 à partir d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; est compromis. La solution est cependant assez&lt;br /&gt;
simple, il suffit d&#039;ajouter l&#039;option &amp;lt;tt&amp;gt;no_prefer_iface&amp;lt;/tt&amp;gt; pour l&#039;interface &amp;lt;tt&amp;gt;gif0&amp;lt;/tt&amp;gt; d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;. Cette option&lt;br /&gt;
est également ajoutée à l&#039;interface &amp;lt;tt&amp;gt;gif0&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; par pure symétrie.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être adapté:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128 no_prefer_iface&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; est également modifié:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128 no_prefer_iface&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;home&amp;quot;               # List of static routes&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-11.0-RC1==&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c      (revision 304222)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c      (working copy)&lt;br /&gt;
 @@ -265,8 +265,11 @@&lt;br /&gt;
                 /* Always use the default FIB. */&lt;br /&gt;
                 if (rib_lookup_info(RT_DEFAULT_FIB, (struct sockaddr *)&amp;amp;dst6,&lt;br /&gt;
                     0, 0, &amp;amp;info) == 0) {&lt;br /&gt;
 +                       /*--- RestartSoft --- rt_gateway.sdl_family == 0 &lt;br /&gt;
                         if ((info.rti_flags &amp;amp; RTF_ANNOUNCE) != 0 &amp;amp;&amp;amp;&lt;br /&gt;
                             rt_gateway.sdl_family == AF_LINK) {&lt;br /&gt;
 +                   --- RestartSoft ---*/&lt;br /&gt;
 +                       if ((info.rti_flags &amp;amp; RTF_ANNOUNCE) != 0) {&lt;br /&gt;
  &lt;br /&gt;
                                 /*&lt;br /&gt;
                                 * proxy NDP for single entry&lt;br /&gt;
 @@ -357,6 +360,8 @@&lt;br /&gt;
         nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
             ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +       tlladdr = 1;    /*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +       proxy = 0;              /*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
         nd6_na_output_fib(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
             ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
             rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-12.1-RC2==&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 353428)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -270,8 +270,11 @@&lt;br /&gt;
  &lt;br /&gt;
  		if (rib_lookup_info(ifp-&amp;gt;if_fib, (struct sockaddr *)&amp;amp;dst6,&lt;br /&gt;
  		    0, 0, &amp;amp;info) == 0) {&lt;br /&gt;
 +			/*--- RestartSoft --- rt_gateway.sdl_family == 0&lt;br /&gt;
  			if ((info.rti_flags &amp;amp; RTF_ANNOUNCE) != 0 &amp;amp;&amp;amp;&lt;br /&gt;
  			    rt_gateway.sdl_family == AF_LINK) {&lt;br /&gt;
 +			--- RestartSoft ---*/&lt;br /&gt;
 +			if ((info.rti_flags &amp;amp; RTF_ANNOUNCE) != 0) {&lt;br /&gt;
  &lt;br /&gt;
  				/*&lt;br /&gt;
  				 * proxy NDP for single entry&lt;br /&gt;
 @@ -362,6 +365,8 @@&lt;br /&gt;
  	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
   	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
  	nd6_na_output_fib(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
  	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
  	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
 &lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=103</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=103"/>
		<updated>2016-08-22T07:37:57Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;préfixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; concernant une adresse du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau du serveur dédié. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.0-RC1==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 226460)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -746,7 +746,7 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
   	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 226460)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -350,6 +350,8 @@&lt;br /&gt;
  	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
  	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
  	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.2-RC3==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 254050)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -971,7 +971,7 @@&lt;br /&gt;
 	if ((nrflags &amp;amp; F_INTERFACE) == 0)&lt;br /&gt;
 		flags |= RTF_GATEWAY;&lt;br /&gt;
 	if (nrflags &amp;amp; F_PROXY) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
 		flags |= RTF_ANNOUNCE;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (dest == NULL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 254050)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -356,6 +356,8 @@&lt;br /&gt;
 	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
 	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
 &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
 	nd6_na_output_fib(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Il reste un dernier problème, l&#039;adresse &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0:ffff::&amp;lt;/tt&amp;gt; d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; n&#039;est plus acceptée dans&lt;br /&gt;
la table de routage de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; avec l&#039;option &amp;lt;tt&amp;gt;proxy&amp;lt;/tt&amp;gt;. Toute connexion ipv6 à partir d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; utilise&lt;br /&gt;
par défaut cette adresse et donc l&#039;accès en ipv6 à partir d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; est compromis. La solution est cependant assez&lt;br /&gt;
simple, il suffit d&#039;ajouter l&#039;option &amp;lt;tt&amp;gt;no_prefer_iface&amp;lt;/tt&amp;gt; pour l&#039;interface &amp;lt;tt&amp;gt;gif0&amp;lt;/tt&amp;gt; d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;. Cette option&lt;br /&gt;
est également ajoutée à l&#039;interface &amp;lt;tt&amp;gt;gif0&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; par pure symétrie.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être adapté:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128 no_prefer_iface&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; est également modifié:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128 no_prefer_iface&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;home&amp;quot;               # List of static routes&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-11.0-RC1==&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c      (revision 304222)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c      (working copy)&lt;br /&gt;
 @@ -265,8 +265,11 @@&lt;br /&gt;
                 /* Always use the default FIB. */&lt;br /&gt;
                 if (rib_lookup_info(RT_DEFAULT_FIB, (struct sockaddr *)&amp;amp;dst6,&lt;br /&gt;
                     0, 0, &amp;amp;info) == 0) {&lt;br /&gt;
 +                       /*--- RestartSoft --- rt_gateway.sdl_family == 0 &lt;br /&gt;
                         if ((info.rti_flags &amp;amp; RTF_ANNOUNCE) != 0 &amp;amp;&amp;amp;&lt;br /&gt;
                             rt_gateway.sdl_family == AF_LINK) {&lt;br /&gt;
 +                   --- RestartSoft ---*/&lt;br /&gt;
 +                       if ((info.rti_flags &amp;amp; RTF_ANNOUNCE) != 0) {&lt;br /&gt;
  &lt;br /&gt;
                                 /*&lt;br /&gt;
                                 * proxy NDP for single entry&lt;br /&gt;
 @@ -357,6 +360,8 @@&lt;br /&gt;
         nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
             ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +       tlladdr = 1;    /*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +       proxy = 0;              /*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
         nd6_na_output_fib(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
             ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
             rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=102</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=102"/>
		<updated>2013-08-28T09:29:36Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;préfixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; concernant une adresse du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau du serveur dédié. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.0-RC1==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 226460)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -746,7 +746,7 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
   	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 226460)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -350,6 +350,8 @@&lt;br /&gt;
  	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
  	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
  	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.2-RC3==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 254050)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -971,7 +971,7 @@&lt;br /&gt;
 	if ((nrflags &amp;amp; F_INTERFACE) == 0)&lt;br /&gt;
 		flags |= RTF_GATEWAY;&lt;br /&gt;
 	if (nrflags &amp;amp; F_PROXY) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
 		flags |= RTF_ANNOUNCE;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (dest == NULL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 254050)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -356,6 +356,8 @@&lt;br /&gt;
 	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
 	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
 &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
 	nd6_na_output_fib(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Il reste un dernier problème, l&#039;adresse &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0:ffff::&amp;lt;/tt&amp;gt; d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; n&#039;est plus acceptée dans&lt;br /&gt;
la table de routage de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; avec l&#039;option &amp;lt;tt&amp;gt;proxy&amp;lt;/tt&amp;gt;. Toute connexion ipv6 à partir d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; utilise&lt;br /&gt;
par défaut cette adresse et donc l&#039;accès en ipv6 à partir d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; est compromis. La solution est cependant assez&lt;br /&gt;
simple, il suffit d&#039;ajouter l&#039;option &amp;lt;tt&amp;gt;no_prefer_iface&amp;lt;/tt&amp;gt; pour l&#039;interface &amp;lt;tt&amp;gt;gif0&amp;lt;/tt&amp;gt; d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;. Cette option&lt;br /&gt;
est également ajoutée à l&#039;interface &amp;lt;tt&amp;gt;gif0&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; par pure symétrie.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être adapté:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128 no_prefer_iface&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; est également modifié:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128 no_prefer_iface&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;home&amp;quot;               # List of static routes&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Accueil&amp;diff=101</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Accueil&amp;diff=101"/>
		<updated>2011-11-20T10:34:57Z</updated>

		<summary type="html">&lt;p&gt;Hlh : Annulation des modifications 100 de Pierreistu (discussion)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ZFS sous FreeBSD==&lt;br /&gt;
&lt;br /&gt;
* [[ZFS zpool.cache]]&lt;br /&gt;
&lt;br /&gt;
==FreeBSD et IPv6==&lt;br /&gt;
&lt;br /&gt;
* [[FreeBSD IPv6 Tunnel Broker]]&lt;br /&gt;
&lt;br /&gt;
==FreeBSD sur mon Fujitsu M2010==&lt;br /&gt;
&lt;br /&gt;
* [[Fujitsu M2010 - Tuning du pilote snd_hda]]&lt;br /&gt;
&lt;br /&gt;
==Changement de version de FreeBSD==&lt;br /&gt;
&lt;br /&gt;
* [[Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1]]&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=93</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=93"/>
		<updated>2011-10-24T13:41:59Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;préfixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; concernant une adresse du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau du serveur dédié. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Actualisation des patches pour la version FreeBSD-9.0-RC1==&lt;br /&gt;
&lt;br /&gt;
Pour la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 Index: sbin/route/route.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sbin/route/route.c	(revision 226460)&lt;br /&gt;
 +++ sbin/route/route.c	(working copy)&lt;br /&gt;
 @@ -746,7 +746,7 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 -		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +/*---	so_dst.sinarp.sin_other = SIN_PROXY; --- RestartSoft ---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
   	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Dans le noyau:&lt;br /&gt;
&lt;br /&gt;
 Index: sys/netinet6/nd6_nbr.c&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c	(revision 226460)&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	(working copy)&lt;br /&gt;
 @@ -350,6 +350,8 @@&lt;br /&gt;
  	nd6_cache_lladdr(ifp, &amp;amp;saddr6, lladdr, lladdrlen,&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
 +	tlladdr = 1;	/*--- RestartSoft --- see RFC 4861 - 4.4 */&lt;br /&gt;
 +	proxy = 0;		/*--- RestartSoft --- gif0 has no mac address */&lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
  	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
  	    rflag | ND_NA_FLAG_SOLICITED, tlladdr,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=89</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=89"/>
		<updated>2011-08-13T11:31:28Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
Sous FreeBSD-9 &amp;lt;tt&amp;gt;utmp(5)&amp;lt;/tt&amp;gt; a été remplacé par l&#039;interface standardisée POSIX &amp;lt;tt&amp;gt;utmpx&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=410668+0+/usr/local/www/db/text/2010/freebsd-current/20100117.freebsd-current HEADS UP: &amp;lt;utmp.h&amp;gt; gone. All welcome &amp;lt;utmpx.h&amp;gt;]&lt;br /&gt;
&amp;lt;/ref&amp;gt;.&lt;br /&gt;
Le port &amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt; doit être supprimé car cette API est maintenant intégrée au&lt;br /&gt;
système.&lt;br /&gt;
&lt;br /&gt;
Si &amp;lt;tt&amp;gt;x11/gdm&amp;lt;/tt&amp;gt; est utilisé, il faut le réinstaller après la suppression de&lt;br /&gt;
&amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Préférence IPv6 / IPv4==&lt;br /&gt;
J&#039;ai constaté que FreeBSD-9.0 utilise par défaut IPv4 tandis que la version précédente (FreeBSD-8.2)&lt;br /&gt;
utilisait par défaut IPv6 si le protocole est disponible entre le client et le serveur. Ce&lt;br /&gt;
comportement est contrôlé par la commande &amp;lt;tt&amp;gt;ip6addrctl(8)&amp;lt;/tt&amp;gt;. Pour rétablir la priorité du protocole IPv6, il suffit d&#039;ajouter un parapètre dans &amp;lt;tt&amp;gt;/etc/rc.conf&amp;lt;/tt&amp;gt; ou&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
  ip6addrctl_policy=&amp;quot;ipv6_prefer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Référence==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=88</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=88"/>
		<updated>2011-08-13T11:29:01Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
Sous FreeBSD-9 &amp;lt;tt&amp;gt;utmp(5)&amp;lt;/tt&amp;gt; a été remplacé par l&#039;interface standardisée POSIX &amp;lt;tt&amp;gt;utmpx&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/mid.cgi?20100113194254.GR64905 HEADS UP: &amp;lt;utmp.h&amp;gt; gone. All welcome &amp;lt;utmpx.h&amp;gt;]&lt;br /&gt;
&amp;lt;/ref&amp;gt;.&lt;br /&gt;
Le port &amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt; doit être supprimé car cette API est maintenant intégrée au&lt;br /&gt;
système.&lt;br /&gt;
&lt;br /&gt;
Si &amp;lt;tt&amp;gt;x11/gdm&amp;lt;/tt&amp;gt; est utilisé, il faut le réinstaller après la suppression de&lt;br /&gt;
&amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Préférence IPv6 / IPv4==&lt;br /&gt;
J&#039;ai constaté que FreeBSD-9.0 utilise par défaut IPv4 tandis que la version précédente (FreeBSD-8.2)&lt;br /&gt;
utilisait par défaut IPv6 si le protocole est disponible entre le client et le serveur. Ce&lt;br /&gt;
comportement est contrôlé par la commande &amp;lt;tt&amp;gt;ip6addrctl(8)&amp;lt;/tt&amp;gt;. Pour rétablir la priorité du protocole IPv6, il suffit d&#039;ajouter un parapètre dans &amp;lt;tt&amp;gt;/etc/rc.conf&amp;lt;/tt&amp;gt; ou&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
  ip6addrctl_policy=&amp;quot;ipv6_prefer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Référence==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=87</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=87"/>
		<updated>2011-08-13T11:27:24Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Adaptation des ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
Sous FreeBSD-9 &amp;lt;tt&amp;gt;utmp(5)&amp;lt;/tt&amp;gt; a été remplacé par l&#039;interface standardisée POSIX &amp;lt;tt&amp;gt;utmpx&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/mid.cgi?20100113194254.GR64905 HEADS UP: &amp;lt;utmp.h&amp;gt; gone. All welcome &amp;lt;utmpx.h&amp;gt;]&lt;br /&gt;
&amp;lt;/ref&amp;gt;.&lt;br /&gt;
Le port &amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt; doit être supprimé car cette API est maintenant intégrée au&lt;br /&gt;
système.&lt;br /&gt;
&lt;br /&gt;
Si &amp;lt;tt&amp;gt;x11/gdm&amp;lt;/tt&amp;gt; est utilisé, il faut le réinstaller après la suppression de&lt;br /&gt;
&amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Préférence IPv6 / IPv4==&lt;br /&gt;
J&#039;ai constaté que FreeBSD-9.0 utilise par défaut IPv4 tandis que la version précédente (FreeBSD-8.2)&lt;br /&gt;
utilisait par défaut IPv6 si le protocole est disponible entre le client et le serveur. Ce&lt;br /&gt;
comportement est contrôlé par la commande &amp;lt;tt&amp;gt;ip6addrctl(8)&amp;lt;/tt&amp;gt;. Pour rétablir la priorité du protocole IPv6, il suffit d&#039;ajouter un parapètre dans &amp;lt;tt&amp;gt;/etc/rc.conf&amp;lt;/tt&amp;gt; ou&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
  ip6addrctl_policy=&amp;quot;ipv6_prefer&amp;quot;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=86</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=86"/>
		<updated>2011-08-13T10:32:44Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Adaptation des ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
Sous FreeBSD-9 &amp;lt;tt&amp;gt;utmp(5)&amp;lt;/tt&amp;gt; a été remplacé par l&#039;interface standardisée POSIX &amp;lt;tt&amp;gt;utmpx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Le port &amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt; doit être supprimé car cette API est maintenant intégrée au&lt;br /&gt;
système.&lt;br /&gt;
&lt;br /&gt;
Si &amp;lt;tt&amp;gt;x11/gdm&amp;lt;/tt&amp;gt; est utilisé, il faut le réinstaller après la suppression de&lt;br /&gt;
&amp;lt;tt&amp;gt;sysutils/libutempter&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Préférence IPv6 / IPv4==&lt;br /&gt;
J&#039;ai constaté que FreeBSD-9.0 utilise par défaut IPv4 tandis que la version précédente (FreeBSD-8.2)&lt;br /&gt;
utilisait par défaut IPv6 si le protocole est disponible entre le client et le serveur. Ce&lt;br /&gt;
comportement est contrôlé par la commande &amp;lt;tt&amp;gt;ip6addrctl(8)&amp;lt;/tt&amp;gt;. Pour rétablir la priorité du protocole IPv6, il suffit d&#039;ajouter un parapètre dans &amp;lt;tt&amp;gt;/etc/rc.conf&amp;lt;/tt&amp;gt; ou&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
  ip6addrctl_policy=&amp;quot;ipv6_prefer&amp;quot;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=85</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=85"/>
		<updated>2011-08-13T10:10:22Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
A suivre ...&lt;br /&gt;
&lt;br /&gt;
==Préférence IPv6 / IPv4==&lt;br /&gt;
J&#039;ai constaté que FreeBSD-9.0 utilise par défaut IPv4 tandis que la version précédente (FreeBSD-8.2)&lt;br /&gt;
utilisait par défaut IPv6 si le protocole est disponible entre le client et le serveur. Ce&lt;br /&gt;
comportement est contrôlé par la commande &amp;lt;tt&amp;gt;ip6addrctl(8)&amp;lt;/tt&amp;gt;. Pour rétablir la priorité du protocole IPv6, il suffit d&#039;ajouter un parapètre dans &amp;lt;tt&amp;gt;/etc/rc.conf&amp;lt;/tt&amp;gt; ou&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
  ip6addrctl_policy=&amp;quot;ipv6_prefer&amp;quot;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=84</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=84"/>
		<updated>2011-07-31T15:53:57Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
A suivre ...&lt;br /&gt;
&lt;br /&gt;
==préférence ipv6 / ipv4==&lt;br /&gt;
A suivre ...&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=83</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=83"/>
		<updated>2011-07-31T15:47:03Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
A suivre ...&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=82</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=82"/>
		<updated>2011-07-31T15:45:29Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau loader le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau &amp;lt;tt&amp;gt;zfsloader&amp;lt;/tt&amp;gt; ne le charge plus. Il s&#039;agit là de la cause&lt;br /&gt;
qui entraîne, aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt; si l&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&lt;br /&gt;
n&#039;est pas activé pour la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte WiFi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
A suivre ...&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Cette mise à jour se fait en démarrant le système à l&#039;aide d&#039;une clé USB (par exemple&lt;br /&gt;
[http://mfsbsd.vx.sk/ mfsBSD]) pour que l&#039;accès à la partition ne soit pas protégé.&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;. Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; avec le compilateur classique&lt;br /&gt;
&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout rentre dans l&#039;ordre.&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=81</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=81"/>
		<updated>2011-07-31T15:22:20Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau loader le noyau&lt;br /&gt;
8.2-STABLE, le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau loader ne le charge plus. Il s&#039;agit là du problème qui entraîne,&lt;br /&gt;
aussi bien en 8.2-STABLE qu&#039;en 9.0-BETA1, le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt;; vraisemblablement du à la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte wifi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;introduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, la carte est à nouveau correctement&lt;br /&gt;
détectée.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
A suivre ...&lt;br /&gt;
&lt;br /&gt;
==Démarrage avec zfsboot==&lt;br /&gt;
&lt;br /&gt;
Sur un de mes systèmes, le disque est partagé entre &amp;lt;tt&amp;gt;Windows 7&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; est sur un pool &amp;lt;tt&amp;gt;ZFS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@meribel ~]# gpart show     &lt;br /&gt;
 =&amp;gt;       63  312581745  ada0  MBR  (149G)&lt;br /&gt;
          63  167782797     1  ntfs  (80G)&lt;br /&gt;
   167782860  144798948     2  freebsd  [active]  (69G)&lt;br /&gt;
  &lt;br /&gt;
 =&amp;gt;        0  144798948  ada0s2  BSD  (69G)&lt;br /&gt;
           0  144798948       1  freebsd-zfs  (69G)&lt;br /&gt;
&lt;br /&gt;
Il faut donc, pour pouvoir mettre à niveau la version du pool ZFS, préalablement mettre à niveau le &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt; de la partition &amp;lt;tt&amp;gt;FreeBSD&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;/dev/ada0s2a&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 count=1&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes transferred in 0.016262 secs (31484 bytes/sec)&lt;br /&gt;
 /bin/dd if=/boot/zfsboot of=/dev/ada0s2a bs=512 skip=1 seek=1024 &lt;br /&gt;
 128+0 records in&lt;br /&gt;
 128+0 records out&lt;br /&gt;
 65536 bytes transferred in 0.012285 secs (5334638 bytes/sec)&lt;br /&gt;
&lt;br /&gt;
Mais comme j&#039;avais déjà recompilé tous le système à l&#039;aide du nouveau compilateur &amp;lt;tt&amp;gt;clang&amp;lt;/tt&amp;gt;,&lt;br /&gt;
j&#039;ai constaté que le démarrage du système se bloque lors de l&#039;affichage de la barre tournante&lt;br /&gt;
par &amp;lt;tt&amp;gt;zfsboot&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir compilé &amp;lt;tt&amp;gt;zfsboot&amp;lt;&amp;gt;tt&amp;gt; avec le compilateur classique &amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;, tout&lt;br /&gt;
est rentré dans l&#039;ordre.&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=80</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=80"/>
		<updated>2011-07-31T14:34:28Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau loader le noyau&lt;br /&gt;
8.2-STABLE le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau loader ne le charge plus. Il s&#039;agit là du problème qui entraîne&lt;br /&gt;
aussi bien en 8.2_STABLE qu&#039;en 9.0-BETA1 le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt;; vraisemblablement du à la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte wifi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;intruduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
A suivre ...&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=79</id>
		<title>Passage de FreeBSD-8.2-STABLE a FreeBSD-9.0-BETA1</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Passage_de_FreeBSD-8.2-STABLE_a_FreeBSD-9.0-BETA1&amp;diff=79"/>
		<updated>2011-07-31T14:33:39Z</updated>

		<summary type="html">&lt;p&gt;Hlh : Page créée avec « ==Adaptation de la configuration du noyau==  Après avoir effectué la procédure classique:   [root@morzine ~]# cd /usr/src  [root@morzine src]# rm -r .svn *  [root@morzine ... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adaptation de la configuration du noyau==&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué la procédure classique:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# cd /usr/src&lt;br /&gt;
 [root@morzine src]# rm -r .svn *&lt;br /&gt;
 [root@morzine src]# svn co http://svn.freebsd.org/base/head /usr/src&lt;br /&gt;
 A    /tmp/src/usr.bin&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/pathnames.h&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/readrec.c&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/Makefile&lt;br /&gt;
 A    /tmp/src/usr.bin/lastcomm/lastcomm.1&lt;br /&gt;
 A    /tmp/src/usr.bin/kdump&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -p&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s buildworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s kernel&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# make -s installworld&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# mergemaster -Fi&lt;br /&gt;
 ...&lt;br /&gt;
 [root@morzine src]# shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Le système redémarre avec le nouveau noyau, mais s&#039;arrête avec l&#039;erreur &#039;&#039;&#039;&amp;lt;tt&amp;gt;Fatal trap 12: page fault while in kernel mode&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. En redémarrant avec le nouveau loader le noyau&lt;br /&gt;
8.2-STABLE le système s&#039;arrête avec la même erreur! :-O&lt;br /&gt;
&lt;br /&gt;
Après quelques recherches, je constate qu&#039;en version 9.0 le module &#039;&#039;&#039;&amp;lt;tt&amp;gt;acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; n&#039;existe&lt;br /&gt;
plus et que donc le nouveau loader ne le charge plus. Il s&#039;agit là du problème qui entraîne&lt;br /&gt;
aussi bien en 8.2_STABLE qu&#039;en 9.0-BETA1 le &amp;lt;tt&amp;gt;Fatal trap 12&amp;lt;/tt&amp;gt;; vraisemblablement du à la configuration particulière de mon système.&lt;br /&gt;
&lt;br /&gt;
En ajoutant &#039;&#039;&#039;&amp;lt;tt&amp;gt;device acpi&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration de mon noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
Hélas, la carte wifi &amp;lt;tt&amp;gt;Atheros 5424/2424&amp;lt;/tt&amp;gt; n&#039;est plus reconnue. Ce problème est provoqué&lt;br /&gt;
par l&#039;intruduction en FreeBSD 9.0 du nouveau module &amp;lt;tt&amp;gt;ath_pci&amp;lt;/tt&amp;gt;. En ajoutant&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;device ath_pci&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la configuration du noyau, tout rentre dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
==Adaptation des ports==&lt;br /&gt;
&lt;br /&gt;
A suivre ...&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=75</id>
		<title>Fujitsu M2010 - Tuning du pilote snd hda</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=75"/>
		<updated>2010-09-20T20:53:43Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un Fujitsu M2010. Grâce au récent travail de&lt;br /&gt;
&#039;&#039;&#039;Hans Petter Selasky&#039;&#039;&#039;, la webcam fonctionne parfaitement (&amp;lt;tt&amp;gt;multimedia/cuse4bsd-kmod&amp;lt;/tt&amp;gt; +&lt;br /&gt;
&amp;lt;tt&amp;gt;multimedia/libv4l&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/webcamd&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Pwcview-1.4.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; fonctionne parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-2.0.11&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam mais par contre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-3.2.6&amp;lt;/tt&amp;gt;&#039;&#039;&#039; la détecte parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Cheese 2.30.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam.&lt;br /&gt;
&lt;br /&gt;
Il ne me restait plus comme seule problème que la détection du microphone interne par le pilote&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;snd_hda&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Une lecture attentive de &amp;lt;tt&amp;gt;snd_hda(4)&amp;lt;/tt&amp;gt; et de nombreux tâtonnements m&#039;ont permis de déterminer&lt;br /&gt;
les &#039;&#039;&#039;&#039;&#039;hint.hdac&#039;&#039;&#039;&#039;&#039; a placer dans le fichier &amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sans aucun &amp;lt;tt&amp;gt;hint.hdac&amp;lt;/tt&amp;gt; la commande &amp;lt;tt&amp;gt;sysctl dev.hdac.0.pindump=1&amp;lt;/tt&amp;gt; donne la&lt;br /&gt;
configuration par défaut:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
En ajoutant dans le fichier &#039;&#039;&#039;&amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 hint.hdac.0.cad0.nid18.config=&amp;quot;as=2 seq=0 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid20.config=&amp;quot;as=1 seq=0 device=Speaker&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid21.config=&amp;quot;as=1 seq=15 device=Headphones&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid24.config=&amp;quot;as=3 seq=1 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid29.config=&amp;quot;as=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on obtient la configuration suivante:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet d&#039;utiliser le microphone interne du M2010 et en plus elle définit&lt;br /&gt;
l&#039;entrée des écouteurs externes comme remplaçant les haut-parleurs internes lorsque les écouteurs&lt;br /&gt;
sont branchés.&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le micro externe ne fonctionne toujours pas :-(&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=70</id>
		<title>Fujitsu M2010 - Tuning du pilote snd hda</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=70"/>
		<updated>2010-09-20T15:50:07Z</updated>

		<summary type="html">&lt;p&gt;Hlh : a déplacé Fujitsu M2010 -Tuning du driver snd hda vers Fujitsu M2010 - Tuning du pilote snd hda&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un Fujitsu M2010. Grâce au récent travail de&lt;br /&gt;
&#039;&#039;&#039;Hans Petter Selasky&#039;&#039;&#039;, la webcam fonctionne parfaitement (&amp;lt;tt&amp;gt;multimedia/cuse4bsd-kmod&amp;lt;/tt&amp;gt; +&lt;br /&gt;
&amp;lt;tt&amp;gt;multimedia/libv4l&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/webcamd&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Pwcview-1.4.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; fonctionne parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-2.0.11&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam mais par contre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-3.2.6&amp;lt;/tt&amp;gt;&#039;&#039;&#039; la détecte parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Cheese 2.30.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam.&lt;br /&gt;
&lt;br /&gt;
Il ne me restait plus comme seule problème la détection du microphone interne par le pilote&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;snd_hda&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Une lecture attentive de &amp;lt;tt&amp;gt;snd_hda(4)&amp;lt;/tt&amp;gt; et de nombreux tâtonnements m&#039;ont permis de déterminer&lt;br /&gt;
les &#039;&#039;&#039;&#039;&#039;hint.hdac&#039;&#039;&#039;&#039;&#039; a placer dans le fichier &amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sans aucun &amp;lt;tt&amp;gt;hint.hdac&amp;lt;/tt&amp;gt; la commande &amp;lt;tt&amp;gt;sysctl dev.hdac.0.pindump=1&amp;lt;/tt&amp;gt; donne la&lt;br /&gt;
configuration par défaut:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
En ajoutant dans le fichier &#039;&#039;&#039;&amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 hint.hdac.0.cad0.nid18.config=&amp;quot;as=2 seq=0 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid20.config=&amp;quot;as=1 seq=0 device=Speaker&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid21.config=&amp;quot;as=1 seq=15 device=Headphones&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid24.config=&amp;quot;as=3 seq=1 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid29.config=&amp;quot;as=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on obtient la configuration suivante:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet d&#039;utiliser le microphone interne du M2010 et en plus elle définit&lt;br /&gt;
l&#039;entrée des écouteurs externes comme remplaçant les haut-parleurs internes lorsque les écouteurs&lt;br /&gt;
sont branchés.&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le micro externe ne fonctionne toujours pas :-(&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=69</id>
		<title>Fujitsu M2010 - Tuning du pilote snd hda</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=69"/>
		<updated>2010-09-20T15:48:56Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un Fujitsu M2010. Grâce au récent travail de&lt;br /&gt;
&#039;&#039;&#039;Hans Petter Selasky&#039;&#039;&#039;, la webcam fonctionne parfaitement (&amp;lt;tt&amp;gt;multimedia/cuse4bsd-kmod&amp;lt;/tt&amp;gt; +&lt;br /&gt;
&amp;lt;tt&amp;gt;multimedia/libv4l&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/webcamd&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Pwcview-1.4.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; fonctionne parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-2.0.11&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam mais par contre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-3.2.6&amp;lt;/tt&amp;gt;&#039;&#039;&#039; la détecte parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Cheese 2.30.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam.&lt;br /&gt;
&lt;br /&gt;
Il ne me restait plus comme seule problème la détection du microphone interne par le pilote&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;snd_hda&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Une lecture attentive de &amp;lt;tt&amp;gt;snd_hda(4)&amp;lt;/tt&amp;gt; et de nombreux tâtonnements m&#039;ont permis de déterminer&lt;br /&gt;
les &#039;&#039;&#039;&#039;&#039;hint.hdac&#039;&#039;&#039;&#039;&#039; a placer dans le fichier &amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sans aucun &amp;lt;tt&amp;gt;hint.hdac&amp;lt;/tt&amp;gt; la commande &amp;lt;tt&amp;gt;sysctl dev.hdac.0.pindump=1&amp;lt;/tt&amp;gt; donne la&lt;br /&gt;
configuration par défaut:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
En ajoutant dans le fichier &#039;&#039;&#039;&amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 hint.hdac.0.cad0.nid18.config=&amp;quot;as=2 seq=0 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid20.config=&amp;quot;as=1 seq=0 device=Speaker&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid21.config=&amp;quot;as=1 seq=15 device=Headphones&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid24.config=&amp;quot;as=3 seq=1 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid29.config=&amp;quot;as=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on obtient la configuration suivante:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet d&#039;utiliser le microphone interne du M2010 et en plus elle définit&lt;br /&gt;
l&#039;entrée des écouteurs externes comme remplaçant les haut-parleurs internes lorsque les écouteurs&lt;br /&gt;
sont branchés.&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le micro externe ne fonctionne toujours pas :-(&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=68</id>
		<title>Fujitsu M2010 - Tuning du pilote snd hda</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=68"/>
		<updated>2010-09-20T15:44:43Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un Fujitsu M2010. Grâce au récent travail de &#039;&#039;&#039;Hans Petter Selasky&#039;&#039;&#039;, la webcam fonctionne parfaitement&lt;br /&gt;
(&amp;lt;tt&amp;gt;multimedia/cuse4bsd-kmod&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/libv4l&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/webcamd&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Pwcview-1.4.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; fonctionne parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-2.0.11&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam mais par contre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-3.2.6&amp;lt;/tt&amp;gt;&#039;&#039;&#039; la détecte parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Cheese 2.30.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam.&lt;br /&gt;
&lt;br /&gt;
Il ne me restait plus comme seule problème la détection du microphone interne par le pilote &#039;&#039;&#039;&amp;lt;tt&amp;gt;snd_hda&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Une lecture attentive de &amp;lt;tt&amp;gt;snd_hda(4)&amp;lt;/tt&amp;gt; et de nombreux tâtonnements m&#039;ont permis de déterminer les &#039;&#039;&#039;&#039;&#039;hint.hdac&#039;&#039;&#039;&#039;&#039; a placer&lt;br /&gt;
dans le fichier &amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sans aucun &amp;lt;tt&amp;gt;hint.hdac&amp;lt;/tt&amp;gt; la commande &amp;lt;tt&amp;gt;sysctl dev.hdac.0.pindump=1&amp;lt;/tt&amp;gt; donne la configuration par défaut:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
En ajoutant dans le fichier &#039;&#039;&#039;&amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 hint.hdac.0.cad0.nid18.config=&amp;quot;as=2 seq=0 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid20.config=&amp;quot;as=1 seq=0 device=Speaker&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid21.config=&amp;quot;as=1 seq=15 device=Headphones&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid24.config=&amp;quot;as=3 seq=1 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid29.config=&amp;quot;as=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on obtient la configuration suivante:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet d&#039;utiliser le micro interne du M2010 et en plus elle définit l&#039;entrée écouteurs externes comme remplaçant&lt;br /&gt;
les haut-parleurs internes lorsque les écouteurs sont branchés.&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le micro externe ne fonctionne toujours pas :-(&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=67</id>
		<title>Fujitsu M2010 - Tuning du pilote snd hda</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=67"/>
		<updated>2010-09-20T11:33:37Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un Fujitsu M2010. Grâce au récent travail de &#039;&#039;&#039;Hans Petter Selasky&#039;&#039;&#039;, la webcam fonctionne parfaitement&lt;br /&gt;
(&amp;lt;tt&amp;gt;multimedia/cuse4bsd-kmod&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/libv4l&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/webcamd&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Pwcview-1.4.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; fonctionne parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-2.0.11&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam mais par contre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-3.2.6&amp;lt;/tt&amp;gt;&#039;&#039;&#039; la détecte parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Cheese 2.30.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam.&lt;br /&gt;
&lt;br /&gt;
Il ne me restait plus comme seule problème la détection du micro interne par le driver &#039;&#039;&#039;&amp;lt;tt&amp;gt;snd_hda&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Une lecture attentive de &amp;lt;tt&amp;gt;snd_hda(4)&amp;lt;/tt&amp;gt; et de nombreux tâtonnements m&#039;ont permis de déterminer les &#039;&#039;&#039;&#039;&#039;hint.hdac&#039;&#039;&#039;&#039;&#039; a placer&lt;br /&gt;
dans le fichier &amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sans aucun &amp;lt;tt&amp;gt;hint.hdac&amp;lt;/tt&amp;gt; la commande &amp;lt;tt&amp;gt;sysctl dev.hdac.0.pindump=1&amp;lt;/tt&amp;gt; donne la configuration par défaut:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
En ajoutant dans le fichier &#039;&#039;&#039;&amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 hint.hdac.0.cad0.nid18.config=&amp;quot;as=2 seq=0 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid20.config=&amp;quot;as=1 seq=0 device=Speaker&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid21.config=&amp;quot;as=1 seq=15 device=Headphones&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid24.config=&amp;quot;as=3 seq=1 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid29.config=&amp;quot;as=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on obtient la configuration suivante:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet d&#039;utiliser le micro interne du M2010 et en plus elle définit l&#039;entrée écouteurs externes comme remplaçant&lt;br /&gt;
les haut-parleurs internes lorsque les écouteurs sont branchés.&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le micro externe ne fonctionne toujours pas :-(&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=66</id>
		<title>Fujitsu M2010 - Tuning du pilote snd hda</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Fujitsu_M2010_-_Tuning_du_pilote_snd_hda&amp;diff=66"/>
		<updated>2010-09-20T11:05:17Z</updated>

		<summary type="html">&lt;p&gt;Hlh : Page créée avec « ==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD== Je dispose depuis quelques temps d&amp;#039;un Fujitsu M2010. Grâce au récent travail de &amp;#039;&amp;#039;&amp;#039;Hans Petter Selasky&amp;#039;&amp;#039;&amp;#039;, l… »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Les possibilités multimédia du Fujitsu M2010 sous FreeBSD==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un Fujitsu M2010. Grâce au récent travail de &#039;&#039;&#039;Hans Petter Selasky&#039;&#039;&#039;, la webcam fonctionne parfaitement&lt;br /&gt;
(&amp;lt;tt&amp;gt;multimedia/cuse4bsd-kmod&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/libv4l&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;multimedia/webcamd&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Pwcview-1.4.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; fonctionne parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-2.0.11&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam mais par contre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Ekiga-3.2.6&amp;lt;/tt&amp;gt;&#039;&#039;&#039; la détecte parfaitement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tt&amp;gt;Cheese 2.30.1&amp;lt;/tt&amp;gt;&#039;&#039;&#039; ne détecte pas bien la webcam.&lt;br /&gt;
&lt;br /&gt;
Il ne me restait plus comme seule problème la détection du micro interne par le driver &#039;&#039;&#039;&amp;lt;tt&amp;gt;snd_hda&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Une lecture attentive de &amp;lt;tt&amp;gt;snd_hda(4)&amp;lt;/tt&amp;gt; et de nombreux tâtonnements m&#039;ont permis de déterminer les &#039;&#039;&#039;&#039;&#039;hint.hdac&#039;&#039;&#039;&#039;&#039; a placer&lt;br /&gt;
dans le fichier &amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sans aucun &amp;lt;tt&amp;gt;hint.hdac&amp;lt;/tt&amp;gt; la commande &amp;lt;tt&amp;gt;sysctl dev.hdac.0.pindump=1&amp;lt;/tt&amp;gt; donne la configuration par défaut:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
En ajoutant dans le fichier &#039;&#039;&#039;&amp;lt;tt&amp;gt;/boot/loader.conf.local&amp;lt;/tt&amp;gt;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 hint.hdac.0.cad0.nid18.config=&amp;quot;as=2 seq=0 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid20.config=&amp;quot;as=1 seq=0 device=Speaker&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid21.config=&amp;quot;as=1 seq=15 device=Headphones&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid24.config=&amp;quot;as=3 seq=1 device=Mic&amp;quot;&lt;br /&gt;
 hint.hdac.0.cad0.nid29.config=&amp;quot;as=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on obtient la configuration suivante:&lt;br /&gt;
&lt;br /&gt;
 hdac0: Dumping AFG cad=0 nid=1 pins:&lt;br /&gt;
 hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1&lt;br /&gt;
 hdac0:        Caps:    OUT    EAPD     &lt;br /&gt;
 hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT             &lt;br /&gt;
 hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN OUT         VREF Sense: 0x00000000&lt;br /&gt;
 hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps: IN                 &lt;br /&gt;
 hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]&lt;br /&gt;
 hdac0:        Caps:    OUT              Sense: 0x00000000&lt;br /&gt;
 hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet d&#039;utiliser le micro interne du M2010 et en plus défini l&#039;entrée écouteurs externes comme remplaçant&lt;br /&gt;
les haut-parleurs internes lorsque les écouteurs sont branchés.&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le micro externe ne fonctionne toujours pas :-(&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=64</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=64"/>
		<updated>2010-08-26T08:20:18Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;préfixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; concernant une adresse du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau du serveur dédié. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Memento:Accueil&amp;diff=63</id>
		<title>Memento:Accueil</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Memento:Accueil&amp;diff=63"/>
		<updated>2010-07-28T12:42:27Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Je suis un informaticien prépensionné, vous pouvez me contacter à l&#039;adresse [mailto:hlh@restart.be Henri Hennebert].&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=Utilisateur:Hlh&amp;diff=56</id>
		<title>Utilisateur:Hlh</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=Utilisateur:Hlh&amp;diff=56"/>
		<updated>2009-07-20T14:42:05Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Je suis un administrateur de systèmes sous [http://www.freebsd.org/fr/ FreeBSD] depuis la [http://www.freebsd.org/releases/#past version 2.1]. FreeBSD m&#039;a permis de gérer tous les services internet / intranet (DNS, mail, web, proxy, ftp, news...) de l&#039;entreprise pour laquelle je travaillais. je suis en pré-retraite actuellement :-) et donc j&#039;ai plus de disponibilités pour explorer les nouveautés que je trouve intéressantes.&lt;br /&gt;
&lt;br /&gt;
J&#039;enregistre sur ce memento les differentes informations que j&#039;ai glanées ces derniers temps concernant plus particulièrement les dernières évolutions de FreeBSD.&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=51</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=51"/>
		<updated>2009-07-15T17:51:37Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; concernant une adresse du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau du serveur dédié. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=49</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=49"/>
		<updated>2009-07-07T15:53:38Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...] - (Les adresses IPv6 ont changé depuis le passage à un nouveau serveur)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; des adresses du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=47</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=47"/>
		<updated>2009-07-07T15:47:58Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Après cette modification, un test n&#039;est hélas pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux tests à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; des adresses du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=46</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=46"/>
		<updated>2009-07-07T15:46:11Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background-color:#ffc0c0;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Une remarque finale s&#039;impose&#039;&#039;&#039;: Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; des adresses du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;). Pour ce faire, toutes les adresses doivent avoir, pour les 3 derniers octets, une valeur identique à celle attribuée à la carte réseau. Dans cette exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à manipuler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=45</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=45"/>
		<updated>2009-07-07T15:37:48Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
Une remarque finale s&#039;impose. Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; des&lt;br /&gt;
adresses du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (&#039;&#039;multicast filtering&#039;&#039;).&lt;br /&gt;
Toutes les adresses doivent avoir une valeur identique pour les 3 derniers octets à celle attribuée à la carte réseau. Dans cette&lt;br /&gt;
exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à calculer.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=44</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=44"/>
		<updated>2009-07-07T15:36:13Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
Une remarque finale s&#039;impose. Pour que le &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039; puisse recevoir un &#039;&#039;neighbor solicitation&#039;&#039; des&lt;br /&gt;
adresses du réseau du domicile, ce message &#039;&#039;ICMP6&#039;&#039; ne doit pas être filtré par le pilote de la carte réseau (multicast filtering).&lt;br /&gt;
Toutes les adresses doivent avoir une valeur identique pour les 3 derniers octets à celle attribuée à la carte réseau. Dans cette&lt;br /&gt;
exemple j&#039;ai opté pour les 4 derniers octets à zéro - les 3 derniers auraient suffis mais l&#039;extension à 4 me semblait plus simple à calculer.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=43</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=43"/>
		<updated>2009-07-07T15:23:12Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à ajouter deux &#039;&#039;scripts&#039;&#039; au répertoire &amp;lt;tt&amp;gt;/usr/local/etc/mpd5&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# cd /usr/local/etc/mpd5&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.linkup &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$3&lt;br /&gt;
 /sbin/pfctl -F all -f /etc/pf.conf&lt;br /&gt;
 /usr/local/etc/mpd5/adsl.up ${MYADDR} &amp;amp;&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# cat adsl.up&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 MYADDR=$1&lt;br /&gt;
 MYADDR=`echo $MYADDR | sed &#039;s/\/32//&#039;`&lt;br /&gt;
 TIGNES=&amp;quot;94.23.44.41&amp;quot;&lt;br /&gt;
 sleep 10&lt;br /&gt;
 usr/bin/killall -KILL ntpd&lt;br /&gt;
 /etc/rc.d/ntpd start&lt;br /&gt;
 #--- tignes ---{&lt;br /&gt;
 #--- IPV6 tunnel&lt;br /&gt;
 /sbin/ifconfig gif0 tunnel ${MYADDR} ${TIGNES}&lt;br /&gt;
 /usr/bin/ssh -4 ${TIGNES} /sbin/ifconfig gif0 tunnel ${TIGNES} ${MYADDR}&lt;br /&gt;
 #--- DNS update&lt;br /&gt;
 sleep 5		#--- wait for the IPv6 connection with tignes&lt;br /&gt;
 /usr/local/bin/dnsupdate -u avoriaz.restart.be=${MYADDR}&lt;br /&gt;
 #--- tignes ---}&lt;br /&gt;
 exit 0&lt;br /&gt;
 [root@avoriaz mpd5]# &lt;br /&gt;
&lt;br /&gt;
Une remarque finale s&#039;impose.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=42</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=42"/>
		<updated>2009-07-07T15:17:11Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le tunnel vers la maison */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=41</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=41"/>
		<updated>2009-07-07T15:16:29Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Connexion du serveur dédié au réseau IPv6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=40</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=40"/>
		<updated>2009-07-07T15:16:07Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 17:13:42.240587 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 17:13:42.402779 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.403098 IP6 fe80::222:15ff:feb4:4257 &amp;gt; fe80::21e:79ff:fe1e:f000: ICMP6, neighbor advertisement, tgt is 2001:41d0:2:2d29:1:2::, length 32&lt;br /&gt;
 17:13:42.406509 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 0, length 16&lt;br /&gt;
 17:13:43.240987 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 17:13:43.401280 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 1, length 16&lt;br /&gt;
 17:13:44.238972 IP6 2001:41d0:2:2d29:1:2:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 2, length 16&lt;br /&gt;
 17:13:44.399157 IP6 2001:4f8:fff6::21 &amp;gt; 2001:41d0:2:2d29:1:2::: ICMP6, echo reply, seq 2, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 8 packets captured&lt;br /&gt;
 60 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Pendant que sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:2:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=52 time=178.485 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=52 time=171.677 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=52 time=171.798 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 171.677/173.987/178.485/3.181 ms &lt;br /&gt;
 &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=39</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=39"/>
		<updated>2009-07-07T15:12:19Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=38</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=38"/>
		<updated>2009-07-07T15:11:48Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitations de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponse.&lt;br /&gt;
Il reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465 route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne au moins&lt;br /&gt;
jusqu&#039;à la version &amp;lt;tt&amp;gt;7.2-STABLE r193696&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
Le test suivant n&#039;est pas plus concluant. Passons donc au debugging de &amp;lt;tt&amp;gt;/usr/src/sys/netinet6/nd6_nbr.c&amp;lt;/tt&amp;gt;...&lt;br /&gt;
Quelques joyeux test à l&#039;aide d&#039;une configuration de machines virtuelles &amp;lt;tt&amp;gt;qemu&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=qemu-0.1&amp;amp;stype=all&amp;amp;sektion=emulators emulators/qemu]) permettrons de localiser le dernier problème et d&#039;appliquer le patch suivant:&lt;br /&gt;
&lt;br /&gt;
 --- sys/netinet6/nd6_nbr.c.orig	2007-07-05 18:29:40.000000000 +0200&lt;br /&gt;
 +++ sys/netinet6/nd6_nbr.c	2008-05-03 14:46:53.000000000 +0200&lt;br /&gt;
 @@ -245,7 +245,9 @@&lt;br /&gt;
  				IN6_IFF_NOTREADY|IN6_IFF_ANYCAST);&lt;br /&gt;
  			if (ifa) {&lt;br /&gt;
  				proxy = 1;&lt;br /&gt;
 +				/*--- RestartSoft --- &lt;br /&gt;
  				proxydl = SDL(rt-&amp;gt;rt_gateway);&lt;br /&gt;
 +				---*/&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
 @@ -328,7 +330,8 @@&lt;br /&gt;
  	    ND_NEIGHBOR_SOLICIT, 0);&lt;br /&gt;
  &lt;br /&gt;
  	nd6_na_output(ifp, &amp;amp;saddr6, &amp;amp;taddr6,&lt;br /&gt;
 -	    ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |&lt;br /&gt;
 +		/*---RestartSoft--- ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | ---*/&lt;br /&gt;
 +		((anycast || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) |            /*--- RestartSoft ---*/&lt;br /&gt;
  	    (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED,&lt;br /&gt;
  	    tlladdr, (struct sockaddr *)proxydl);&lt;br /&gt;
   freeit:&lt;br /&gt;
&lt;br /&gt;
Miracle, tout fonctionne après avoir compléter &amp;lt;tt&amp;gt;/etc/rc.conf/local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;           # List of GIF tunnels (or &amp;quot;NO&amp;quot;).&lt;br /&gt;
 gifconfig_gif0=&amp;quot;94.23.44.41 192.168.24.1&amp;quot;       # Updated later by avoriaz&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0 gif0&amp;quot;     # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
 ipv6_static_routes=&amp;quot;avoriaz home&amp;quot;       # List of static routes&lt;br /&gt;
 ipv6_route_avoriaz=&amp;quot;2001:41d0:2:2d29:1:ffff:: -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_route_home=&amp;quot;2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=37</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=37"/>
		<updated>2009-07-07T14:49:20Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
La dernière ligne affichée semble surprenante et les tests montre que les &#039;&#039;neighbor solicitations&#039;&#039; restent sans réponses.&lt;br /&gt;
reste donc une belle scéance de debugging pour traquer le problème. Finalement, je localise l&#039;erreur dans le source de la&lt;br /&gt;
commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt; et trouve une &#039;&#039;astuce&#039;&#039; pour éviter l&#039;erreur: [http://www.freebsd.org/cgi/query-pr.cgi?pr=123465&lt;br /&gt;
 [ip6] route(8): route add -inet6 &amp;lt;ipv6_addr&amp;gt; -interface gif0 -proxy mangle ipv6 address]. Le &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt; suivant fonctionne&lt;br /&gt;
pour la version &amp;lt;tt&amp;gt;7.2-STABLE r195155&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 --- sbin/route/route.c.orig	2005-09-28 14:12:15.000000000 +0200&lt;br /&gt;
 +++ sbin/route/route.c	2008-05-03 14:42:02.000000000 +0200&lt;br /&gt;
 @@ -731,7 +731,9 @@&lt;br /&gt;
  	if (iflag == 0)&lt;br /&gt;
  		flags |= RTF_GATEWAY;&lt;br /&gt;
  	if (proxy) {&lt;br /&gt;
 +		/*--- RestartSoft ---&lt;br /&gt;
  		so_dst.sinarp.sin_other = SIN_PROXY;&lt;br /&gt;
 +		---*/&lt;br /&gt;
  		flags |= RTF_ANNOUNCE;&lt;br /&gt;
  	}&lt;br /&gt;
  	for (attempts = 1; ; attempts++) {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=36</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=36"/>
		<updated>2009-07-07T14:41:54Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le serveur dédié tignes doit répondre aux neighbor solicitation de la passerelle OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitations&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
Après avoir lu et relu le manuel utilisateur de la commande &amp;lt;tt&amp;gt;route&amp;lt;/tt&amp;gt;, la solution semblait être d&#039;utiliser l&#039;option&lt;br /&gt;
&amp;lt;tt&amp;gt;-proxy&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# route add -inet6 2001:41d0:2:2d29:1::/80 -interface gif0 -proxy&lt;br /&gt;
 add net 2001:41d0:2:2d29:1::/80: gateway gif0&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 2001:41d0:2:100::/80              gif0                          ULS2       gif0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=35</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=35"/>
		<updated>2009-07-07T14:31:16Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
 [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; tout d&#039;abord:&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:1:: prefixlen 80&lt;br /&gt;
 [root@avoriaz ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:1d:60:ad:2a:ce&lt;br /&gt;
        inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:1:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@avoriaz ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; ensuite:&lt;br /&gt;
&lt;br /&gt;
 [root@morzine ~]# ifconfig em0 inet6 2001:41d0:2:2d29:1:2:: prefixlen 80&lt;br /&gt;
 [root@morzine ~]# ifconfig em0&lt;br /&gt;
 em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
        options=19b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&amp;gt;&lt;br /&gt;
        ether 00:e0:81:70:6b:68&lt;br /&gt;
        inet6 fe80::2e0:81ff:fe70:6b68%em0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
        inet 192.168.24.2 netmask 0xffffff00 broadcast 192.168.24.255&lt;br /&gt;
        inet6 2001:41d0:2:2d29:1:2:: prefixlen 80 &lt;br /&gt;
        media: Ethernet 100baseTX (100baseTX &amp;lt;half-duplex&amp;gt;)&lt;br /&gt;
        status: active&lt;br /&gt;
 [root@morzine ~]# route add -inet6 default 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:1:1::&lt;br /&gt;
 [root@morzine ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:1:1::        UGS         em0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:1::/80           link#1                        UC          em0&lt;br /&gt;
 2001:41d0:2:2d29:1:1::            00:1d:60:ad:2a:ce             UHLW        em0&lt;br /&gt;
 2001:41d0:2:2d29:1:2::            00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::/10                         ::1                           UGRS        lo0&lt;br /&gt;
 fe80::%em0/64                     link#1                        UC          em0&lt;br /&gt;
 fe80::2e0:81ff:fe70:6b68%em0      00:e0:81:70:6b:68             UHL         lo0&lt;br /&gt;
 fe80::%lo0/64                     fe80::1%lo0                   U           lo0&lt;br /&gt;
 fe80::1%lo0                       link#2                        UHL         lo0&lt;br /&gt;
 ff01:1::/32                       link#1                        UC          em0&lt;br /&gt;
 ff01:2::/32                       ::1                           UC          lo0&lt;br /&gt;
 ff02::/16                         ::1                           UGRS        lo0&lt;br /&gt;
 ff02::%em0/32                     link#1                        UC          em0&lt;br /&gt;
 ff02::%lo0/32                     ::1                    &lt;br /&gt;
 [root@morzine ~]#&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; doit être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 gif_interfaces=&amp;quot;gif0&amp;quot;                   # Tunnel to tignes.restart.be for ipv6&lt;br /&gt;
 gifconfig_gif0=&amp;quot;192.168.24.1 94.23.44.41&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0 gif0&amp;quot;      # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:1:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_gif0=&amp;quot;2001:41d0:2:2d29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:0:ffff::&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;               # Set to YES if this host will be a gateway.&lt;br /&gt;
&lt;br /&gt;
A noter que l&#039;adresse IPv4 réelle d&#039;&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; sera configurée dynamiquement par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; sur &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; doit également être complété pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;em0&amp;quot;           # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_em0=&amp;quot;2001:41d0:2:2d29:1:2:: prefixlen 80&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2d29:1:1::&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Le serveur dédié &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; doit répondre aux &#039;&#039;neighbor solicitation&#039;&#039; de la passerelle OVH==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=34</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=34"/>
		<updated>2009-07-07T12:50:27Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Le tunnel vers la maison */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème des réponses aux &#039;&#039;ICMP6 - neighbor solicitations&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=33</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=33"/>
		<updated>2009-07-07T12:49:37Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Configuration IPv6 entre morzine et avoriaz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème de réponses aux &#039;&#039;ICMP6 - neighbor solicitation&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problèmes de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvoir ultérieurement garnir facilement la table de routage&lt;br /&gt;
de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=32</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=32"/>
		<updated>2009-07-07T12:48:16Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème de réponses aux &#039;&#039;ICMP6 - neighbor solicitation&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En anticipant les problème de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvour ultérieurement garnir la table de routage de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=31</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=31"/>
		<updated>2009-07-07T12:45:17Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Avant de résoudre le problème de réponses aux &#039;&#039;ICMP6 - neighbor solicitation&#039;&#039;, configurons le réseau local du domicile.&lt;br /&gt;
&lt;br /&gt;
==Configuration IPv6 entre &amp;lt;tt&amp;gt;morzine&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;==&lt;br /&gt;
En enticipant les problème de routage entre &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; et le réseau de la maison, nous configurerons ce dernier avec des&lt;br /&gt;
adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:1::/80&amp;lt;/tt&amp;gt;. Au passage, il faut noter que toutes les adresses utilisées par &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; sont&lt;br /&gt;
dans la plage d&#039;adresses &amp;lt;tt&amp;gt;2001:41d0:2:2d29:0::/80&amp;lt;/tt&amp;gt; afin de pouvour ultérieurement garnir la table de routage de &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=30</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=30"/>
		<updated>2009-07-07T12:31:44Z</updated>

		<summary type="html">&lt;p&gt;Hlh : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; &#039;&#039;physique&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=28</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=28"/>
		<updated>2009-07-07T12:30:02Z</updated>

		<summary type="html">&lt;p&gt;Hlh : a renommé IPv6 Tunnel Broker en FreeBSD IPv6 Tunnel Broker: Plus de précision dans l&amp;#039;objet de l&amp;#039;aricle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=27</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=27"/>
		<updated>2009-07-07T12:27:44Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; les requètes &#039;&#039;neighbor solicitation&#039;&#039;&lt;br /&gt;
restant sans réponse:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=26</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=26"/>
		<updated>2009-07-07T12:12:15Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvait pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64. Durant le test, on peut observer sur &amp;lt;tt&amp;gt;tigne&amp;lt;/tt&amp;gt; le trafic &#039;&#039;ICMP6&#039;&#039; suivant:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# tcpdump -n icmp6&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on nfe0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 14:10:18.435194 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 0, length 16&lt;br /&gt;
 14:10:18.596523 IP6 fe80::21e:79ff:fe1e:f000 &amp;gt; ff02::1:ff00:0: ICMP6, neighbor solicitation, who has 2001:41d0:2:2d29:1:ffff::, length 32&lt;br /&gt;
 -----------&amp;lt;Pas de réponse de tignes&amp;gt;----------&lt;br /&gt;
 14:10:19.436418 IP6 2001:41d0:2:2d29:1:ffff:: &amp;gt; 2001:4f8:fff6::21: ICMP6, echo request, seq 1, length 16&lt;br /&gt;
 ^C&lt;br /&gt;
 3 packets captured&lt;br /&gt;
 46 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=25</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=25"/>
		<updated>2009-07-06T16:23:23Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvais pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
	<entry>
		<id>http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=24</id>
		<title>FreeBSD IPv6 Tunnel Broker</title>
		<link rel="alternate" type="text/html" href="http://verbier.restart.be/memento/index.php?title=FreeBSD_IPv6_Tunnel_Broker&amp;diff=24"/>
		<updated>2009-07-06T16:22:52Z</updated>

		<summary type="html">&lt;p&gt;Hlh : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Je dispose depuis quelques temps d&#039;un serveur dédié [http://www.kimsufi.com/ Kimsufi] chez [http://www.ovh.com/fr/ OVH]. Ce serveur&lt;br /&gt;
dispose d&#039;une plage d&#039;adresses IPv6 de type &amp;lt;tt&amp;gt;2001:41D0:2:2D29::/64&amp;lt;/tt&amp;gt; avec une interface réseau ayant une/plusieurs adresse(s) dans&lt;br /&gt;
cette plage mais avec un &#039;&#039;prefixe&#039;&#039; de 56 bits. Le gateway par défaut étant dans mon cas: &amp;lt;tt&amp;gt;2001:41d0:2:2dff:ff:ff:ff:ff&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
J&#039;avais déjà réalisé, à partir de mon réseau à domicile, des tests IPv6 en utilisant [http://www.sixxs.net/main/ SIxXS] comme &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;. Comme je dispose maintenant d&#039;un serveur ayant une connectivité IPv6, pourquoi ne pas m&#039;en servir pour devenir&lt;br /&gt;
mon propre &#039;&#039;&#039;&#039;&#039;IPv6 Tunnel Broker&#039;&#039;&#039;&#039;&#039;?&lt;br /&gt;
&lt;br /&gt;
Quelques recherches ne donnèrent rien... Ma question sur la liste de distribution &amp;lt;tt&amp;gt;freebsd-net@freebsd.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://docs.freebsd.org/cgi/getmsg.cgi?fetch=60986+0+archive/2007/freebsd-net/20070624.freebsd-net ipv6 ndp proxy - advice needed...]&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
restant sans réponse, il fallait donc que je me démerde tout seul!&lt;br /&gt;
&lt;br /&gt;
Voici donc les résultats de mes tribulations...&lt;br /&gt;
&lt;br /&gt;
==Connexion du serveur dédié au réseau IPv6==&lt;br /&gt;
En adaptant les [http://guides.ovh.net/Ipv4Ipv6 instructions] fournies par OVH tout en n&#039;utilisant pas le &#039;&#039;Router Advertisement&#039;&#039;, la connexion du serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) au réseau IPv6 est simple:&lt;br /&gt;
&lt;br /&gt;
En mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0 inet6 2001:41d0:2:2d29:0:1:: prefixlen 56&lt;br /&gt;
 [root@tignes ~]# ifconfig nfe0&lt;br /&gt;
 nfe0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
         options=10b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,TSO4&amp;gt;&lt;br /&gt;
         ether 00:22:15:b4:42:57&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%nfe0 prefixlen 64 scopeid 0x1 &lt;br /&gt;
         inet 94.23.44.41 netmask 0xffffff00 broadcast 94.23.44.255&lt;br /&gt;
         inet 87.98.252.136 netmask 0xffffffff broadcast 87.98.252.136&lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:1:: prefixlen 56 &lt;br /&gt;
         media: Ethernet autoselect (100baseTX &amp;lt;full-duplex&amp;gt;)&lt;br /&gt;
         status: active&lt;br /&gt;
 [root@tignes ~]# route add -inet6 default 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2dff:ff:ff:ff:ff&lt;br /&gt;
 [root@tignes ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2dff:ff:ff:ff:ff  UGS        nfe0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d00::/56             link#1                        UC         nfe0&lt;br /&gt;
 2001:41d0:2:2d29:0:1::            00:22:15:b4:42:57             UHL         lo0&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 [root@tignes ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:0:1:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=0 hlim=54 time=190.249 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=1 hlim=54 time=190.681 ms&lt;br /&gt;
 16 bytes from 2001:4f8:fff6::21, icmp_seq=2 hlim=54 time=191.213 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 190.249/190.714/191.213/0.394 ms&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
En modifiant le fichier &amp;lt;tt&amp;gt;/etc/rc.conf.local&amp;lt;/tt&amp;gt; pour le prochain boot:&lt;br /&gt;
&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;                       # Set to YES to set up for IPv6.&lt;br /&gt;
 ipv6_network_interfaces=&amp;quot;nfe0&amp;quot;          # List of network interfaces (or &amp;quot;auto&amp;quot;).&lt;br /&gt;
 ipv6_ifconfig_nfe0=&amp;quot;2001:41d0:2:2d29:0:1:: prefixlen 56&amp;quot;&lt;br /&gt;
 ipv6_defaultrouter=&amp;quot;2001:41d0:2:2dff:ff:ff:ff:ff&amp;quot; # Set to IPv6 default gateway (or NO).&lt;br /&gt;
&lt;br /&gt;
==Le tunnel vers la maison==&lt;br /&gt;
&lt;br /&gt;
Il faut encore établir un &#039;&#039;tunnel&#039;&#039; entre le réseau de mon domicile et le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;). Le schema suivant donne&lt;br /&gt;
la disposition des machines et les adresses IPv6 utilisées:&lt;br /&gt;
&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 Serveur dedié      |   tignes    |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           | &lt;br /&gt;
                           +--------- [2001:41d0:2:2d29:0:1::/56] --- passerelle OVH --- IPv6 backbone&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:0:ffff::/128]&lt;br /&gt;
                           |&lt;br /&gt;
                     (gif IPv6 tunnel)&lt;br /&gt;
                           |&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:ffff::/128]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 passerelle         |   avoriaz   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:1:/80]&lt;br /&gt;
                           |&lt;br /&gt;
                           |-[2001:41d0:2:2d29:1:2:/80]&lt;br /&gt;
                    +-------------+&lt;br /&gt;
 station de travail |   morzine   |&lt;br /&gt;
                    +-------------+&lt;br /&gt;
&lt;br /&gt;
La liaison entre le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;) et la passerelle de mon domicile (&amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt;) se fait par une&lt;br /&gt;
connexion &#039;&#039;ADSL&#039;&#039; gérée par &amp;lt;tt&amp;gt;mpd5&amp;lt;/tt&amp;gt; ([http://www.freebsd.org/cgi/ports.cgi?query=mpd-5&amp;amp;stype=all&amp;amp;sektion=all net/mpd5]).&lt;br /&gt;
Notons donc dès à présent que ma passerelle &#039;&#039;ADSL&#039;&#039; change d&#039;adresse IPv4 lors de toute reconnexion à mon fournisseur d&#039;accès;&lt;br /&gt;
un script devra donc actualiser la configuration du &#039;&#039;tunnel&#039;&#039; tant sur &amp;lt;tt&amp;gt;avoriaz&amp;lt;/tt&amp;gt; que sur &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du &#039;&#039;tunnel&#039;&#039; en mode commande, pour un premier test:&lt;br /&gt;
&lt;br /&gt;
Sur le serveur dédié (&amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 create&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 tunnel 94.23.44.41 212.239.166.16&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0 2001:41d0:2:2d29:0:ffff:: 2001:41D0:2:2D29:1:ffff:: prefixlen 128&lt;br /&gt;
 [root@tignes ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 94.23.44.41 --&amp;gt; 212.239.166.16&lt;br /&gt;
         inet6 fe80::222:15ff:feb4:4257%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:0:ffff:: --&amp;gt; 2001:41d0:2:2d29:1:ffff:: prefixlen 128 &lt;br /&gt;
  [root@tignes ~]# sysctl net.inet6.ip6.forwarding=1&lt;br /&gt;
 net.inet6.ip6.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
 [root@tignes ~]# &lt;br /&gt;
&lt;br /&gt;
Sur la passerelle de la maison (&amp;lt;tt&amp;gt;aviriaz&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 create&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 tunnel 212.239.166.16 94.23.44.41&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0 2001:41D0:2:2D29:1:ffff:: 2001:41d0:2:2d29:0:ffff:: prefixlen 128&lt;br /&gt;
 [root@avoriaz ~]# ifconfig gif0&lt;br /&gt;
 gif0: flags=8051&amp;lt;UP,POINTOPOINT,RUNNING,MULTICAST&amp;gt; metric 0 mtu 1280&lt;br /&gt;
         tunnel inet 212.239.166.16 --&amp;gt; 94.23.44.41&lt;br /&gt;
         inet6 fe80::21d:60ff:fead:2ace%gif0 prefixlen 64 scopeid 0x4 &lt;br /&gt;
         inet6 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff:: prefixlen 128 &lt;br /&gt;
 [root@avoriaz ~]# route add -inet6 default 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 add net default: gateway 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 [root@avoriaz ~]# netstat -rn -f inet6&lt;br /&gt;
 Routing tables&lt;br /&gt;
 &lt;br /&gt;
 Internet6:&lt;br /&gt;
 Destination                       Gateway                       Flags      Netif Expire&lt;br /&gt;
 ::/96                             ::1                           UGRS        lo0 =&amp;gt;&lt;br /&gt;
 default                           2001:41d0:2:2d29:0:ffff::     UGS        gif0&lt;br /&gt;
 ::1                               ::1                           UHL         lo0&lt;br /&gt;
 ::ffff:0.0.0.0/96                 ::1                           UGRS        lo0&lt;br /&gt;
 2001:41d0:2:2d29:0:ffff::         link#4                        UHL        gif0&lt;br /&gt;
 2001:41d0:2:2d29:1:ffff::         link#4                        UHL         lo0&lt;br /&gt;
 ...&lt;br /&gt;
 [root@avoriaz ~]# ping6 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:41d0:2:2d29:0:ffff::&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=0 hlim=64 time=12.895 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=1 hlim=64 time=10.742 ms&lt;br /&gt;
 16 bytes from 2001:41d0:2:2d29:0:ffff::, icmp_seq=2 hlim=64 time=19.643 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 2001:41d0:2:2d29:0:ffff:: ping6 statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/std-dev = 10.742/14.427/19.643/3.792 ms&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# ping6 www.freebsd.org&lt;br /&gt;
 PING6(56=40+8+8 bytes) 2001:41d0:2:2d29:1:ffff:: --&amp;gt; 2001:4f8:fff6::21&lt;br /&gt;
 ^C&lt;br /&gt;
 --- www.freebsd.org ping6 statistics ---&lt;br /&gt;
 6 packets transmitted, 0 packets received, 100.0% packet loss&lt;br /&gt;
 &lt;br /&gt;
 [root@avoriaz ~]# &lt;br /&gt;
&lt;br /&gt;
Bien sûr, ce dernier test ne pouvais pas fonctionner car la passerelle OVH n&#039;a pas une route statique vers &amp;lt;tt&amp;gt;tignes&amp;lt;/tt&amp;gt; pour&lt;br /&gt;
toutes les adresses 2001:41d0:2:2d29::/64.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hlh</name></author>
	</entry>
</feed>