LoginSignup
4
1

More than 5 years have passed since last update.

Check Point ClusterXLを学ぶ

Posted at

はじめに

Check Point Software Technologiesのファイアウォールで使われている技術ClusterXLについて勉強します。

ClusterXLとは何か

ClusterXLは複数のCheck Pointファイアウォールで冗長構成を組むために使われている技術です。他のネットワーク機器の冗長化技術と同じく、筐体間のHelloやコネクション同期等の機能を持っています。
以下、私が普段運用している「2台の筐体でActive-Standby構成を組む構成」の場合で記述していきます。

ClusterXLが動作するための条件

以下の条件を満たしている必要があります
・2台の筐体が同じバージョンで動作していること
異バージョンで動作させる場合にはActive-Standby構成を組むことができず、またコネクション同期も行うことができません。
・アプライアンスの場合、2台の筐体が同じ型番であること
・2台の筐体が時刻同期されていること
時刻同期は製品によってはたまに問題になることがありますね。BIG-IPでは数分のずれでHA構成が組めなくなっていたと記憶しています。Check Pointの場合ある程度のずれは許容されるようですが、同期させておくべきなのは間違いありません。

ClusterXLの動作

ClusterXLはHelloと同期の機能をどちらもCluster Control Packet (CCP)というパケットを使って行っています。CCPはudp/8116に対してマルチキャストで送信されます。どのインターフェースがCCPを送信するかはTopologyの設定によって変更することができます。

各インターフェースの役割について

各インターフェースは以下の4つのうちどれか1つの役割を持たせることができます。設定は管理サーバのTopologyで実施し、確認は実機上でcphaprob -a ifコマンドでできます。4つの役割の違いは「CCPでHelloを送る/送らない」「CCPで同期情報を送る/送らない」「インターフェースが落ちた時にフェイルオーバーが起きる/起きない」です。表にまとめると次のようになります。

役割 Hello送信 同期情報送信 監視 用途
Cluster × 通常のインターフェース
Sync コネクション同期用インターフェース
Monitored Private × × 特殊
Non-Monitored Private × × × 管理ポート

Clusterインターフェースは通常の通信で使われるインターフェースです。
それに対してSyncはコネクション同期情報をやり取りするためのインターフェースです。転送量が多くCluster機能の根幹を担うインターフェースのため、クロスケーブルで直結することが推奨されています。
Monitored Privateはクラスターではない(仮想IPを持たない)がインターフェースダウン時には障害とみなしてフェイルオーバーするインターフェースです。タグVlanを使っているときの物理ポートに設定します。
Non-Monitored Privateはクラスターではなく、ダウンしても障害とみなさないポートです。リモートログイン用の管理ポートはこれですね。

実機でcphaprob -a ifコマンドで確認すると、Clusterインターフェースは「non secured」、Syncインターフェースは「secured」と表示されます。正直この名前規則の違いはミスリーディングなのでやめて頂きたいです。。。

IPとMacについて

Clusterインターフェースで利用されるIPはインターフェースにアサインするIPアドレスとは異なるVIPとなります(CiscoのHSRPを想像しましょう)。MacアドレスはActiveとして動作しているインターフェースのMacがそのまま使われます(CiscoのHSRPとは違いますね)。フェイルオーバーの際にはGARPが送信され、隣接機器のARPテーブルが変更されます。

HAステータスについて

HAステータスは筐体上でcphaprob stateコマンドで確認できます。Active、Standby、Down、Active Attention、Ready、ClusterXL inactive or member is downの6種類を覚えておけば大丈夫です。

Active:正常にActiveとして動作している
Standby:正常にStandbyとして動作している
この2つは正常な状態を示しています。

Down:異常であり、パケットの送受信は行えない。他の筐体にActiveを任せている。
Critical Device(後述)に問題が起きており、ActiveにもStandbyにもなれない状態です。通信用インターフェースで障害が起きた場合にはこの状態になります。

Active Attention:異常であるが、他の筐体にActiveを任せられないため自分が送受信を行っている。
両方の筐体で障害が発生した場合、どちらもActiveになれずこの状態になります。

Ready:正常であるが、ActiveにもStandbyにもなれない
あまり見ることがない状態です。両方筐体のバージョンが異なる場合には、より「新しい」バージョンがReadyとなります。この時古いバージョンはActiveとなります。Standbyではないためコネクション同期はできません。

ClusterXL inactive or member is down:正常であり、他の筐体が見つからない
クラスターのうち1台が筐体故障等でいなくなると、もう1台はこの状態になります。

フェイルオーバーとCritical Deviceについて

ClusterXLは自分の筐体のうち、インターフェース及び幾つかのプロセスを監視しており、このいずれかで問題が発生した場合にフェイルオーバーが発生します。この監視対象をCritical Deviceとよび、cphaprob -l listコマンドで確認できます。

参考文献

ClusterXL Administration Guide R77 Versions
Understanding Check Point ClusterXl Part 1

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1