<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Emile "iMil" Heitor 's home &#187; IPv6</title>
	<atom:link href="http://imil.net/wp/tag/ipv6/feed/" rel="self" type="application/rss+xml" />
	<link>http://imil.net/wp</link>
	<description>life, unix and stuff</description>
	<lastBuildDate>Fri, 30 Dec 2011 20:58:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Routage IPv6 via freebox</title>
		<link>http://imil.net/wp/2011/12/13/routage-ipv6-via-freebox/</link>
		<comments>http://imil.net/wp/2011/12/13/routage-ipv6-via-freebox/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 22:18:36 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[IPv6]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=688</guid>
		<description><![CDATA[J&#8217;enquille donc sur le précédent post sur le sujet avec cette fois une configuration qui sied à une passerelle de type GNU/Linux calée en bridge derrière une freebox, voir deux billets plus bas pour l&#8217;explication de fond, nous irons à l&#8217;essentiel ici.
Dans cet exemple, eth0 représente l&#8217;interface raccordée à notre réseau privé, et eth1 celle [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;enquille donc sur <a href="http://imil.net/wp/2011/12/08/routage-ipv6-sur-une-passerelle-chez-ovh-et-probablement-free/">le précédent post sur le sujet</a> avec cette fois une configuration qui sied à une passerelle de type GNU/Linux calée en <a href="http://fr.wikipedia.org/wiki/Pont_(informatique)">bridge</a> derrière une freebox, voir deux billets plus bas pour l&#8217;explication de fond, nous irons à l&#8217;essentiel ici.<br />
Dans cet exemple, <code>eth0</code> représente l&#8217;interface raccordée à notre réseau privé, et <code>eth1</code> celle raccordée à la freebox:</p>
<ul>
<li>Évidemment, il faudra activer le mode IPv6 sur votre interface free</li>
<li>On place les <code>sysctl</code> adéquats:
<pre>net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp=1
# pas d'autoconfiguration pour la passerelle
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_ra=0</pre>
</li>
<li>On renseigne son IPv6, par exemple pour le sous-réseau 2a01:e35:39d7:e3e0::/64:
<pre>ip -6 addr add 2a01:e35:39d7:e3e0::2/64 dev eth1</pre>
</li>
<li>On déclare sa passerelle:
<pre>ip route add default via 2a01:e35:39d7:e3e0::1 dev eth1</pre>
</li>
<li>Puis on place une IPv6 qui servira de passerelle à notre réseau privé sur <code>eth0</code> avec une longueur de préfixe juste suffisante:
<pre>ip -6 addr add 2a01:e35:39d7:e3e0:1::1/126 dev eth0</pre>
</li>
<li>L&#8217;astuce, ici encore, consiste à <i>proxyiser</i> les adresses du LAN sur l&#8217;interface raccordée à la freebox afin d&#8217;apparaître comme un réseau &#8220;à plat&#8221;:
<pre>ip neigh add proxy 2a01:e35:39d7:e3e0:1::1 dev eth1</pre>
</li>
<li>Il suffit alors de faire de même pour toute machine de votre LAN que vous souhaitez raccorder à l&#8217;IPv6, par exemple, toujours sur la passerelle:
<pre>ip neigh add proxy 2a01:e35:39d7:e3e0:1::2 dev eth1</pre>
</li>
<li>Sur la machine qui portera l&#8217;adresse <code>2a01:e35:39d7:e3e0:1::2</code>, on ajoute à l&#8217;interface son IPv6, et on déclare comme passerelle par défaut <code>2a01:e35:39d7:e3e0:1::1</code>:
<pre>ip -6 addr add 2a01:e35:39d7:e3e0:1::2/126 dev eth0
ip route add default via 2a01:e35:39d7:e3e0:1::1</pre>
</li>
<li>Il conviendra de rajouter tout ce petit monde dans votre <code>/etc/network/interfaces</code> comme il se doit, encore une fois je vous renvoie 2 posts plus bas.</li>
</ul>
<p>La méthode est fastidieuse et pas forcément élégante, mais tant que l&#8217;opérateur free <del>ne se sera pas sorti les</del> ne routera pas plus qu&#8217;un /64 dans les foyers, nous devrons nous contenter de cela&#8230; ou passer la freebox en mode routeur. Nan j&#8217;déconne.</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2011/12/13/routage-ipv6-via-freebox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transformer 6</title>
		<link>http://imil.net/wp/2011/12/11/transformer-6/</link>
		<comments>http://imil.net/wp/2011/12/11/transformer-6/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 13:57:57 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[IPv6]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=679</guid>
		<description><![CDATA[
Sans vraiment y croire, je vais sur test-ipv6 avec ma tablette sous Android (une Asus Transformer), et quelle ne fut pas ma surprise de constater:



Pas d&#8217;étonnement, mon HTC Desire HD sous Android montre le même résultat:



Et histoire de me gausser, je fais le même test avec l&#8217;iPoo du boulot&#8230; bah pareil:



Ça commence à sentir bon [...]]]></description>
			<content:encoded><![CDATA[<p>
Sans vraiment y croire, je vais sur <a href="http://test-ipv6.com">test-ipv6</a> avec ma tablette sous Android (une Asus Transformer), et quelle ne fut pas ma surprise de constater:
</p>
<p><a href="http://imil.net/gfx/tranformer-ipv6.png"><img src="/gfx/tranformer-ipv6.png" width="450" alt="Transformer IPv6"/></a></p>
<p>
Pas d&#8217;étonnement, mon HTC Desire HD sous Android montre le même résultat:
</p>
<p><a href="http://imil.net/gfx/htc-ipv6.png"><img src="/gfx/htc-ipv6.png"/></a></p>
<p>
Et histoire de me gausser, je fais le même test avec l&#8217;iPoo du boulot&#8230; bah pareil:
</p>
<p><a href="http://imil.net/gfx/iphone-ipv6.PNG"><img src="/gfx/iphone-ipv6.PNG"/></a></p>
<p>
Ça commence à sentir bon !
</p>
<p>
Je précise qu&#8217;<strong>évidemment</strong>, ces tests ont été menés en mode WiFi et non en passant par l&#8217;opérateur de téléphonie.</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2011/12/11/transformer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Routage IPv6 sur une passerelle chez OVH (et probablement Free)</title>
		<link>http://imil.net/wp/2011/12/08/routage-ipv6-sur-une-passerelle-chez-ovh-et-probablement-free/</link>
		<comments>http://imil.net/wp/2011/12/08/routage-ipv6-sur-une-passerelle-chez-ovh-et-probablement-free/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 22:27:03 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[NDP]]></category>
		<category><![CDATA[OVH]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=677</guid>
		<description><![CDATA[Free et OVH proposent tous deux une connectivité IPv6 depuis un certain temps. Les deux ont ceci de commun que sur le papier, ils fournissent un prefixe /64, il se trouve qu&#8217;OVH fournit en réalité un /56, mais cela a peu d&#8217;intérêt pour l&#8217;astuce qui va suivre.
Les routeurs des deux sociétés s&#8217;attendent donc à recevoir [...]]]></description>
			<content:encoded><![CDATA[<p>Free et OVH proposent tous deux une connectivité IPv6 depuis un certain temps. Les deux ont ceci de commun que <i>sur le papier</i>, ils fournissent un prefixe <i>/64</i>, il se trouve qu&#8217;OVH fournit en réalité un <i>/56</i>, mais cela a peu d&#8217;intérêt pour l&#8217;astuce qui va suivre.</p>
<p>Les routeurs des deux sociétés s&#8217;attendent donc à recevoir du flux IPv6 depuis un réseau &#8220;plat&#8221;, et ceci pose un réel soucis lorsque vous souhaitez distribuer une connectivité IPv6 à votre réseau possiblement NATté derrière votre passerelle. Plusieurs astuces sont disponibles depuis belle lurette, parmi elles <a href="http://ip6.fr/free-broute/">l&#8217;utilisation d&#8217;un bridge associé à une règle ebtables</a>, mais aussi et surtout <a href="http://linux-attitude.fr/post/proxy-ndp-ipv6">la mise en place du proxying NDP</a>. Je me suis basé sur cette dernière méthode, que j&#8217;ai adapté à mon éternel setup: <i>dom0 debian GNU/Linux et domU NetBSD</i>.</p>
<p>La procédure est la suivante:</p>
<p>On active en premier lieu le mode <i>proxy NDP</i> ainsi que le <i>forwarding IPv6</i> sur notre dom0:</p>
<pre>sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.proxy_ndp=1</pre>
<p>Il conviendra evidemment de rendre cette configuration permanente en ajoutant ces valeurs dans le fichier <code>/etc/sysctl.conf</code><br />
Puis, sur notre interface de <i>bridging</i> Xen, nous ajoutons l&#8217;IPv6 dans le sous-réseau fourni par le fournisseur, cette adresse sera l&#8217;IP passerelle pour nos domUs:</p>
<pre># ifconfig xenbr0 inet6 add 2001:41e8:1:fe10::1/64</pre>
<p>Toute l&#8217;astuce consiste à <i>proxyiser</i> l&#8217;adresse MAC de l&#8217;interface <code>xenbr0</code> sur l&#8217;interface physique de la machine que voit réellement le fournisseur à l&#8217;aide de la commande <code>ip</code>:</p>
<pre>ip neigh add proxy 2001:41e8:1:fe10::1 dev eth0</pre>
<p>Il convient évidemment d&#8217;ajouter une route par défaut pour les adresses IPv6, cette dernière vous est fournie par votre fournisseur, par exemple pour OVH:</p>
<pre>route -A inet6 add default gw 2001:41e8:1:feff:ff:ff:ff:ff</pre>
<p>Nous attribuerons à notre domU l&#8217;IPv6 2001:41e8:1:fe10::2, ainsi, nous <i>proxyisons</i> également cette dernière de cette façon:</p>
<pre>ip neigh add proxy 2001:41e8:1:fe10::2 dev eth0</pre>
<p>Enfin, sur notre domU, nous ajoutons cette IP à l&#8217;interface raccordée au bridge ainsi qu&#8217;une route par défaut pointant vers l&#8217;IP de ce dernier:</p>
<pre>ifconfig xennet0 inet6 2001:41e8:1:fe10::2 prefixlen 64
route -n add -inet6 default 2001:41e8:1:fe10::1</pre>
<p>Et rendons ces paramètres permanents en ajoutant dans le fichier <code>/etc/ifconfig.xennet0</code>:</p>
<pre>inet6 2001:41e8:1:fe10::2 prefixlen 64
!route -n add -inet6 default 2001:41e8:1:fe10::1</pre>
<p>Finalement, nous inscrivons dans le fichier <code>/etc/network/interfaces</code> de notre dom0:</p>
<pre>iface xenbr0 inet6 static
	2001:41e8:1:fe10::1
	netmask 64
	gateway 2001:41e8:1:feff:ff:ff:ff:ff
	# NDP / ARP proxying for xenbr0
	up ip neigh add proxy 2001:41e8:1:fe10::1 dev eth0
	down ip neigh del proxy 2001:41e8:1:fe10::1 dev eth0
	# NDP / ARP proxying for domU 1
	up ip neigh add proxy 2001:41e8:1:fe10::2 dev eth0
	down ip neigh del proxy 2001:41e8:1:fe10::2 dev eth0</pre>
<p>Et le tour est joué.</p>
<p>Notez que je n&#8217;ai pas eu besoin, au contraire de ce qu&#8217;indique <a href="http://linux-attitude.fr/post/proxy-ndp-ipv6">la documentation sur laquelle je me suis appuyé</a>, de passer l&#8217;interface <code>eth0</code> en mode <code>promiscuous</code>, probablement parce que j&#8217;utilise un bridge monté sur une interface de type <code>dummy</code>, dissocié de l&#8217;interface physique, et que les routes IPv6 de mes domU utilisent explicitement l&#8217;IP montée sur ce dernier.</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2011/12/08/routage-ipv6-sur-une-passerelle-chez-ovh-et-probablement-free/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comment chu trop un sage</title>
		<link>http://imil.net/wp/2011/12/04/comment-chu-trop-un-sage/</link>
		<comments>http://imil.net/wp/2011/12/04/comment-chu-trop-un-sage/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 20:22:57 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[IPv6]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=672</guid>
		<description><![CDATA[Voila un week end BIEN productif ! Comme je ne m&#8217;étais pas replongé dans IPv6 depuis la glorieuse époque isdnet, je me suis dit qu&#8217;il était grand temps de me rafraîchir la mémoire; j&#8217;ai donc été au bout de la certification IPv6 de HE qui va de la simple déclaration d&#8217;un tunnel v4/v6 à l&#8217;enregistrement [...]]]></description>
			<content:encoded><![CDATA[<p>Voila un week end BIEN productif ! Comme je ne m&#8217;étais pas replongé dans <a href="http://fr.wikipedia.org/wiki/IPv6">IPv6</a> depuis la glorieuse époque <a href="http://www.reseaux-telecoms.net/actualites/lire-cable-et-wireless-rachet-xe8-te-isdnet-5694.html">isdnet</a>, je me suis dit qu&#8217;il était grand temps de me rafraîchir la mémoire; j&#8217;ai donc été au bout de la <a href="http://ipv6.he.net/certification/">certification IPv6 de HE</a> qui va de la simple déclaration d&#8217;un tunnel v4/v6 à l&#8217;enregistrement d&#8217;une zone DNS IPv6 parfaitement fonctionnelle en passant par un MX et un desktop double pile aux petits oignons. Et ça fait du bien !<br />
Compte tenu de <a href="http://en.wikipedia.org/wiki/IPv4_address_exhaustion">la situation</a>, je ne saurais trop vous encourager à faire de même, et de ramener ce savoir dans vos boulots, c&#8217;est pas comme si le grand mouvement avait lieu demain, mais compte tenu de l&#8217;ampleur de la tâche, il est pas trop tot&#8230;<br />
Allez, jme la pête au laser: <a href="http://ipv6.he.net/certification/scoresheet.php?pass_name=imil"><img src="http://ipv6.he.net/certification/create_badge.php?pass_name=imil&#038;badge=3"/></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2011/12/04/comment-chu-trop-un-sage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mmmmm les bons spaghettis</title>
		<link>http://imil.net/wp/2011/12/03/mmmmm-les-bons-spaghettis/</link>
		<comments>http://imil.net/wp/2011/12/03/mmmmm-les-bons-spaghettis/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 13:39:05 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[NetBSD]]></category>
		<category><![CDATA[pf]]></category>
		<category><![CDATA[route-to]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=668</guid>
		<description><![CDATA[Ça commence à sentir le vieux sac de lacets sur ma routing box.
Pour rappel, j&#8217;utilise un domU NetBSD hébergé quelque part pour différencier mon traffic sortant. Ce domU est controllé par un dom0 Debian Squeeze, et a ceci de particulier que sa route par défaut part vers la suède. Seuls quelques services répondent directement sur [...]]]></description>
			<content:encoded><![CDATA[<p>Ça commence à sentir le vieux sac de lacets sur ma <a href="http://imil.net/wp/2011/08/07/mais-tu-tu-tennuies-dans-la-vie-en-fait/">routing box</a>.<br />
Pour rappel, j&#8217;utilise un domU NetBSD hébergé <i>quelque part</i> pour différencier mon traffic sortant. Ce domU est controllé par un dom0 Debian Squeeze, et a ceci de particulier que sa route par défaut part vers la suède. Seuls quelques services répondent directement sur l&#8217;IP publique &#8220;réelle&#8221;, sur laquelle j&#8217;opère du <a href="http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html">SNAT et du DNAT</a>.</p>
<p>Tout ceci manquait cruellement d&#8217;un soupçon d&#8217;IPv6. Ainsi, après m&#8217;être frotté à SixXs et son système de <a href="http://www.sixxs.net/faq/account/?faq=credits">crédits</a> aussi ingénieux que pénible, j&#8217;ai finalement opté pour <a href="http://tunnelbroker.net">Hurricane Electric</a> qui a en plus le bon goût de posséder un <i>endpoint</i> à <a href="http://en.wikipedia.org/wiki/Coruscant">Paris</a>.</p>
<p>Si la configuration d&#8217;un tunnel v4/v6 se réalise le plus simplement du monde depuis plus de 10 ans via des <a href="http://www.netbsd.org/docs/network/ipv6/">tunnels gif</a>, l&#8217;opération n&#8217;est pas complètement triviale lorsque le endpoint se trouve être NATté et qu&#8217;en plus ce dernier utilise une route par défaut différente de l&#8217;IP publique officielle du dom0.</p>
<p>Ainsi, après avoir souscrit à un <i>endpoint</i> IPv6 chez <i>HE</i>, quelques opérations sont nécessaires au bon fonctionnement du routage. Nous considèrerons que l&#8217;ip du <i>endpoint gif IPv4</i> chez Hurricane est <code>1.2.3.4</code> et que notre IPv4 publique, sur le dom0 donc, est <code>5.6.7.8</code>.</p>
<p>La première chose à faire sur notre dom0 est de rediriger tout le traffic en provenance de HE vers notre domU, dont nous considèrerons que l&#8217;IPv4 privée est <code>192.168.0.1</code>.</p>
<pre># iptables -t nat -A PREROUTING -i eth0 -s 1.2.3.4 -j DNAT --to-destination 192.168.0.1</pre>
<p>Il faudra évidemment, si cela n&#8217;est pas déjà fait, appliquer du <i>SNAT</i> afin que votre domU puisse &#8220;sortir&#8221; et se présenter avec notre IPv4 publique au monde. Par exemple:</p>
<pre># iptables -t nat -A POSTROUTING -s 192.168.0.1/32 -o eth0 -j SNAT --to-source 5.6.7.8</pre>
<p>C&#8217;est l&#8217;unique configuration à effectuer sur le dom0. Jusqu&#8217;ici tout va bien.</p>
<p>Sur notre domU NetBSD, nous créons l&#8217;interface de <i>tunneling</i> comme ceci:</p>
<pre>
# ifconfig gif0 create
# ifconfig gif0 tunnel 192.168.0.1 1.2.3.4
# ifconfig gif0 inet6 2001:470:1e31:b2c::2 2001:470:1e31:b2c::1 prefixlen 128
</pre>
<p>Notez que c&#8217;est bien l&#8217;IPv4 <strong>privée</strong> que nous utilisons pour monter le tunnel <code>gif</code>, le <i>SNAT</i> du dom0 s&#8217;occuppera de transformer cette IP au vol.<br />
Cette seule configuration, compte tenu du <a href="http://imil.net/wp/2011/07/24/jouons-a-cache-cache/">routage particulier</a> de notre domU, ne suffira pas au bon fonctionnement du tunnel. Deux opérations sont nécessaires:</p>
<ul>
<li>Ajouter une route explicite vers le <i>endpoint HE</i></li>
<li>Forcer la sortie vers l&#8217;interface réelle du dom0 lorsqu&#8217;on essaye de joindre une adresse IPv6</li>
</ul>
<p>Execution:</p>
<pre># route add -host 1.2.3.4 192.168.0.254</pre>
<p>Ici, 192.168.0.254 est l&#8217;adresse passerelle du dom0.</p>
<pre># grep he_tunnel /etc/pf.conf-ovpn
he_tunnel="1.2.3.4/32"
pass out quick route-to ($real_if $gateway) from any to $he_tunnel
</pre>
<p><code>$real_if</code> représente l&#8217;interface <code>xennet0</code>, et <code>$gateway</code> l&#8217;adresse de notre passerelle coté dom0, à savoir <code>192.168.0.254</code>.<br />
Reste à appliquer une route par défaut pour les adresses IPv6:</p>
<pre>
route -n add -inet6 default 2001:470:1e31:b2c::1
</pre>
<p>Et nous y sommes. Enfin, il faut evidemment automatiser toutes ces manipulations afin de retrouver notre état fonctionnel à chaque <i>reboot</i>, cela est réalisé en créant le fichier <code>/etc/ifconfig.gif0</code> avec ce contenu:</p>
<pre>create
tunnel 192.168.0.1 1.2.3.4
inet6 2001:470:1e31:b2c::2 2001:470:1e31:b2c::1 prefixlen 128
!route add -host 1.2.3.4 192.168.0.254
!route -n add -inet6 default 2001:470:1e31:b2c::1
</pre>
<p>And voila, Danse petite tortue, danse !</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2011/12/03/mmmmm-les-bons-spaghettis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>freenet6, NAT et NetBSD</title>
		<link>http://imil.net/wp/2007/11/10/freenet6-nat-et-netbsd/</link>
		<comments>http://imil.net/wp/2007/11/10/freenet6-nat-et-netbsd/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 09:48:59 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[NetBSD]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=165</guid>
		<description><![CDATA[Sur un certain reseau ou je n&#8217;ai pas la main, j&#8217;ai voulu fournir une connectivité IPv6. À l&#8217;époque du 6bone je réalisais cette opération sur le routeur (avant d&#8217;apprendre l&#8217;existence de 6to4) à l&#8217;aide de tspc, un client freenet6 disponible entre autres dans pkgsrc. Il est a priori possible, selon ce qu&#8217;on peut lire dans [...]]]></description>
			<content:encoded><![CDATA[<p>Sur un certain reseau ou je n&#8217;ai pas la main, j&#8217;ai voulu fournir une connectivité IPv6. À l&#8217;époque du <a href="http://www.6bone.net/">6bone</a> je réalisais cette opération sur le routeur (avant d&#8217;apprendre l&#8217;existence de 6to4) à l&#8217;aide de <code>tspc</code>, un client <a href="http://go6.net/4105/freenet.asp">freenet6</a> disponible entre autres dans <code>pkgsrc</code>. Il est a priori possible, selon ce qu&#8217;on peut lire dans le fichier <code>tspc.conf</code>, de réaliser cette opération derrière du NAT, pourtant, si le tunnel s&#8217;établit bien, impossible de faire transiter un paquet. J&#8217;ai trouvé la réponse au problème dans <a href="http://forum.go6.net/viewtopic.php?t=62">ce thread</a>. Une vilaine magouille est nécessaire pour obtenir un tunnel opérationnel :</p>
<p>Dans le fichier <code>tspc.conf</code>, au lieu d&#8217;affecter votre IP privée à la variable <code>client_v4</code>, y mettre l&#8217;IP publique, l&#8217;IP de votre passerelle donc. Puis dans le fichier <code>/usr/pkg/share/tspc/template/netbsd.sh</code>, remplacer :</p>
<pre>
Exec $ifconfig $TSP_TUNNEL_INTERFACE tunnel $TSP_CLIENT_ADDRESS_IPV4 $TSP_SERVER_ADDRESS_IPV4
</pre>
<p>par</p>
<pre>
Exec $ifconfig $TSP_TUNNEL_INTERFACE tunnel [ip.privée] $TSP_SERVER_ADDRESS_IPV4
</pre>
<p>Et laissez <code>tspc</code> faire le reste.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2007/11/10/freenet6-nat-et-netbsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6to4 avec Kamikaze</title>
		<link>http://imil.net/wp/2007/10/31/6to4-avec-kamikaze/</link>
		<comments>http://imil.net/wp/2007/10/31/6to4-avec-kamikaze/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 09:25:27 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Kamikaze]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=164</guid>
		<description><![CDATA[Pour ceux qui ne connaissent pas encore cette methode magique pour accéder au réseau IPv6, je vous invite à jeter un oeil à cette news.
Il semble qu&#8217;il y ait un problème de dépendance dans le package kmod-ipv6 de Kamikaze. En effet, ce dernier installe le module sit.ko nécessaire au montage d&#8217;un tunnel 6to4, mais pas [...]]]></description>
			<content:encoded><![CDATA[<p>Pour ceux qui ne connaissent pas encore cette methode magique pour accéder au réseau IPv6, je vous invite à jeter un oeil <a href="http://www.gcu.info/1941/2006/02/12/aaah-mais-si-mais-ah-ah-bien-sur-mais-oui-savait/">à cette news</a>.</p>
<p>Il semble qu&#8217;il y ait un problème de dépendance dans le package <code>kmod-ipv6</code> de Kamikaze. En effet, ce dernier installe le module <code>sit.ko</code> nécessaire au montage d&#8217;un tunnel 6to4, mais pas le module <code>tunnel4.ko</code> dont <code>sit.ko</code> dépend.</p>
<p>On s&#8217;execute :</p>
<pre>
# ipkg install kmod-iptunnel4
</pre>
<p>On automatise le chargement de <code>sit.ko</code></p>
<pre>
# cat > /etc/modules.d/40-sit
sit
^D
</pre>
<p>Et pour la session courante :</p>
<pre>
# insmod sit
</pre>
<p>l&#8217;installation du package <code>kmod-iptunnel4</code> a déjà chargé le module <code>tunnel4</code>.</p>
<p>La methode &#8220;officielle&#8221; sous linux pour monter ce type de tunnel est d&#8217;utiliser la commande <code>ip</code>. Si ce n&#8217;est déjà fait, installez le package :</p>
<pre>
# ipkg install ip
</pre>
<p>Reste à monter le lien :</p>
<pre>
root@OpenWrt:~# ip tunnel add tun6to4 mode sit ttl 64 remote 192.88.99.1 local [votre.ipv4.publique]
root@OpenWrt:~# ip link set dev tun6to4 up
root@OpenWrt:~# ip -6 addr add [votre:ipv4:convertie:en:ipv6]/16 dev tun6to4
root@OpenWrt:~# ip -6 route add 2000::/3 via 2002:c058:6301:: dev tun6to4 metric 1
</pre>
<p>Quelques mots sur cette barbarie. Vous lirez dans <a href="http://mboucey.free.fr/Linux+IPv6-HOWTO-fr/configuring-ipv6to4-tunnels.html">les docs officielles</a> que la création du tunnel se fait de cette façon :</p>
<pre>
# ip tunnel add tun6to4 mode sit ttl [ttlpardéfaut] remote any local [adresseipv4locale]
</pre>
<p>Bah merci, mais ça marche pas. Heureusement, fosco a mis la main à la pate et a découvert qu&#8217;en remplaçant <i>any</i> par l&#8217;IP de la gateway 6to4 (elle possède toujours la meme IP), ça fonctionnait tout de suite mieux.</p>
<p><b>Nota: Voir l&#8217;update en fin de ce billet.</b></p>
<p>Pour obtenir la conversion de votre IPv4 en IPv6, vous pouvez utiliser la commande suivante (directement pompée de la sus-citée doc officielle) :</p>
<pre>
ipv4="1.2.3.4"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." " "`
</pre>
<p>Enfin, <code>2002:c058:6301::</code>, gateway par defaut, n&#8217;est autre que l&#8217;IPv6, toujours la meme également, des passerelles 6to4.</p>
<p>Finalement, grace à tout ça :</p>
<pre>
root@OpenWrt:~# ping6 -c1 www.6bone.net
PING 6bone.net (2001:5c0:0:2::24): 56 data bytes
64 bytes from 2001:5c0:0:2::24: icmp6_seq=0 ttl=62 time=236.1 ms

--- 6bone.net ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 236.1/236.1/236.1 ms
</pre>
<p>Il ne vous reste plus qu&#8217;à router vos réseaux.</p>
<p>Quelques autres bons tips sont disponibles <a href="http://wiki.openwrt.org/IPv6_howto">le Wiki OpenWRT</a></p>
<p><b>Update</b></p>
<p>Voici finalement ma conf, fonctionnelle, qui contredit les infos précédentes :</p>
<pre>
root@OpenWrt:~# cat /etc/init.d/ipv6.sh
#!/bin/sh

. /etc/functions.sh

IPV4=$(uci get network.wan.ipaddr)
IPV6PREFIX=$(printf "2002:%02x%02x:%02x%02x" `echo $IPV4 | tr "." " "`)

ip tunnel add tun6to4 mode sit ttl 64 remote any local $IPV4
ip link set dev tun6to4 up
ip -6 addr add ${IPV6PREFIX}::1/16 dev tun6to4
ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1

ip -6 addr add ${IPV6PREFIX}:1::1/64 dev br-lan
</pre>
<p>Il semble que le dysfonctionnement du mot clé <code>any</code> soit lié à la manière d&#8217;annoncer la passerelle 6to4. En effet, lorsque j&#8217;annonce la route en utilisant la notation <code>::192.88.99.1</code>, la documentation officielle s&#8217;applique parfaitement.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2007/10/31/6to4-avec-kamikaze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: imil.net @ 2012-02-04 19:11:20 by W3 Total Cache -->
