Mobile IPv6 for Linux ガイド(with USAGI patch)

[English version]

イントロダクション

このドキュメントは,Linux 上で Mobile IPv6(MIPv6) を設定するためのチュートリアルである.

このドキュメントでは,基本的なカーネルコンフィグレーション,IPv6 ネットワークのオペレーション,設定経験,MIPv6 に関する基礎知識があることを作業の前提としている. IPsec を使いたい場合は,IPsec の基本的な知識と,IPv6 のトンネルゲートウェイの設定経験も必要になるだろう.

まずはじめに,既知の問題を参照してほしい.

古い情報はumip-0.3またはumip-0.1 ページに移動した.


必要なソフトウェアについて

HA, MN, CN のすべてで必要なソフトウェア

HA で必要なソフトウェア

HA と MN で必要なソフトウェア


カーネルと mip6d のビルド


設定

mip6d のインストール後は,mip6d.conf(5)を参照することにより,設定に有効な情報を入手する事ができる.

HA 固有の設定

MN 固有の設定

CN 固有の設定

IPsec の設定


起動手順

HA の起動手順

  1. mip6d を起動する前に,以下の条件が成立していることを確認する.
    • ルータとして起動できること.
    • プロキシ近隣探索が有効であること.
    • HA のアドレスとして,グローバルユニキャストアドレスがホームリンクのインタフェースに設定されていること.
    • IPsec SA が設定されていること(IPsec を鍵の手動設定で使用する場合)
  2. mip6d を起動する.
  3. mip6d 起動後に,
    • ルータ探索を開始する.

上記を行う起動スクリプトの簡単な例をmipv6-ha.shに示す.

MN の起動手順

  1. mip6d を起動する前に,以下の条件が揃っているか確認する.
    • mip6d が起動する前に,mip6d が使用するネットワークインタフェースが起動していること.
    • IPsec SA が設定されていること(IPsec の鍵を手動設定で使用する場合).
  2. これらの状態が確認できたら,mip6d を起動する.

起動スクリプトの簡単な例をmipv6-mn.shに示す.

CN の起動手順

  1. mip6d を起動する.

起動スクリプトの簡単な例をmipv6-cn.shに示す.

それ以外の例


動作確認

起動確認

Binding cache の確認

Binding update list の確認

経路最適化の確認

経路最適化を簡単に確認する方法は(TAHIテストを用いるか,パケットをダンプすることにより確認する以外には)難しい.
しかし,USAGI git ツリーに含まれている ping6 を使用すると,受信した echo reply が経路最適化されているかどうかは確認することができる.

例:


既知の問題

カーネルサポート状況

メインラインのカーネルサポート状況を記す(2.6.23時点).

ノード基本動作IPsec
トランスポートトンネル
HA OK*1 OK*1 OK*3
MN OK*2 OK*4 OK*4,*3
CN OK*1 -*5,*1 -

既知の問題

[MN] MN間通信において両者の BCE が準備できる前に誤って双方向の経路最適化を行う
この問題は以下の手順で再現する:
(1) 2つの MN が外部リンクにいて,両方ともバインドしている.言い替えれば双方向の経路最適化 (IPv6-RH2-HAO) の通信が成功している.
(2) MN(a) が別の外部リンクに移動する.
(3) MN(a) が,もう一つの MN(b) へのバインドを完了する前に, MN(b) が単方向の経路最適化 (IPv6-IPv6-HAO) の echo request を送信する.
(4) MN(a) がその echo request を受信すると,echo reply を誤って双方向の経路最適化で返信する.
[HA,MN,CN] 経路最適化での TCP 問題 (USAGI カーネルパッチあるいは2.6.24で修正される)
ノードが TCP 接続を経路最適化しないで開始する時,経路最適化がカーネルに準備できた後であっても,誤って経路最適化しないでその接続を続けてしまう.この問題は IPsec 上の TCP でも起こる.
[HA] HA が IPsec トンネルされたパケットに誤ってリダイレクトを送信する(USAGI カーネルパッチあるいは2.6.24で修正される)
IPsec トンネルゲートウェイで,IPsec トンネルされたパケットが到着したネットワークデバイスと,デカプセルしたパケットが送信されるデバイスが同じ時,ルータか送信元へ不正にリダイレクトを送信する.
[MN] IPsec トンネルの設定の "TunnelMh" と "TunnelPayload" は動作しない
これは,XFRM セレクタを if-index 無しで使うようなカーネルの変更をデーモンが未だサポートしていないためである.
[MN] MN が経路最適化パケットをデフォルトルータの MAC アドレスへ送信する (USAGI git(linux-2.6.24-mip6ブランチ以降)で修正される あるいは2.6.26に予約されている)
MN が CN と同一のリンクに居る時, MN は NS を送らずに, CN への経路最適化パケットを,CN の MAC アドレスではなくデフォルトルータの MAC アドレスへ送る.(そのルータによりパケットは CN へ転送されるかもしれない.)
[MN] MN が CN をターゲットにしているリダイレクトを学習しない
MN と CN が同じリンクに居て MN が CN 上に BCE を作成した時,そのリンク上のルータから CN をターゲットにしているリダイレクトを受信しても MN はその CN への近隣キャッシュを作成しない.
[MN] MN が初回ブート時に HA 宛の BU を内部でブロックする
(詳細の条件は特定できていないが) IPsec が無効の時または "HomeRegBinding" と "MobPfxDisc" 有りで IPsec が有効の時に起こる. これはデーモンを再開することで修正できる.


$Id: index.html.ja,v 1.32 2008-03-31 04:50:34 nakam Exp $
Copyright ©2006,2007 USAGI/WIDE Project, All Rights Reserved.