ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: IP サービス Oracle Solaris 10 1/13 Information Library (日本語) |
1. Oracle Solaris TCP/IP プロトコル群 (概要)
5. TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)
10. TCP/IP と IPv4 の詳細 (リファレンス)
17. DHCP のトラブルシューティング (リファレンス)
18. DHCP コマンドと DHCP ファイル (リファレンス)
21. IP セキュリティーアーキテクチャー (リファレンス)
25. Oracle Solaris の IP フィルタ (概要)
IPMP 障害検出は、IPv4 ネットワークと IPv4 および IPv6 のデュアルスタックネットワークで構成できます。IPMP で構成されたインタフェースは、 データアドレスと検査用アドレスという 2 種類のアドレスをサポートしています。
「データアドレス」は、ブート時または手動で ifconfig コマンドによって NIC のインタフェースに割り当てられる従来の IPv4 および IPv6 アドレスです。標準 IPv4 と、適用できる場合は、インタフェースを通した IPv6 パケットトラフィックは、「データトラフィック」とみなされます。
「検査用アドレス」は、in.mpathdデーモンが使用する IPMP 固有のアドレスです。検査信号ベースの障害と回復の検出を使用するインタフェースの場合、そのインタフェースは 1 つ以上の検査用アドレスで構成する必要があります。
注 - DR を使用してプローブベースの障害検出を使用する場合のみ、テストアドレスを構成する必要があります。
in.mpathd デーモンは、検査用アドレスを使用して、「検査信号トラフィック」とも呼ばれる ICMP 検査信号を IP リンク上のほかのターゲットと交換します。検査信号トラフィックは、インタフェースで障害が発生していないかどうかなど、インタフェースと NIC のステータスを判断するのに役立ちます。検査信号は、インタフェースとの送受信パスが正しく機能していることを確認します。
各インタフェースは、IP 検査用アドレスで構成できます。デュアルスタックネットワークのインタフェースの場合、IPv4 検査用アドレス、IPv6 検査用アドレス、または IPv4 と IPv6 検査用アドレスの両方を構成できます。
インタフェースで障害が発生すると、in.mpathd がそれ以降の回復をチェックするために検査信号を送信し続けることができるように、検査用アドレスは障害が発生したインタフェースに留まります。アプリケーションが間違って使用しないように、検査用アドレスは具体的に構成しなければなりません。詳細については、「アプリケーションによる検査用アドレス使用の防止」を参照してください。
検査信号ベースの障害検出については、「検査信号ベースの障害検出」を参照してください。
一般的に、どの IPv4 アドレスもサブネット上で検査用アドレスとして使用できます。IPv4 検査用アドレスは、ルートが指定できなくても構いません。IPv4 アドレスは、多くのサイトでは限定リソースなので、ルート指定できない RFC 1918 プライベートアドレスを検査用アドレスとして指定したい場合もあります。 in.mpathd デーモンは、ICMP 検査信号を検査用アドレスと同じサブネットのホストとしか交換しません。RFC 1918 形式の検査用アドレスを使用していない場合は、IP リンク上のほかのシステム (ルーターが望ましい) を適切な RFC 1918 サブネットのアドレスで必ず構成してください。この構成により、in.mpathd デーモンは、ターゲットシステムと正常に検査信号を交換できます。
IPMP の例は、192.168.0/24 ネットワークの RFC 1918 アドレスを IPv4 検査用アドレスとして使用します。RFC 1918 プライベートアドレスの詳細については、RFC 1918, Address Allocation for Private Internets を参照してください。
IPv4 検査用アドレスを構成するには、タスク「複数のインタフェースを持つ IPMP グループを構成する方法」を参照してください。
有効な IPv6 検査用 IP アドレスは、物理インタフェースのリンクローカルアドレスだけです。IPMP 検査用 IP アドレスとして機能する別の IPv6 アドレスは必要ありません。IPv6 リンクローカルアドレスは、インタフェースのメディアアクセスコントロール (MAC) アドレスに基づいています。リンクローカルアドレスは、インタフェースがブート時に IPv6 を使用できるようになったり、ifconfig によって手動で構成された場合に、自動的に構成されます。
インタフェースのリンクローカルアドレスを識別するには、IPv6 が有効なノードで ifconfig interface コマンドを実行します。リンクローカル接頭辞 fe80 で始まるアドレスの出力をチェックします。次の ifconfig の NOFAILOVER フラグは、hme0 インタフェースのリンクローカルアドレスfe80::a00:20ff:feb9:17fa/10 が検査用アドレスとして使用されていることを示しています。
hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 inet6 fe80::a00:20ff:feb9:17fa/10
リンクローカルアドレスについては、「リンクローカルユニキャストアドレス」を参照してください。
IPMP グループですべてのグループのインタフェースに IPv4 と IPv6 の両方が使用される場合には、別個の IPv4 検査用アドレスを構成する必要はない場合があります。in.mpathd デーモンは、IPv6 リンクローカルアドレスを検査用アドレスとして使用します。
IPv6 検査用アドレスを作成するには、タスク「複数のインタフェースを持つ IPMP グループを構成する方法」を参照してください。
検査用アドレスの構成後、アドレスがアプリケーションによって使用されないことを確認する必要があります。それ以外の場合、インタフェースで障害が発生しても、検査用アドレスはフェイルオーバー操作でフェイルオーバーできないので、アプリケーションを操作できなくなります。IP が一般的なアプリケーションに対して検査用アドレスを選択しないことを確認するために、検査用アドレスを deprecated とマークします。
deprecated (推奨されない) と指定したアドレスは、アプリケーションで明示的に指定されていない限り、通信のソースアドレスとしては選択されません。in.mpathd デーモンは、検査信号トラフィックを送受信するためにこのようなアドレスを明示的に指定します。ただし、アプリケーションがアドレスを明示的に指定していない場合、またインタフェース上で UP とマークされた唯一のアドレスが deprecated (非推奨) のマークも付けられている場合は、最後の手段として、そのアドレスをソースアドレスとして使用します。
注 - フェイルオーバーおよびフェイルバックの場合、重複アドレス検出が継続して実行中である間は、ソースアドレスとして推奨されないアドレスを使用するパケットをアプリケーションが受信する可能性があります。これは予想される動作です。一般的に、DAD が終了した後は、推奨されないアドレスがアプリケーションによって処理されることはありません。ただし、TCP パケットでまれな例外が観測される場合があります。TCP 接続が特定のソースアドレスを選択した後、その接続が継続している間は、そのアドレスを使用を変更できません。この期間は長時間に及ぶことがあります。このようなエッジケースでは、DAD が完了した後でも、アプリケーションが推奨されないアドレスを引き続き使用する場合がある可能性が存在します。
IPv6 リンクローカルアドレスは通常ネームサービス内にないので、DNS と NIS アプリケーションは通信のリンクローカルアドレスを使用しません。結果として、IPv6 リンクローカルアドレスを deprecated とマークする必要はなくなります。
IPv4 検査用アドレス を DNS および NIS ネームサービステーブルに配置しないでください。通常はネームサービステーブルには追加されません。