新たな世界を見るために。
IPv4アドレスの中央在庫がついに枯渇、最後の5ブロックを各RIRに分配 -INTERNET Watch Watch
とうとうIANAのIPv4アドレスブロックが在庫切れとなり、v4アドレス配布も最終段階へ。そこで、今後拡大していくIPv6ネットワークへと手元の端末をつないでみました。
以下、手順です。
前提
- 端末機OS: Mac OS X 10.6 "Snow Leopard"
- 家庭用ブロードバンドルータ経由の接続
- ルータにはグローバルIPv4アドレスが振られている
Feel6へのサインアップ
http://start.feel6.jp/
フリービット社のトンネリングサービス、Feel6を使用します。提供される環境確認・接続ソフトが古くSnow Leopardで動作しないので、「Windows/Macintosh以外のOSをご利用の方はこちら」のボタンから申し込むと環境確認ステップを飛ばせるのでいいです。
DCTPクライアントの導入
先述したようにFeel6で提供される接続ソフト(BitBasket)は動作しないので、別途接続用のクライアントを導入します。
ダウンロード
http://www.imasy.or.jp/~ume/dtcp/
「ダウンロード」からdtcpclient-20060526.tar.gzを入手、展開します。
ソースの編集
デフォルトのインストール先は/usr/localです。変えたい場合はconfigureでPREFIXを指定すればいいのかと思ったんですがうまくいかなかったので、直接以下のファイルを書き換えちゃいました。
- GNUmakefile
- Makefile
- dtcpclient.8
- dtcpclient.c
- dtcpclient.script
GNUmakefileは書き換えなくて良かった気がしますが、一括でやったので。
ビルド、インストール
$ cd /path/to/dtcpclient-20090812 $ make $ mkdir /path/to/dtcpclient/sbin $ mkdir /path/to/dtcpclient/sbin/dtcpclient $ mkdir /path/to/dtcpclient/etc $ mkdir /path/to/dtcpclient/man/ $ mkdir /path/to/dtcpclient/man/man8 $ sudo make instal
make installでコピー先のディレクトリがないってエラーが連発したので手で作ってます。
設定
設定ファイルを記述します。
/path/to/dtcpclient/etc/dtcpclient.auth
dtcp.feel6.jp:(Feel6ユーザ名):(Feel6パスワード)
/path/to/dtcpclient/etc/dtcpclient_script.conf
tunif='gif0' tunif_addrs='(ネットワークプレフィクス):1::1'
tunif_addrsはgif0に振るv6アドレスなので、:1::1である必要はないです。
ネットワークプレフィクスは、Feel6トップから「登録情報変更」→ログイン→「登録情報確認」で見られます。
ルータ設定
NATの内側にいるので、そのままでは外から飛んできたv6パケット(をカプセル化したもの)は破棄されてしまいます。なのでルータの設定を弄って、プロトコル番号41を通過させる必要があります。設定は以下のページが参考になりました。
v6活用研究会 - NATとDTCP
なお、「41番ポートを開ける」ではないのでご注意。
よく分からないときはDMZにしてしまうのが手っ取り早いですが、相応の備えをしてからにしてください。
接続
さあ、いよいよトンネルを掘って接続です。
$ sudo /path/to/dtcpclient/sbin/dtcpclient/dtcpclient -t network -n -u (Feel6ユーザ名) -d dtcp.feel6.jp Password: logging in to dtcp.feel6.jp port 20200 >>> +OK xxxxxxxxxxxxxxxxxxxxxxxxxxxxx FBDC TunnelBroker (version 0.2) Ready. <xxxxxx>:xxxx <<< tunnel xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx network >>> +OK xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx xxxx:xxxx:xxxx::/48 add net default: gateway ::1 sleep(60) <<< ping >>> +OK pong sleep(60)
疎通確認
$ ping6 www.kame.net PING6(56=40+8+8 bytes) xxxx:xxxx:xxxx:1::1 --> xxxx:xxx:xxx:xxxx:xxx:xxxx:xxxx:xxxx 16 bytes from xxxx:xxx:xxx:xxxx:xxx:xxxx:xxxx:xxxx, icmp_seq=0 hlim=55 time=120.788 ms
あとはwww.kame.netをブラウザで開くとかめが踊ってるはずです。KDDIのサイトだと"via IPv6"になっているはず。なお、トンネルを掘る前からブラウザを起動しっぱなしだった場合、再起動しないとv4でつながることがあるようです。
やったね!