接続ライフサイクルによるカーネルデバッグ手順
はじめに
Connection Life Cycleはデバッグツールです。
このツールは、コネクションとパケットによってデバッグメッセージを階層的に表示するフォーマットされたデバッグ出力ファイル(Rubyフォーマット)を生成します。
-
最初の階層レベルでは、接続が表示されます。
-
接続を展開すると、この接続のすべてのパケットが表示されます。
|
重要 - このツールはエキスパートモードで、通常のカーネルデバッグフラグ (カーネルデバッグモジュールとデバッグフラグ)。 |
セキュリティゲートウェイ/各クラスタメンバの構文
-
デバッグキャプチャを開始するには
conn_life_cycle.sh -a start -o /<Path>/<Name of Raw Debug Output File> [{-t | -T}] [[-f "<Filter1>"] [-f "<Filter2>"] [-f "<Filter3>] [-f "<Filter4>] [-f "<Filter5>"]]
-
デバッグキャプチャを停止してフォーマットされたデバッグ出力を準備するには
conn_life_cycle.sh -a stop -o /<Path>/<Name of Formatted Debug Output File>
スケーラブルプラットフォームセキュリティグループ:
-
デバッグキャプチャを開始するには
g_all conn_life_cycle.sh -a start -o /<Path>/<Name of Raw Debug Output File> [{-t | -T}] [[-f "<Filter1>"] [-f "<Filter2>"] [-f "<Filter3>] [-f "<Filter4>] [-f "<Filter5>"]]
-
デバッグキャプチャを停止してフォーマットされたデバッグ出力を準備するには
g_all conn_life_cycle.sh -a stop -o /<Path>/<Name of Formatted Debug Output File>
パラメータ
パラメータ |
説明 |
||||
---|---|---|---|---|---|
|
必須です。 アクションを指定します:
|
||||
|
オプションです。 各デバッグメッセージの前にあるタイムスタンプの解像度を指定します。
|
||||
|
オプションです。 キャプチャする接続とパケットを指定します。 詳細については、次を参照:カーネルデバッグフィルタ)も参照。
各フィルタには、次の5つの数値(5-tuple)をカンマで区切って記述する必要があります。
IP 192.168.20.30 から任意のポート、IP 172.16.40.50 からポート 22 へのトラフィックをTCPプロトコルでキャプチャする例:
|
||||
|
|
||||
|
必須です。 生デバッグ出力ファイルの絶対パスとファイル名を指定します。 例:
|
||||
|
必須です。 フォーマットされたデバッグ出力ファイルの絶対パスとファイル名を指定します(管理者が解析するため)。 例:
|
手順
|
重要 - クラスタでは、すべてのクラスタメンバでこれらのステップを同じように実行する必要があります。 |
-
セキュリティゲートウェイ/各クラスタメンバ/Scalable Platformセキュリティグループのコマンドラインに接続します。
SSHまたはコンソール接続を使用します。
ベストプラクティス - コンソール接続を使用します。
Scalable Platformの注意点:
-
SSHで接続する場合は、該当するSecurity Groupに接続する必要があります。
-
シリアルコンソールで接続する場合は、SMO(Single Management Object)として動作するセキュリティグループメンバに接続する必要があります。
-
-
エキスパートモードにログイン
デフォルトのシェルがGaia Clish
Check Point Gaiaオペレーティングシステムのデフォルトのコマンドラインシェルの名前。制限付きシェル(ロールベースの管理により、シェルで使用できるコマンドの数が制御される)。の場合、次を実行します。
expert
-
該当するカーネルモジュールで該当するデバッグフラグを有効にする
-
セキュリティゲートウェイ/各クラスタメンバで、次を実行します。
fw ctl debug -m <module> {all | + <flags>}
-
Scalable Platformセキュリティ グループで、次を実行します。
g_fw ctl debug -m <module> {all | + <flags>}
-
-
指定されたカーネルモジュールで有効になっているデバッグフラグのリストを調べる
-
セキュリティゲートウェイ/各クラスタメンバで、次を実行します。
fw ctl debug -m <module>
-
Scalable Platformセキュリティ グループで、次を実行します。
g_fw ctl debug -m <module>
-
-
デバッグキャプチャの開始
-
セキュリティゲートウェイ/各クラスタメンバで、次を実行します。
conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "<Filter1>" [... [-f "<FilterN>"]]
-
Scalable Platformセキュリティ グループで、次を実行します。
g_all conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "<Filter1>" [... [-f "<FilterN>"]]
-
-
問題を複製するか、問題の発生を待つ
方法がわかっている場合は問題を再現し、そうでなければ問題が発生するのを待ちます。
-
デバッグキャプチャを停止し、フォーマットされたデバッグ出力を準備する
-
セキュリティゲートウェイ/各クラスタメンバで、次を実行します。
conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt
-
Scalable Platformセキュリティ グループで、次を実行します。
g_all conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt
-
-
出力ファイルをコンピュータに転送する
このファイルをセキュリティゲートウェイ/各クラスタメンバ/各セキュリティグループ メンバからコンピュータに転送します。
/var/log/kernel_debug.txt
ベストプラクティス - このファイルを"
tar -zxvf
"コマンドで圧縮し、セキュリティゲートウェイ/各クラスタメンバ/各セキュリティグループメンバからコンピュータに転送します。FTPサーバに転送する場合は、バイナリモードで行います。 -
コンピュータで出力ファイルを分析する
フォーマットされたデバッグ出力ファイルを、Notepad++ (Language > R > Rubyをクリック) などの高度なテキストエディタや、その他のRuby言語ビューアで調べます。
例

すべてが折りたたまれた状態:
最初の階層を開いて接続を確認:
2番目の階層を開いてこの接続のパケットを確認: