カーネルデバッグの手順と接続のライフサイクル
はじめに
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 プロトコルでキャプチャする例です。
|
||||
|
|
||||
|
必須 生デバッグ出力ファイルの絶対パスとファイル名を指定する。 例:
|
||||
|
必須 フォーマットされたデバッグ出力ファイルの絶対パスとファイル名を指定します(管理者が解析するため)。 例:
|
手順
|
重要- クラスタ |
-
Security Gateway、各クラスタメンバ、またはスケーラブル プラットフォーム セキュリティ グループのコマンドラインに接続
SSHまたはコンソール接続を使用します。
ベストプラクティス- コンソール接続を使用します。
スケーラブルプラットフォームの注:。
-
SSHで接続する場合は、該当するSecurity Groupに接続する必要があります。
-
シリアルコンソールで接続する場合は、SMO(Single Management Object)として動作するセキュリティグループメンバーに接続する必要があります。
-
-
該当するカーネルモジュールで、該当するデバッグフラグを有効にします。
-
Security Gateway /各クラスタメンバ:
fw ctl debug -m <module> {all | + <flags>}
-
スケーラブル プラットフォーム セキュリティ グループ:
g_fw ctl debug -m <module> {all | + <flags>}
-
-
指定されたカーネルモジュールで有効になっているデバッグフラグの一覧を調べる
-
Security Gateway /各クラスタメンバ:
fw ctl debug -m <module>
-
スケーラブル プラットフォーム セキュリティ グループ:
g_fw ctl debug -m <module>
-
-
デバッグキャプチャーの開始
-
Security Gateway /各クラスタメンバ:
conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "<Filter1>" [... [-f "<FilterN>"]]
-
スケーラブル プラットフォーム セキュリティ グループ:
g_all conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "<Filter1>" [... [-f "<FilterN>"]]
-
-
問題を再現する、または問題が発生するのを待つ
方法がわかっている場合は問題を再現し、問題が発生するのを待ちます。
-
デバッグキャプチャを停止し、フォーマットされたデバッグ出力を準備します。
-
Security Gateway /各クラスタメンバ:
conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt
-
スケーラブル プラットフォーム セキュリティ グループ:
g_all conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt
-
-
出力したファイルをコンピュータに転送する
このファイルをSecurity Gateway / 各クラスタメンバ / 各Security Group Memberからコンピュータに転送してください。
/var/log/kernel_debug.txt
ベストプラクティス- このファイルを "
tar -zxvf
" コマンドで圧縮し、Security Gateway / 各クラスタメンバ / 各 Security Group Members からコンピュータに転送してください。FTPサーバーに転送する場合は、バイナリーモードで行ってください。 -
出力したファイルをコンピュータで解析する
フォーマットされたデバッグ出力ファイルを、Notepad++ (clickLanguage > R > Ruby) などの高度なテキストエディターや、その他のRuby言語ビューワーで調べます。
例

すべてが崩壊している。
第1階層を開いて接続を確認。
第2階層を開き、この接続のパケットを確認。