Linux box の IPv6 対応

last-modified: Jan 31 20:04 1999


What's New

Jan 31 1999
inet6-apps, net-tools に関する記述、パッチを更新。
ノートPC 固有の記述が減ってきたので、それに応じて文書のタイトルを変更。
Jan 29 1999
カーネル 2.2.X に言及。

この文書は関谷さんの文書 「Linux で IPv6 を使うために」 を補うものです。 ノートPC 上の Linux を IPv6 対応させる上での注意点、有用なパッチを挙げます。 関谷さんの文書とあわせて参照して下さい。

関谷さんの文書はかなり昔に書かれたものなので、 使用しているソフトウェアが古いです。新しめの版を使おうとすると、 関谷さんが述べていない多くの点ではまります。

このページにあるパッチをまとめたアーカイブです。

TOC


必要なソフトウェア

次のソフトウェアが必要です。 ものによっては伸長するために bzip2 が要ります。 カーネル 2.2, 2.1 では、次のソフトウェアが正常に動作しません。 以上のソフトウェアについて述べていきます。

kernel

IPv6 のためには 2.2.X か 2.1.X が必要です。 この文書を書いている時点の最新は 2.2.1 です。

カーネルの update に伴って、各種ツール類も update します。 詳しくはソースツリーの Documentation/Changes (2.2.1 のもの) を読んで下さい。 私の場合は modutils-2.1.85 をインストールする必要がありました。

dhcpcd-0.70 (DHCP クライアント) を使いたい場合はカーネル、 dhcpcd 双方を修整します。dhcpcd はネットワークインタフェー スを初期化する際に IP address を 0.0.0.0 に設定しよ うとするのですが、2.2.X, 2.1.X はこれを受け付けません。 パッチを適用して下さい。

ppp-2.X(pppd, PPP デーモン) を使いたい場合もカーネルに変更 が必要です。2.2.X, 2.1.X は、ネットワークインタフェースが存在し ない状態でルーティング情報の設定を受け付けません。 ppxp はカーネルに対する変更なしで動作します。


inet6-apps

inet6-apps-0.34 を使います。

コンパイルするためにいくつかの修整が必要です。パッチを適用して下さい。 inet6-apps にパッチを当てないと ssh-1.2.26 は コンパイルできません。

libc5 では、関数 daemon() が存在しないため inetd の コンパイルに失敗します。

パッチを適用すると shared library (libinet6.so) も 作られるようになります。 shared library があるために SSH (Secure Shell) の configure が 失敗することがあります。 /usr/inet6/lib/libinet6.so を消してしまうか、 /etc/ld.so.conf/usr/inet6/lib を追加して root で ldconfig を実行するかして下さい。

GNUMakefile.config の編集 (設定) も必要です。

1998 WIDE camp in 熱海の v6 -> v4 トランスレータを利用できる仕掛けを 用意しました…っていうか、KAME から移植しました。 KAME を使っている場合と同様に、環境変数 GAI を設定します。

% setenv GAI 3ffe:501:10ff:200::
IPv6 クライアントで IPv4 ホスト名を指定して下さい。

Thanks KAME !


net-tools

net-tools-1.49 を使います。

IPv6 対応のためには Makefile の修整が必要です。 COPTS, RESLIB を適当に変更します。

make config

  • GNU gettext がインストールされていない場合、`Does your system support GNU gettext?' は `n' にする。
  • `INET6 (IPv6) protocol family' を `y' にする。
  • `SIT (IPv6-in-IPv4) support' を `y' にする。 あとは好みで答えます。

    libc5 ではなくて glibc2 を使用している場合、以下のパッチが要ります。


    dhcpcd

    dhcpcd-0.70 はカーネル 2.2.X, 2.1.X ではそのままでは使えません。 カーネルに修整が必要です。(節「kernel」参照)。 2.1.X で ioctl() の際のチェックが厳しくなったためです。

    dhcpcd-1.3.16 はそのまま使えます。 0.70 と 1.3.16 は異なるソフトウェアです。


    その他のアプリケーション用パッチ

    ssh-1.2.26-IPv6-1.4.diff
    ssh-1.2.26ssh-1.2.26-IPv6-1.4-patch.gz を適用した後に 適用するパッチ
    glibc2では
    % env LIBS=-lresolv ./configure --enable-ipv6
    libresolv がリンクされるようにする必要があります。

    追記事項

    パッチについて


    Back to


    Copyright 1998,1999 (C) SHUDO Kazuyuki
    All Rights Reserved.