次はユーザーランドアプリケーションの作成です。カーネルの作成と比較して、それほど面倒ではありません。
USAGIを展開したディレクトリに移動後、
$ cd usagi/usagi $ ./configure $ make $ su # make install
と実行することで、/usr/local/v6ディレクトリ下にコマンド類がインストールされます。
また、USAGI対応アプリケーションを開発するなどの状況が存在するのであれば、以下のようにしてヘッダファイルをインストールします。
■元のヘッダファイルの保存
/usr/include下のファイルを保存します。スーパーユーザー権限が必要になります。
# cd /usr # tar cvzf include.orig.tar.gz include
■USAGIのヘッダファイルインストール
USAGIを展開したディレクトリに移動後、
# cd usagi/usagi # make install-includes
とします。当然のごとく、スーパーユーザー権限が必要になります。
ここまでくれば、もう動作可能な状況になっています。USAGIが組み込まれているか否か? という点については、新しいカーネルでリブートしたときのメッセージをチェックすることで確認可能です。しかし、実際に動作しているか否か? ということを確認するには、動作確認されているIPv6対応のマシンが必要になります。
以下に示すようなネットワークを例(注)に、FreeBSDマシンに対するping6の結果を確認してみましょう。
ホスト | IPアドレス | インターフェイス |
---|---|---|
Linux(USAGI) | fe80::2a0:24ff:fe56:9789 | eth0 |
FreeBSD(KAME) | fe80::220:afff:fed2:108 | vx0 |
注:筆者の環境にはKAMEをインストールしたFreeBSDがあったので、これを使ってUSAGIの動作確認を行いました。
$ /usr/local/v6/bin/ping6 fe80::220:afff:fed2:108%eth0 PING fe80::220:afff:fed2:108%eth0(fe80::220:afff:fed2:108%eth0) from fe80::2a0:24ff:fe56:9789%eth0 : 56 data bytes 64 bytes from fe80::220:afff:fed2:108%eth0: icmp_seq=1 ttl=64 time=0.415 ms 64 bytes from fe80::220:afff:fed2:108%eth0: icmp_seq=2 ttl=64 time=0.415 ms 64 bytes from fe80::220:afff:fed2:108%eth0: icmp_seq=3 ttl=64 time=0.412 ms 64 bytes from fe80::220:afff:fed2:108%eth0: icmp_seq=4 ttl=64 time=0.386 ms 64 bytes from fe80::220:afff:fed2:108%eth0: icmp_seq=5 ttl=64 time=0.389 ms 64 bytes from fe80::220:afff:fed2:108%eth0: icmp_seq=6 ttl=64 time=0.416 ms --- fe80::220:afff:fed2:108%eth0 ping statistics --- 6 packets transmitted, 6 received, 0% loss, time 4998ms rtt min/avg/max/mdev = 0.386/0.405/0.416/0.023 ms
動いていれば当然の結果ではありますが、ping6による疎通が確認できました。
コマンドラインパラメータの意味ですが、Link Localアドレスを使用する場合には、どのインターフェイスに対してICMPパケットを送り出すか?
というのを明示してやる必要があります。アドレスの後ろに「%eth0」としたのは、明示的に「eth0に接続されたネットワークに対して」という意味を持たせたと思ってください。
ここまでで、LinuxのIPv6化は終了しました。しかし、IPv6化されたマシンがいくらあっても、そのマシンの上でサービスが動作しないことには何の役にも立ちません。
中編では、
という辺りについて述べさせていただきます。もうIPv6の世界はすぐそこまで来ていますよ。
Copyright © ITmedia, Inc. All Rights Reserved.