今までは、
FreeBSDでIPv6〜ルータ
を使っていたので、今回もFeel6を使おうかと思ったのですが
Arch LinuxにはどうやらDTCP-Clientパッケージが無い。
ソースから入れるのもアレだったので、
6to4(Tokyo6to4)
http://www.tokyo6to4.net/index.php
を使って見ることにします。
Ubutuの場合は、こちら
Ubuntuで6to4
特に追加するパッケージは無いですが、
ipv6が使えるようにしておいてください。
(デフォルトでは使えるようなっています)
Arch LinuxでIPv6
で、設定された方は、IPv6の設定をコメントアウトしておきます。
# vi /etc/network.d/eth0 #IP6='static' #ADDR6=('2001:3e0:aaaa:bbbb::xxx/64') #ROUTES6=('::0') #GATEWAY6='2001:3e0:aaaa::bbbb::1'
IPv6アドレスを手動で算出します。
例)グローバルIPアドレスが、202.212.90.xxxxの場合
# printf "2002:%02x%02x:%02x%02x::1\n" 202 212 90 xxxx 2002:c058:xxxx::1
2002:c058:xxxx::/48
これが、自分に割り当てられるIPv6アドレス空間です。
わかった所で、トンネルデバイスを作ってIPやらを与えてみましょう。
・トンネルデバイス名=tun6to4
・トンネル先=192.88.99.1
・2000::/3=IPv6グローバルスコープ
# ip tunnel add tun6to4 mode sit remote 192.88.99.1 local any ttl 64 # ip link set mtu 1434 dev tun6to4 up # ip -6 addr add 2002:c058:xxxx::1/48 dev tun6to4 # ip -6 route add 2000::/3 dev tun6to4 metric 1
ttlを設定しないと、Ping6は通るけどtraceroute6ができないとか
悲惨な事になりますw
(kamyuさん、さんくす〜)
*追記 MTUの設定を行いました
うまくできたら、
# ifconfig tun6to4 tun6to4: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1434 metric 1 inet6 fe80::c0a8:1f3 prefixlen 64 scopeid 0x20<link> inet6 2002:c058:xxxx::1 prefixlen 48 scopeid 0x0<global> sit txqueuelen 0 (IPv6-in-IPv4) RX packets 10 bytes 1200 (1.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10 bytes 720 (720.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
こんな感じになっていればOK。
疎通確認
いつものkameさんw
# ping6 -c 3 www.kame.net PING www.kame.net(2001:200:dff:fff1:216:3eff:feb1:44d7) 56 data bytes 64 bytes from 2001:200:dff:fff1:216:3eff:feb1:44d7: icmp_seq=1 ttl=59 time=214 ms 64 bytes from 2001:200:dff:fff1:216:3eff:feb1:44d7: icmp_seq=2 ttl=59 time=200 ms 64 bytes from 2001:200:dff:fff1:216:3eff:feb1:44d7: icmp_seq=3 ttl=59 time=209 ms --- www.kame.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 200.666/208.326/214.501/5.757 ms # # traceroute6 www.kame.net traceroute to orange.kame.net (2001:200:dff:fff1:216:3eff:feb1:44d7) from 2002:cad4:5aea::1, 30 hops max, 24 byte packets 1 2002:c058:xxxx::1 (2002:c058:xxxx::1) 232.186 ms * 225.782 ms 2 gige-g3-14.core1.hkg1.he.net (2001:470:0:163::1) 235.207 ms 230.821 ms 224.433 ms 3 gige-g3-7.core1.lax1.he.net (2001:470:0:16b::1) 227.24 ms 225.502 ms 230.988 ms 4 10gigabitethernet7-4.core1.fmt2.he.net (2001:470:0:18d::1) 251.742 ms 251.688 ms 237.719 ms 5 10gigabitethernet1-1.core1.sjc2.he.net (2001:470:0:31::2) 250.944 ms 265.445 ms 253.791 ms 6 xe-0.equinix.snjsca04.us.bb.gin.ntt.net (2001:504:0:1::2914:1) 466.294 ms 391.156 ms 389.767 ms 7 as-1.r21.osakjp01.jp.bb.gin.ntt.net (2001:218:0:2000::aa) 503.653 ms 513.734 ms 518.754 ms 8 ae-2.r22.osakjp01.jp.bb.gin.ntt.net (2001:218:0:2000::1b6) 529.217 ms 520.296 ms 587.683 ms 9 ae-5.r24.tokyjp01.jp.bb.gin.ntt.net (2001:218:0:2000::1de) 536.544 ms 550.798 ms 615.042 ms 10 po-1.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:0:6000::10e) 549.642 ms 545.745 ms 552.227 ms 11 ge-8-2.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:2000:5000::82) 228.381 ms 232.749 ms 230.727 ms 12 ve44.foundry6.otemachi.wide.ad.jp (2001:200:0:10::141) 233.254 ms 226.5 ms 218.496 ms 13 ve42.foundry4.nezu.wide.ad.jp (2001:200:0:11::66) 227.071 ms 201.236 ms 213.772 ms 14 cloud-net1.wide.ad.jp (2001:200:0:1c0a:218:8bff:fe43:d1d0) 202.411 ms 204.908 ms 211.337 ms 15 2001:200:dff:fff1:216:3eff:feb1:44d7 (2001:200:dff:fff1:216:3eff:feb1:44d7) 219.961 ms 232.602 ms 230.217 ms
まぁこんなもんですが、海外経由してる。。。
うまく行ったら、起動スクリプトを書きましょう
(あまり自信がないです。。。)
# vim /etc/rc.d/tun6to4 #!/bin/bash . /etc/rc.conf . /etc/rc.d/functions case "$1" in start) stat_busy "Starting tun6to4" ip tunnel add tun6to4 mode sit remote 192.88.99.1 local any ttl 64 && ip link set mtu 1434 dev tun6to4 up && ip -6 addr add 2002:c058:xxxx::1/48 dev tun6to4 && ip -6 route add 2000::/3 dev tun6to4 metric 1 if [ $? -gt 0 ]; then stat_fail else stat_done fi ;; stop) stat_busy "Stopping tun6to4" ip -6 tunnel del tun6to4 if [ $? -gt 0 ]; then stat_fail else stat_done fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac exit 0
これがスクリプトの中身
実行権限を与えます
# chmod +x /etc/rc.d/tun6to4
rc.confのDAEMONSに追記します。
# vim /etc/rc.conf DAEMONS=(... tun6to4 ...)
これで起動、停止が楽に行えます。
[tegaki]次はIPv6ルータ化。。。[/tegaki]