X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Solaris Cluster 3.2 でのフェイルオーバーサービスの IP フィルタサポートの設定

Guest Author

IP フィルタ機能については、『Solaris 10 System Administration Guide (Solaris 10 のシステム管理)』を参照することをお勧めします。この記事は現在、Solaris Cluster 3.2 の最新のドキュメントには含まれていませんが、次のパッチで文書化する予定です。

Solaris 10 (FCS ~ Solaris 10 11/06 (Update 3)) の IP フィルタは、ストリームの IP 直下に常駐する STREAMS モジュールとして存在しています。SMF サービス network/pfil および network/ipfilter では、(/etc/ipf/pfil.ap に基づいて) pfil モジュールを自動プッシュし、起動時に (/etc/ipf/ipf.conf から) フィルタリングルールをロードします。フィルタリングルールは、インタフェース、IP アドレスまたはサブネット、プロトコル、ポートを基準にできます。

注:スケーラブルサービスは、現時点では ipfilter ではサポートされていません。ここで示す手順は、フェイルオーバーサービスについて ipfilter を設定することのみを目的とします。クラスタ全体でフィルタを有効にする場合、すべてのノードで設定手順が実行されていることを確認してください。

手順 1

/etc/iu.ap を編集し、パブリック NIC デバイスに対応する行に「clhbsndr pfil」をモジュールリストとして含めます。この変更を有効にするには、ノードを再起動する必要があります。ノードは順次再起動できます。

「pfil」はリスト内の最後のモジュールにする必要があります。

例:# scstat -i -h `uname -n`

-- IPMP グループ --


ノード名グループステータスアダプタステータス
IPMP グループ:node1sc_ipmp1オンラインce2オンライン
IPMP グループ:node1sc_ipmp1オンラインbge2オンライン
IPMP グループ:node1sc_ipmp0オンラインce0オンライン
IPMP グループ:node1sc_ipmp0オンラインbge0オンライン


/etc/iu.ap の行 (ce/bge) が次のように変更されます。
ce    -1    0    clhbsndr pfil
bge  -1    0    clhbsndr pfil

手順 2

必要に応じて、すべてのノードで /etc/ipf/ipf.conf にフィルタルールを追加します。IP フィルタルールの構文の詳細については、ipf(4) のマニュアルページを参照してください。

例:    block in quick on bge0 from 129.146.106.0/23 to any
         block in quick on ce0 from 129.146.106.0/23 to any

手順 3

SMF サービス ipfilter を有効にします。

svcadm enable /network/ipfilter:default

フィルタリングルール

クラスタは、ノードからノードにネットワークアドレスをフェイルオーバーします。フェイルオーバー時、特別な手順やコードは必要ありません。

LogicalHostname および SharedAddress リソースの IP アドレスを参照するフィルタリングルールがすべてのクラスタノードで同一であることを確認してください。

スタンバイノードに関するルールは、存在しない IP アドレスを参照します。ただし、このルールは、IP フィルタのアクティブなルールセットの一部であり、フェイルオーバー後にノードがアドレスを受け取ると有効になります。

また、ルールは、同一の IPMP グループ内のすべての NIC に一様に適用されるように設定する必要があります。つまり、あるルールがインタフェース固有のものである場合、同一の IPMP グループ内のほかのインタフェースにも同じルールが存在するようにします。

非クラスタモード

非クラスタモードでは、clhbsndr を含む /etc/iu.ap の行は、clhbsndr が登録されていないため無効になります。ただし、SMF サービス network/pfil で自動プッシュを設定すると (\*クラスタ\*モードでは失敗する)、成功します。これにより、pfil も非クラスタモードでプッシュされます。

ユーザーは、/etc/iu.ap だけでなく /etc/ipf/pfil.ap も更新する必要があります。pfil.ap の更新は少し異なります。詳細については、IP フィルタのドキュメントを参照してください。

ステートフルフィルタリング

IP フィルタは、IPMP でのステートフルフィルタリングをサポートしていません。これは、同一セッションの送信パケットを複数のインタフェースで使用できるためです。Sun Cluster には IPMP グループの使用が必須なので、同じ制限が継承されます。

したがって、クラスタ化でサポートされるのはステートレスフィルタリングのみです。

NAT モード

ルーティングモードの NAT はサポートされていません。つまり、クラスタノードは、ほかのノードとの間でパケットを転送するためのルーターやゲートウェイとして設定しないでください。そのような設定は、最初にルーティングメカニズム HA を作成することなく、クラスタ全体の単一障害点になりやすいためです。

NAT を使用したローカルアドレスの変換がサポートされています。NAT 変換は、電信でパケットを書き換えるので、クラスタソフトウェアでは意識されません。

注:クラスタ化で管理される IP アドレス (LogicalHostname リソースなど) を含む NAT ルールは、すべてのクラスタノードに適用する必要があります。

クラスタトランスポートの IPFILTER

プライベートネットワークおよびパブリックネットワークについて同じタイプのアダプタを使用する場合、/etc/iu.ap を編集すると、pfil がプライベートネットワークストリームでプッシュされます。ただし、クラスタトランスポートモジュールが、ストリームの作成時に不要なモジュールをすべて削除します。そのため、pfil は削除されます。特別な手順は必要ありません。

John Blair
QA マネージャ
Solaris Cluster

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.