Linux (kernel 2.6)で、RAされているprefixを使ってMACアドレスに依存しない固定的なアドレスをつけたい。
いまいちスマートな方法が見つからないので、prefixを拾ってIPアドレスをつけることに。
んで、そのprefixを拾う方法のお話。
radvdに含まれるradvdumpでしばらく待てば得られるが、RAが来るまで待つ必要がある。でもせっかちなので直ぐほしい。
Router Solicitation(ルータ要請)すればすぐもらえるはずなので、ECHO_REQUEST以外のICMPv6もしゃべれるツールを探したところあんまりなさげ。唯一めっけたのがNDisc6で、これのrdisc6で直ぐにprefixが取れたす。
# rdisc6 -1 -r 3 eth0 | grep Prefix Prefix : 2001:XXXX:XXXX:XXXX::/64
FreeBSDではじめるIPv6 第7回の1.3 グローバルアドレスのホスト識別子によれば、FreeBSDの実装ではリンクローカルアドレスのホスト識別子がグローバルアドレスのホスト識別子にも使われるらしい。いいなぁ。