グローバルクラスタで Oracle Solaris ソフトウェアのパケットフィルタ (PF) 機能を構成するには、この手順を実行します。
PF 機能の詳細については、Securing the Network in Oracle Solaris 11.4 の 第 4 章, Oracle Solaris Firewallを参照してください。
始める前に
クラスタで PF を構成するときに従うべきガイドラインと制限事項を確認します。Oracle Solaris OS 機能の要件と制限の「パケットフィルタ (PF) 機能」の箇条書き項目を参照してください。
フィルタルールを 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 ソフトウェアを構成します。新規グローバルクラスタまたは新規グローバルクラスタノードの確立に進みます。