10月 142008
 

新しい BB ルータを買ったら、IPv6 閉域網のアドレスが降ってきて、FreeBSD の rtsol で付くようになってしまった。と言うのは前回書いた

この時は「ip6addrctl より先ににまずはルーティングだよねぇ。」って書いたんだけど、いよいよ ip6addrctl が必要になってきた。と、言うのも、僕の場合、/etc/hosts には以下のように書いている。

# google
2001:4860:0:2001::68       www.google.com

 
そー。ipv6.google.com と、言うのがあるんだけど、これを default で見に行くように設定しているのでした。

この設定をした場合、ipv6.google.com に対してアクセスするとき、僕が持っている IPv6 グローバルアドレスである、2001:200:: より、 NTT の Flet’s v6 (以降「IPv6 閉域網」と記述)の 2001:c90:: のほうが「デスティネーションと同じかより大きなスコープのアドレスが優先」されると言う法則により、ソースアドレスの IPv6 アドレス、つまり、自分のマシンのソースアドレスが IPv6 閉域網のアドレスになるので ipv6.google.com にはアクセスできない。と言う事態が発生してしまうのでした。

こらーもう /etc/ip6addrctl.conf 書くしかねぇべや。と言うことで当初書いていたのがこんな感じ。

:ffff:0:0/96 50     0
::1/128       40    1
::/0          30    2
2002::/16     20    3
::/96         10    4
2001:200::/35 10  100
2001:c90::/32  1  101

 
これでもーたいじょーぶだべ。とか思って、しばらく利用していたんだけど、どうもおかしい。やはり、ipv6.google.com にアクセスできない場合がある。で、どういう時にアクセスできないのか?と、言うと ifconfig でインターフェースについている IPv6 アドレスのうち、一番上についているアドレスがソースアドレスとして動作している。と言うことが解りました。

つまり、IPv6 閉域網のルータ通知デーモンと、自宅の rtadvd が動作しているルータから rtsol で IPv6 アドレスを取得した場合、NTT 側のルータが先に反応すると IPv6 閉域網の IPv6 アドレスが一番先に付いてしまうので ifconfig した時に一番上に来てしまう。その状態で ipv6.google に ping6 してもソースアドレスが IPv6 閉域網のものであるために到達性が無い。と言うことですね。

それにしても ip6addrctl の設定ファイルを書いてもなんでじゃー!?どうしてじゃー!?状態に陥るのでこざいました・・。

で、とある有識者、FreeBSD と IPv6 に詳しい人にお尋ねしたところ、自分が利用したい IPv6 は /etc/ip6addrctl.conf に書く必要はないので消せば良いでしょう。ちゃんと RFC3484 読もうねぇ。と言われつつ教えていただきました。

なので、正しい /etc/ip6addrctl.conf の書き方は以下のようになりますねー。

::ffff:0:0/96 50    0
::1/128       40    1
::/0          30    2
2002::/16     20    3
::/96         10    4
2001:c90::/32  1  101 

 
自分が利用したいアドレスである 2001:200::/35 を削除するのが正解なのでした。この設定を有効にした状態でなおかつ IPv6 閉域網のアドレスが ifconfig で見たときに一番上に来ていても、2001:200:: のアドレスをソースアドレスとして ipv6.google に到達できるようになりました。

良かった良かった。そして、ありがとうございました。

なお、その他の設定の意味については以下の URL を参照すれば大丈夫だと思われます。

http://www.imasy.or.jp/~ume/presentation/CBUG-20031129/text0.html

それにしてもこのドキュメントが書かれたのは 2003 年 11 月ですか・・。

ありがとうございました。 ume さん。

ちなみに MacOSX Leopard には ip6addrctl コマンドがありません。そして、やはり ifconfig で一番上に付いた IPv6 アドレスがソースアドレスになってしまうようです。

ただ、もしかしたら rtsol の時に何かしているのかもしれません。FreeBSD とは違って、IPv6 閉域網の IPv6 が、グローバル IPv6 アドレスより先に付くことは無いですね。ネットワークの設定の所でどっちをメインの IPv6 に使うか設定があったかなぁ?今手元に MacOSX が無いので良くわからないのですけど・・。

10月 062008
 

iPhone・iPodTouch を JailBreak すると WifiToggle と言うプログラムをインストールすることができるようになる。

まぁ、平らたく言うと、ボタン一つで Wifi のオン/オフができるのだけと、これがあるとすんごい楽。ってか、iPod Touch の「設定」画面て押しても中々出てこないし・・。遅すぎて・・。

で、僕も WifiToggle を使い始めたんだけど。App Store でこの手のヤツってあるのかしら?僕には見つけられなかったんだけど。

WifiToggle については google で検索すると一杯出てくるけど、この辺りの URL を張りつけておきます。とよしんのブログさん の所には default のキャプチャがあるので助かります。

http://toysn.blog103.fc2.com/blog-entry-258.html

実はこれ、一旦インストールしたんですが、アイコンがかっちょ悪いので一旦削除したんですよ。けど、中々良いので再インストールしたのですが、やはり、アイコンが気に入らない。

と、言うことでアイコンを書いてしまいました;-)。僕の iPod Touch は大体こんな感じ。

IMG_0001.PNG

丸みを帯びた、例の四角いのにました。これでだいぶ他のとなじんできたかしら;-)。欲しい方はこれを持っていってください。デスクトップに保存した後、scp で iPod Touch に送ってください。

icon4.png

インストール方法ですが、iPod に ssh でログインします。

# cd /Applications/WifiToggle.app/
# mv icon.png icon.png.org
# mv ~/icon4.png ./icon.png

 
これでアイコンが置き変わったので後は iPod を reboot すれば他のアイコンと同じ形のヤツが表示されると思います。ちなみに僕は技術者であってデザイナーではないので、あまりかっちょ良くないかもしれませんがその点についてはお許しいただければと思います(^^;;。

WifiToggle のライセンスはどうなっているのか知りません。ただ、Apple の製品を利用しているのにデザインが統一されていないことに激しく納得行かなかったのでアイコンを書いただけです。

統一されたデザイン。ささいなことなんだけどこれで心置きなく WifiToggle が利用できます;-)。