Go to main content

Oracle® Solaris Cluster 4.4 環境のインストールおよび構成

印刷ビューの終了

更新: 2018 年 8 月
 
 

パケットフィルタを構成する方法

グローバルクラスタで Oracle Solaris ソフトウェアのパケットフィルタ (PF) 機能を構成するには、この手順を実行します。


注 -  PF はフェイルオーバーデータサービスでのみ使用してください。スケーラブルデータサービスでの PF の使用はサポートされていません。

PF 機能の詳細については、Securing the Network in Oracle Solaris 11.4 の 第 4 章, Oracle Solaris Firewallを参照してください。

始める前に

クラスタで PF を構成するときに従うべきガイドラインと制限事項を確認します。Oracle Solaris OS 機能の要件と制限の「パケットフィルタ (PF) 機能」の箇条書き項目を参照してください。

  1. root 役割になります。
  2. 影響のあるすべてのノードで、/etc/firewall/pf.conf ファイルにフィルタルールを追加します。

    フィルタルールを Oracle Solaris Cluster ノードに追加する場合は、次のガイドラインと要件に従います。

    • 各ノードの pf.conf ファイルで、クラスタインターコネクトトラフィックにフィルタなしでの通過を明示的に許可するルールを追加します。インタフェース固有でないルールは、クラスタインターコネクトを含めたすべてのインタフェースに適用されます。これらのインタフェース上のトラフィックが誤ってブロックされていないことを確認します。インターコネクトトラフィックがブロックされていると、PF 構成がクラスタのメンバーシップ処理やインフラストラクチャー処理に干渉します。

      たとえば、現在、次のルールが使用されていると仮定します。

      # Default block { tcp, udp } unless some later rule overrides
      block return in proto { tcp, udp } from any to any
      
      # Default block ping unless some later rule overrides
      block return-icmp in proto icmp all
      
      # Allow traffic on localhost
      pass in quick to localhost
      pass out quick from localhost

      クラスタインターコネクトトラフィックのブロックを解除するには、pf.conf ファイルの先頭に次のルールを追加します。使用されているサブネットは、例示用にのみ使用しています。ipadm show-addr | grep interface コマンドを使用して、使用するサブネットを導出します。

      # ipadm show-addr | egrep "net1|net2|clprivnet"
      net1/?            static   ok           172.16.0.65/26
      net2/?            static   ok           172.16.0.129/26
      clprivnet0/?      static   ok           172.16.2.1/24
      

      最初のインターコネクト net1 のアダプタはサブネット 172.16.0.64/26 上にあります

      2 番目のインターコネクト net2 のアダプタはサブネット 172.16.0.128/26 上にあります

      プライベートネットワークインタフェース clprivnet0 はサブネット 172.16.2.0/24 上にあります

      導出されたネットワークに対応する PF ルール:

      # Unblock cluster traffic on 172.16.0.64/26 subnet (physical interconnect)
      pass in quick proto { tcp, udp } from 172.16.0.64/26 to any flags any
      pass out quick proto { tcp, udp } from 172.16.0.64/26 to any flags any
      
      # Unblock cluster traffic on 172.16.0.128/26 subnet (physical interconnect)
      pass in quick proto { tcp, udp } from 172.16.0.128/26 to any flags any
      pass out quick proto { tcp, udp } from 172.16.0.128/26 to any flags any
      
      # Unblock cluster traffic on 172.16.2.0/24 (clprivnet0 subnet)
      pass in quick proto { tcp, udp } from 172.16.2.0/24 to any flags any
      pass out quick proto { tcp, udp } from 172.16.2.0/24 to any flags any
      
    • クラスタのプライベートネットワークのアダプタ名または IP アドレスのいずれかを指定します。 たとえば、次のルールは、アダプタ名によってクラスタのプライベートネットワークを指定します。

      # Allow all traffic on cluster private networks.
      pass in quick on net1 all flags any
      …
    • Oracle Solaris Cluster ソフトウェアは、ノード間でネットワークアドレスをフェイルオーバーします。フェイルオーバー時に特別な手順やコードは不要です。

    • 論理ホスト名と共有アドレスリソースを参照するすべてのフィルタリングルールは、すべてのクラスタノードで一意になるようにします。

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

    • すべてのフィルタリングルールが同じ IPMP グループ内のすべての NIC で同じになるようにします。つまり、ルールがインタフェース固有である場合、同じ IPMP グループ内のほかのすべてのインタフェースにも同じルールが存在するようにします。

    • クラスタノード上で PF がすでに有効になっている場合は、Oracle Solaris Cluster を構成する前に、クラスタ固有のすべてのフィルタリングルールを追加する必要があります。

    PF ルールの詳細については、pf.conf(7) のマニュアルページを参照してください。

次のステップ

クラスタノード上で Oracle Solaris Cluster ソフトウェアを構成します。新規グローバルクラスタまたは新規グローバルクラスタノードの確立に進みます。