<?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>Sat, 04 Sep 2010 20:43:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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>
