LLの惑星群を楽しもう!~gihyo.jp×LL Planets presents

第2回 IPv6をハックしよう~IPv6ハッカソン~

この記事を読むのに必要な時間:およそ 3 分

なんか作ってみる~グローバルアドレス,リンクローカルアドレスで動かす

次はグローバルアドレスを振って遊んでみましょう。

IPv6にはドキュメント用のアドレスがあるのでそれを付けてみます。

参考:文章を書く時に使うIPv4/IPv6アドレス
http://www.kunitake.org/fswiki/static/addresses+for+documentation.html

とりあえず 2001:db8::1 のアドレスを wlan に振ってみます。

sudo ifconfig wlan0 inet6 add 2001:db8::1 up

この状態で,WEBrickを再起動して,ブラウザから確認。

script/server --b="::"
w3m http://[[2001:db8::1]]:3000/

ちゃんとグローバルアドレスでもブラウザから見えました。

よしよし。

さて,IPv6には自動的に付けられる,リンクローカルアドレスというものもあります。

自動的に付けられるのでなんか便利に使えそうです。

手動で付けることも可能なので,fe80::1でも付けてみましょうか。

sudo ifconfig wlan0 inet6 add fe80::1 up

WEBrickを再起動して,ブラウザで確認。

リンクローカルアドレスはアドレス指定時にインターフェイスを指定してやる必要があるので,以下のように指定。

w3m http://[[fe80::1%wlan0]]:3000/

ん?見えない。

でも,lynx だとちゃんと見えますよ。

lynx http://[[fe80::1%wlan0]]:3000/

どうもw3mはリンクローカルアドレスを考慮した実装になってないようです。

他のブラウザで試したところ,Firefox 5.0 はOK,でも Chromium(12.0.742.112 (90304) Ubuntu 11.04)は駄目でした。

ポイント
リンクローカルアドレスの実装が甘いブラウザがある。良く使われるブラウザがこうだとすると他は推して知るべし。

なんか作ってみる~データベースを使ってみる

気分を変えて,MySQLをIPv6で使ってみましょう。

まずは設定ファイルを見ます。bind-addressをいじれば動くのかな?

やってみました→動きません。

マニュアルを探してもIPv6でlistenさせる方法は書いてません。

ググってみたところ,バージョン 5.2のtaskに⁠Support should be added for MySQL to work over IPv6⁠と書いてあったのは発見できたのですが,実装は華麗にスルーされてるようです。

また,4.0のころにIPv6で動かすようなハックもあったようなのですが,取りこまれてはいないようです。

ガッデム!!

気をとりなおしてmemcachedでも試してみましょう。

これは,/etc/memcached.confの中の-lの行を指定したりコメントアウトしたりすればIPv6を喋ってくれましたよ。素直に動くと妙に嬉しかったりします。

ポイント
基本的なソフトウェアでもIPv6が喋れないものがある。

なんか作ってみる~コードをコミットしてみよう

なんか作ったら,とりあえずgithubに上げるのが今時の常識です。

github
https://github.com/

これもIPv6でやりたいですよね。

dig github.com AAAA

;; QUESTION SECTION:
;github.com.                  IN      AAAA

でも残念。AAAAレコードが付いていないので上げられません。

ポイント>
よく使ってるWebサービスがIPv6に対応してるとは限らない。むしろ対応してるところのほうが少ない。

ってことでハッカソンですよ!!

ちょっと調べただけで,

  • IPv6対応の実装漏れはまだありそう
  • WebサービスはそもそもIPv6が使えないものもある
  • 開発者がIPv6だけで生活するのは無理

ということがわかりました。

もうちょいあれこれ調べてみる必要はありそうです。

また,うまくいっていないものを何とかするのは技術者魂を刺激しますよね。

8月20日に一緒にIPv6ハックしてみませんか?

一緒にハックする参加者を募集しております。

IPv6ハッカソン
http://ll.jus.or.jp/2011/program/ipv6hackathon.html

LLイベントだもの

でも真面目に調べるだけじゃつまらないんですよね♪

LLイベントはネタを競う大会でもあります(そうだよね?⁠⁠。

IPv6の128bitの広大なアドレス空間を使ってあれこれするアイディアがあれば一緒に実装しませんか?

128bitもあれば,リスト構造体ぐらいは問題なく作れるはずです。

また,IPv6のサービスは,まだまだ未開の荒野です。

やったもん勝ちです。IPv6占いでも作って一山あててみませんか?

それと今はIPv6を使ってて良かったな,と思うのは,亀やひろゆきが踊ったりネギが振られたりする時ぐらいなのですよ。

そんな特典じゃ人の心は動かせません。

IPv6でアクセスするとなんでも歌って踊り出すような素敵なProxyサービスなど,グっとくるサービスを作ってみませんか?

皆さまの応募をお待ちしております。

著者プロフィール

佐々木健(ささきけん)

ソフィア総合研究所勤務。データセンターとMSPの中の人。

趣味はバイオリン。オーケストラの練習をさぼり続けてたら,最近は練習に出るだけで褒めてもらえるようになった。

エンジニアとしても,あれこれ不義理しまくってたらそんなポジションをゲットしつつある。継続は力だと思う今日この頃。