Solaris のシステム管理 (IP サービス)

モバイル IP 構成ファイル

mipagent コマンドは、起動時に /etc/inet/mipagent.conf 構成ファイルから構成情報を読み取ります。 モバイル IP は /etc/inet/mipagent.conf 構成ファイルを使用してモバイル IP モビリティエージェントを初期化します。構成および配置されると、モビリティエージェントは定期的なルーター通知を発行し、ルーター発見要請メッセージおよびモバイル IP 登録メッセージに応答します。

ファイルの属性については、mipagent.conf(4) のマニュアルページ、ファイルの使用法については、mipagent(1M) のマニュアルページを参照してください。

構成ファイルの形式

モバイル IP 構成ファイルはセクションにより構成されています。各セクションは固有の名前を持っていて、角括弧で囲まれています。各セクションには 1 つ以上のラベルが付いています。ラベルに値を設定するには次の形式を用います。


[Section_name]
     Label-name = Value-assigned

構成ファイルのセクションとラベルでは、セクション名、ラベル、および可能な設定値を説明しています。

構成ファイルの例

Solaris のデフォルトのインストールでは、次の構成ファイルのサンプルが /etc/inet ディレクトリにあります。

これらのサンプル構成ファイルには、モバイルノードアドレスおよびセキュリティ設定の例が記載されています。モバイル IP を実装する前に、mipagent.conf という構成ファイルを作成して /etc/inet ディレクトリに格納しなければなりません。このファイルには、ユーザーのモバイル IP 実装の要件を満たす値を指定します。サンプル構成ファイルの 1 つを選択し、ユーザーのアドレスおよびセキュリティ設定で変更して、/etc/inet/mipagent.conf にコピーすることもできます。

実行方法については、モバイル IP 構成ファイルを作成する方法を参照してください。

mipagent.conf-sample ファイル

次に mipagent.conf-sample ファイルに指定されたセクション名、ラベル、および設定値を示します。構成ファイルのセクションとラベルでは、構文、セクション、ラベル、および設定値について説明しています。


[General]
   Version = 1.0    # version number for the configuration file. (required)
   
[Advertisements hme0]
   HomeAgent = yes
   ForeignAgent = yes
   PrefixFlags = yes
   AdvertiseOnBcast = yes
   RegLifetime = 200
   AdvLifetime = 200
   AdvFrequency = 5
   ReverseTunnel = no
   ReverseTunnelRequired = no
   
[GlobalSecurityParameters]
   MaxClockSkew = 300
   HA-FAauth = yes
   MN-FAauth = yes
   Challenge = no
   KeyDistribution = files

[Pool 1]
   BaseAddress = 10.68.30.7
   Size = 4

[SPI 257]
   ReplayMethod = none
   Key = 11111111111111111111111111111111

[SPI 258]
   ReplayMethod = none
   Key = 15111111111111111111111111111111

[Address 10.1.1.1]
   Type = node
   SPI = 258

[Address mobilenode@sun.com]
   Type = node
   SPI = 257
   Pool = 1

[Address Node-Default]
   Type = node
   SPI = 258
   Pool = 1

[Address 10.68.30.36]
   Type = agent    
   SPI = 257
[Address 10.68.30.36]    
   Type = agent    
   SPI = 257    
   IPsecRequest = apply {auth_algs md5 sa shared} 
   IPsecReply = permit {auth_algs md5}  
   IPsecTunnel =  apply {encr_algs 3des sa shared}

例 – mipagent.conf.fa-sample ファイル

次に mipagent.conf.fa-sample ファイルに指定されたセクション名、ラベル、および設定値を示します。構成ファイルのセクションとラベルでは、構文、セクション、ラベル、および設定値について説明しています。mipagent.conf.fa-sample ファイルは、外来エージェント機能のみを提供する構成を示しています。サンプルファイルには Pool セクションがありません。Pool はホームエージェントのみが利用するからです。その他の点では、このファイルは mipagent.conf-sample ファイルと同じです。


[General]
   Version = 1.0    # version number for the configuration file. (required)
   
[Advertisements hme0]
   HomeAgent = no
   ForeignAgent = yes
   PrefixFlags = yes
   AdvertiseOnBcast = yes
   RegLifetime = 200
   AdvLifetime = 200
   AdvFrequency = 5
   ReverseTunnel = yes
   ReverseTunnelRequired = no
   
[GlobalSecurityParameters]
   MaxClockSkew = 300
   HA-FAauth = yes
   MN-FAauth = yes
   Challenge = no
   KeyDistribution = files

[SPI 257]
   ReplayMethod = none
   Key = 11111111111111111111111111111111

[SPI 258]
   ReplayMethod = none
   Key = 15111111111111111111111111111111

[Address 10.1.1.1]
   Type = node
   SPI = 258

[Address 10.68.30.36]
   Type = agent    
   SPI = 257

[Address 10.68.30.36]    
   Type = agent    
   SPI = 257    
   IPsecRequest = apply {auth_algs md5 sa shared} 
   IPsecReply = permit {auth_algs md5}  
   IPsecTunnel = apply {encr_algs 3des sa shared}

例 – mipagent.conf.ha-sample ファイル

次に mipagent.conf.ha-sample ファイルに指定されたセクション名、ラベル、および設定値を示します。構成ファイルのセクションとラベルでは、構文、セクション、ラベル、および設定値について説明しています。mipagent.conf.ha-sample ファイルは、ホームエージェント機能のみを提供する構成を示しています。その他の点では、このファイルは mipagent.conf-sample ファイルと同じです。


[General]
   Version = 1.0    # version number for the configuration file. (required)
   
[Advertisements hme0]
   HomeAgent = yes
   ForeignAgent = no
   PrefixFlags = yes
   AdvertiseOnBcast = yes
   RegLifetime = 200
   AdvLifetime = 200
   AdvFrequency = 5
   ReverseTunnel = yes
   ReverseTunnelRequired = no

[GlobalSecurityParameters]
   MaxClockSkew = 300
   HA-FAauth = yes
   MN-FAauth = yes
   Challenge = no
   KeyDistribution = files

[Pool 1]
   BaseAddress = 10.68.30.7
   Size = 4

[SPI 257]
   ReplayMethod = none
   Key = 11111111111111111111111111111111

[SPI 258]
   ReplayMethod = none
   Key = 15111111111111111111111111111111

[Address 10.1.1.1]
   Type = node
   SPI = 258

[Address mobilenode@sun.com]
   Type = node
   SPI = 257
   Pool = 1

[Address Node-Default]
   Type = node
   SPI = 258
   Pool = 1

[Address 10.68.30.36]
    Type = agent    
    SPI = 257    
    IPsecRequest = apply {auth_algs md5 sa shared} 
    IPsecReply = permit {auth_algs md5}  
    IPsecTunnel = apply {encr_algs 3des sa shared}

構成ファイルのセクションとラベル

モバイル IP 構成ファイルには、次のセクションがあります。

General および GlobalSecurityParameters セクションは、モバイル IP エージェントの動作に関する情報を含み、構成ファイル内に 1 つだけ指定できます。

General セクション

General セクションは、1 つのラベル、つまり構成ファイルのバージョン番号だけが含まれます。General セクションの構文は次のとおりです。General セクションの構文は次のとおりです。


[General]
     Version = 1.0

Advertisements セクション

Advertisements セクションには、HomeAgentForeignAgent などのラベルが含まれます。モバイル IP サービスを提供するローカルホストの各インタフェースには、それぞれ異なる Advertisements セクションを指定しなければなりません。Advertisements セクションの構文は次のとおりです。


[Advertisements Interface-name]
     HomeAgent = <yes/no>
     ForeignAgent = <yes/no>
     .
     .

通常、システムは 1 つのインタフェース (le0hme0 など) を持ち、ホームエージェントおよび外来エージェントの両方の動作をサポートします。たとえば hme0 の場合、yesHomeAgent および ForeignAgent の両ラベルに次のように指定されます。


[Advertisements hme0]
     HomeAgent = yes
     ForeignAgent = yes
     .
     .

動的インタフェースによる通知の場合、デバイス ID 部分に * を使用します。たとえば、 Interface-name ppp* は、mipagent の開始後に構成されるすべての ppp インタフェースを含むことを意味します。動的インタフェースタイプの advertisement セクションにあるすべての属性は、同じ状態にします。

表 25–1 で、Advertisements セクションに指定可能なラベルと設定値について説明します。

表 25–1 Advertisements セクションのラベルと設定値

ラベル 

値 

説明 

HomeAgent

yes または no

mipagent がホームエージェント機能を提供するかどうかを指定する

ForeignAgent

yes または no

mipagent が外来エージェント機能を提供するかどうかを指定する

PrefixFlags

yes または no

通知が任意の接頭辞拡張を含むかどうかを指定する 

AdvertiseOnBcast

yes または no

設定値が yes の場合、通知は 224.0.0.1 ではなく 255.255.255.255 に送信される

RegLifetime

n

登録要求で受け付けた、秒単位の最長有効期間 

AdvLifetime

n

通知がそれ以上ない場合に現在の通知が有効と考えられる、秒単位の最大時間 

AdvFrequency

n

2 つの連続した通知間の、秒単位の時間 

ReverseTunnel

yesnoFAHAboth のいずれか

mipagent が逆方向トンネル機能を要求するかどうかを指定する。

設定値が yes の場合、外来エージェントとホームエージェントの両方が逆方向トンネリングをサポートする。設定値が no の場合、インタフェースは逆方向トンネリングをサポートしない

設定値が FA の場合、外来エージェントが逆方向トンネリングをサポートする。設定値が HA の場合、ホームエージェントが逆方向トンネリングをサポートする。設定値が both の場合、外来エージェントとホームエージェントの両方が逆方向トンネリングをサポートする。

ReverseTunnelRequired

yesnoFAHA のいずれか

mipagent が逆方向トンネル機能を要求するかどうかを指定する。したがって、モバイルノードが逆方向トンネルを登録中に要求すべきかどうかを指定する

設定値が yes の場合、外来エージェントとホームエージェントの両方が逆方向トンネルを要求する。設定値が no の場合、インタフェースは逆方向トンネルを要求しない

設定値が FA の場合、外来エージェントが逆方向トンネリングを要求する。設定値が HA の場合、ホームエージェントが逆方向トンネリングを要求する

AdvInitCount

n

要請しない通知の初期値を指定する。デフォルト値は 1。この値は、AdvLimitUnsolicitedyes の場合に有効

AdvLimitUnsolicited

yes または no

モビリティインタフェースによる、要請されない通知の制限値を有効または無効にする 

GlobalSecurityParameters セクション

GlobalSecurityParameters セクションには、maxClockSkewHA-FAauthMN-FAauthChallenge、および KeyDistribution ラベルが含まれます。このセクションではセキュリティパラメータを定義します。GlobalSecurityParameters セクションの構文は次のとおりです。


[GlobalSecurityParameters]
     MaxClockSkew = n
     HA-FAauth = <yes/no>
     MN-FAauth = <yes/no>
     Challenge = <yes/no>
     KeyDistribution = files

モバイル IP プロトコルは、タイムスタンプをメッセージ内に含めることで、メッセージの再実行に対する保護を提供します。クロックが異なる場合、ホームエージェントは現在時間とともにエラーをモバイルノードに返します。モバイルノードはその現在時間を使って再登録できます。モバイルノードはその現在時間を使って再登録できます。MaxClockSkew ラベルを使用して、ホームエージェントとモバイルノードのクロック間で異なる最大秒数を構成することができます。デフォルト値は 300 秒です。

HA-FAauth および MN-FAauth ラベルは、それぞれホームと外来間、およびモバイルと外来間の認証に関する条件を有効または無効にします。デフォルトは無効です。外来エージェントが通知内に指定されたモバイルノードへ呼び出しを発行するようにするためには、challenge ラベルを使用します。このラベルは再実行に対する保護のために使用します。デフォルト値は無効です。

表 25–2 で、GlobalSecurityParameters セクションに指定可能なラベルと設定値について説明します。

表 25–2 GlobalSecurityParameters セクションのラベルと設定値

ラベル 

値 

説明 

MaxClockSkew

n

mipagent が自分のローカル時間と登録要求に示された時間の差として受け入れる秒数

HA-FAauth

yes または no

HA-FA 認証拡張が、登録要求と応答に存在する必要があるかを指定する 

MN-FAauth

yes または no

MN-FA 認証拡張が、登録要求と応答に存在する必要があるかどうかを指定する 

Challenge

yes または no

外来エージェントが自分のモビリティ通知内に呼び出しを含むかどうかを指定する 

KeyDistribution

files

常に files に設定

Pool セクション

モバイルノードには、ホームエージェントによって動的アドレスを割り当てることができます。動的アドレスの割り当ては、DHCP とは独立に mipagent が行います。ユーザーは、ホームアドレスを要求することによってモバイルノードが使用できるアドレスプールを作成できます。アドレスプールは、構成ファイルの Pool セクションを使って構成されます。

Pool セクションには、BaseAddress および Size ラベルが含まれます。Pool セクションの構文は次のとおりです。


[Pool Pool-identifier]
     BaseAddress = IP-address
     Size = size

注 –

Pool 識別子を使用している場合、モバイルノードの Address セクションにも存在していなければなりません。


Pool セクションを使用してモバイルノードに割り当て可能なアドレスプールを定義します。BaseAddress ラベルは、プール内の最初の IP アドレスを設定するのに使用します。Size は、プール内の使用可能なアドレス数を指定するのに使用します。

たとえば、IP アドレスの 192.168.1.1 から 192.168.1.100Pool 10 に予約されている場合、Pool セクションには次の項目を指定します。


[Pool 10]
     BaseAddress = 192.168.1.1
     Size = 100

注 –

アドレスの範囲にブロードキャストアドレスは含まないでください。たとえば、BaseAddress = 192.168.1.200Size = 60 のように割り当てないでください。このアドレス範囲にはブロードキャストアドレスの 192.168.1.255 が含まれているからです。


表 25–3 で、Pool セクションに指定可能なラベルと設定値について説明します。

表 25–3 Pool セクションのラベルと設定値

ラベル 

値 

説明 

BaseAddress

n.n.n.n

アドレスプール内の最初のアドレス 

Size

n

プール内のアドレス数 

SPI セクション

モバイル IP プロトコルはメッセージ認証を要求するので、セキュリティパラメータインデックス (SPI) を使用してセキュリティコンテキストを特定しなければなりません。セキュリティコンテキストは SPI セクションに定義します。定義したセキュリティコンテキストそれぞれに異なる SPI セクションを指定しなければなりません。ID 番号がセキュリティコンテキストを特定します。モバイル IP プロトコルは、最初の 256 SPI を予約しています。したがって、256 より大きい SPI 値を使用してください。SPI セクションには、共有された秘密情報や再実行保護などのセキュリティに関連した情報が含まれています。

SPI セクションにはまた、ReplayMethod および Key ラベルがあります。このセクションではセキュリティコンテキストを定義します。SPI セクションの構文は次のとおりです。


[SPI SPI-identifier]
     ReplayMethod = <none/timestamps>
     Key = key

2 つの通信中のピアは、同じ SPI 識別子を共有しなければなりません。ユーザーはそれらを同じ鍵と再実行メソッドで構成しなければなりません。鍵は 16 進数の文字列で指定します。最大長は 16 バイトです。たとえば、鍵の長さが 16 バイトで 16 進数値の 0 から f を含んでいる場合、鍵は次のようになります。


Key = 0102030405060708090a0b0c0d0e0f10

鍵は、偶数の桁 (1 バイト 2 桁の表示法に対応) を持たなければなりません。

表 25–4 で、SPI セクションに指定可能なラベルと設定値について説明します。

表 25–4 SPI セクションのラベルと設定値

ラベル 

値 

説明 

ReplayMethod

none または timestamps

SPI 用の再実行認証の種類を指定する 

Key

x

16 進表示の認証キー 

Address セクション

モバイル IP の Solaris 実装では、3 つの方法の 1 つを使ってモバイルノードを構成できます。各方法は Address セクションで構成されます。最初の方法は、従来のモバイル IP プロトコルに従い、各モバイルノードがホームアドレスを持つことを要求します。第 2 の方法では、モバイルノードをネットワークアクセス識別子 (NAI) を使って特定することが可能になります。最後の方法では、ユーザーは「デフォルト」のモバイルノードを構成できます。このデフォルトモバイルノードは、適当な SPI 値および関連する鍵情報を持っているどのモバイルノードでも利用できます。

モバイルノード

モバイルノード用の Address セクションには、アドレスタイプと SPI 識別子を定義した Type および SPI ラベルが含まれます。Address セクションの構文は次のとおりです。


[Address address]
     Type = node
     SPI = SPI-identifier

サポートされた各モバイルノードに対して Address セクションをホームエージェントの構成ファイル内に指定しなければなりません。

モバイル IP メッセージ認証が外来エージェントおよびホームエージェント間で必要な場合は、エージェントが通信する必要のある各ピアに対して Address セクションを指定しなければなりません。

構成した SPI 値は、構成ファイルに存在する SPI セクションを示さなければなりません。

また、モバイルノード用の専用アドレスを構成することもできます。

表 25–8 で、デフォルトモバイルノード用の Address セクションに指定可能なラベルと設定値について説明します。

表 25–5 Address セクションのラベルと設定値 — モバイルノード

ラベル 

値 

説明 

Type

node

この項目がモバイルノード用であることを指定する 

SPI

n

関連する項目用の SPI 値を指定する 

モビリティエージェント

モビリティエージェント用の Address セクションには、アドレスタイプと SPI 識別子を定義した Type および SPI ラベルが含まれます。この節では、IPsec 要求、応答、トンネルラベルについても説明します。 Address セクションの構文は次のとおりです。


[Address address]
     Type = agent
     SPI = SPI-identifier
     IPsecRequest = action {properties} [: action {properties}]
     IPsecReply = action {properties} [: action {properties}]
     IPsecTunnel = action {properties} [: action {properties}]

サポートされた各モビリティエージェントに対して Address セクションをホームエージェントの構成ファイル内に指定しなければなりません。

モバイル IP メッセージ認証が外来エージェントおよびホームエージェント間で必要な場合は、エージェントが通信する必要のある各ピアに対して Address セクションを指定しなければなりません。

構成した SPI 値は、構成ファイルに存在する SPI セクションを示さなければなりません。

次の表で、モビリティエージェント用の Address セクションに指定可能なラベルと設定値について説明します。

表 25–6 Address セクションのラベルと設定値 — モビリティエージェント

ラベル 

値 

説明 

Type

agent

この項目がモビリティエージェント用であることを指定する 

SPI

n

関連する項目用の SPI 値を指定する 

IPsecRequest

apply または permit (次の注を参照)

このモビリティエージェントのピアとの間の登録要求に対して呼び出す IPsec プロパティ 

IPsecReply

apply または permit (次の注を参照)

このモビリティエージェントのピアとの間の登録要求に対して呼び出す IPsec プロパティ 

IPsecTunnel

apply または permit (次の注を参照)

このモビリティエージェントとの間のトンネルトラフィックに対して呼び出す IPsec プロパティ 


注 –

apply の値は、出力データグラムに対応します。permit の値は、入力データグラムに対応します。したがって、IPsecRequest apply の値と IPsecReply permit の値は、登録データグラムを送受信するのに外来エージェントで使用されます。また、IPsecRequest permit の値と IPsecReply apply の値は、登録データグラムを送受信するのにホームエージェントでも使用されます。


自分の NAI で識別されるモバイルノード

自分の NAI で識別されるモバイルノード用の Address セクションには、TypeSPI、および Pool ラベルが含まれます。NAI パラメータがあるため、NAI によるモバイルノードの識別が可能になります。NAI パラメータを使用した Address セクションの構文は次のとおりです。


[Address NAI]
     Type = Node
     SPI = SPI-identifier
     Pool = Pool-identifier

プールを利用するには、NAI 経由でモバイルノードを特定します。Address セクションでは、ホームアドレスの場合と異なり NAI を構成できます。NAI には、user@domain の形式を使用します。ホームアドレスをモバイルノードに割り当てるためにどのアドレスプールを使用するかを指定するには、Pool ラベルを使用します。

表 25–7 で、自分の NAI で識別されるモバイルノード用の Address セクションに指定可能なラベルと設定値について説明します。

表 25–7 Address セクションのラベルと設定値 — 自分の NAI で識別されるモバイルノード

ラベル 

値 

説明 

Type

node

この項目がモバイルノード用であることを指定する 

SPI

n

関連する項目用の SPI 値を指定する 

Pool

n

モバイルノードに割り当てるアドレスのプールを割り当てる 

図 25–1 に示すように、NAI で識別されたモバイルノードを指定した Address セクションに定義された SPI および Pool ラベルに対して、ユーザーは対応する SPI および Pool セクションを持たなければなりません。

図 25–1 自分の NAI で識別されたモバイルノードを指定した Address セクションに対応する SPI および Pool

この図では、251 の SPI、10 の POOLが、ADDRESS NAI セクション内の同じ値の SPI および POOL に対応することを示しています。

デフォルトのモバイルノード

デフォルトのモバイルノード用の Address セクションには、TypeSPI、および Pool ラベルが含まれます。Node-Default パラメータがあるため、(このセクションで定義された) 正しい SPI を持っている場合は、すべてのモバイルノードがサービスを受けられるようになります。Node-Default パラメータを使用した Address セクションの構文は次のとおりです。


[Address Node-Default]
     Type = Node
     SPI = SPI-identifier
     Pool = Pool-identifier

Node-Default パラメータがあるため、構成ファイルのサイズを縮小することが可能になります。その他の方法では、各モバイルノードには独自のセクションが必要です。ただし、Node-Default はセキュリティに影響します。何かの理由でモバイルノードが信用できなくなった場合、すべての信頼のおけるモバイルノードに関するセキュリティ情報を更新する必要があります。この作業は手間がかかります。しかし、セキュリティがあまり重要でないネットワークでは Node-Default を利用できます。

表 25–8 で、デフォルトモバイルノード用の Address セクションに指定可能なラベルと設定値について説明します。

表 25–8 Address セクションのラベルと設定値 — デフォルトモバイルノード

ラベル 

値 

説明 

Type

node

この項目がモバイルノード用であることを指定する 

SPI

n

関連する項目用の SPI 値を指定する 

Pool

n

モバイルノードに割り当てるアドレスのプールを割り当てる 

図 25–2 に示すように、デフォルトモバイルノードを指定した Address セクションに定義された SPI および Pool ラベルに対して、対応する SPI および Pool セクションを持たなければなりません。

図 25–2 デフォルトモバイルノードを指定した Address セクションに対応する SPI および Pool セクション

この図では、251 の SPI、10 の POOLが、デフォルトノードを指定した ADDRESS セクション内の同じ値の SPI および POOL に対応することを示しています。