カーネルデバッグ手順

または接続ライフサイクルによるカーネルデバッグ手順

重要:

  • デバッグを行うと、セキュリティゲートウェイ/クラスタメンバ/セキュリティグループメンバのCPUの負荷が増加します。メンテナンスウィンドウをスケジュールします。

  • セキュリティゲートウェイ、各クラスタメンバ、Scalable Platformセキュリティグループメンバにシリアルコンソールで接続することを強くお勧めします。

    これは、CPUに高い負荷がかかり、CLIでの作業ができなくなるという問題が発生する可能性を防ぐためです。

  • クラスタでは、すべてのクラスタメンバに対して、これらの手順を同じように実行する必要があります。

  • Scalable Platform(Maestro およびシャーシ)では、該当するセキュリティ・グループに接続する必要があります。

ステップ

手順

1

セキュリティゲートウェイ/各クラスタメンバのコマンドラインにSSH、またはコンソールで接続します。

-Scalable Platform(Maestro およびシャーシ)では、該当するセキュリティ・グループに接続する必要があります。

2

エキスパートモードにログインします。

3

カーネルデバッグオプションをリセットします。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl debug 0

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl debug 0

4

カーネルデバッグフィルタをリセットします。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl set int simple_debug_filter_off 1

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl set int simple_debug_filter_off 1

5

該当するカーネルデバッグフィルタを設定します。

参照: カーネルデバッグフィルタ

6

CoreXL閉じた マルチコア処理プラットフォーム上のセキュリティゲートウェイのパフォーマンスを向上させる技術。複数のCPUコア上で複数のCheck Pointファイアウォール インスタンスが並列動作する。 Firewallインスタンスにカーネルデバッグバッファを割り当てます。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl debug -buf 8200

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl debug -buf 8200

7

カーネルデバッグバッファが確保されたことを確認します。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl debug | grep buffer

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl debug | grep buffer

8

該当するカーネルモジュールで、該当するデバッグフラグを有効にします。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl debug -m <module> {all | + <flags>}

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl debug -m <module> {all | + <flags>}

参照: カーネルデバッグモジュールとデバッグフラグ

重要 - この時点でCPU負荷が増加するのは、ファイアウォールカーネルが/var/log/messagesファイルとdmesgバッファにいくつかのデバッグメッセージを書き始めるためです。

9

指定されたカーネルモジュールで有効になっているデバッグフラグのリストを調べます。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl debug -m <module>

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl debug -m <module>

10

カーネルデバッグの出力をファイルに保存します。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl kdebug -T -f > /var/log/kernel_debug.txt

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl kdebug -T -f > /var/log/kernel_debug.txt

重要 - この時点で、ファイアウォールはすべてのデバッグメッセージを出力ファイルに書き込み始めるので、CPU負荷はさらに増加します。

11

問題を再現する、または問題の発生を待ちます。

12

カーネルデバッグの出力を停止します。

CTRL+Cキーを押します。

重要 - Firewallカーネルは/var/log/messagesファイルとdmesgバッファにいくつかのデバッグメッセージを書き続けるので、これはまだすべてのCPU負荷を停止しているわけではありません。

13

カーネルデバッグオプションをリセットします。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl debug 0

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl debug 0

重要 - これにより、カーネルデバッグによるすべてのCPU負荷が停止します。

14

カーネルデバッグフィルタをリセットします。

  • セキュリティゲートウェイ/各クラスタメンバで、次を実行します。

    fw ctl set int simple_debug_filter_off 1

  • Scalable Platformセキュリティ グループで、次を実行します。

    g_fw ctl set int simple_debug_filter_off 1

15

このファイルをセキュリティゲートウェイ/各クラスタメンバ/各セキュリティグループ メンバからコンピュータに転送します。

/var/log/kernel_debug.txt

ベストプラクティス - このファイルを"tar -zxvf"コマンドで圧縮し、セキュリティゲートウェイ/各クラスタメンバ/各セキュリティグループメンバからコンピュータに転送します。FTPサーバに転送する場合は、バイナリモードで行います。

16

デバッグ出力ファイルを解析します。

例 - 接続 192.168.20.30:<Any> --> 172.16.40.50:80

[Expert@GW:0]# fw ctl debug 0
Defaulting all kernel debugging options
Debug state was reset to default.
[Expert@GW:0]#
[Expert@GW:0]# fw ctl set int simple_debug_filter_off 1
[Expert@GW:0]#
[Expert@GW:0]# fw ctl set str simple_debug_filter_saddr_1 "192.168.20.30"
[Expert@GW:0]#
[Expert@GW:0]# fw ctl set str simple_debug_filter_daddr_2 "192.168.20.40"
[Expert@GW:0]#
[Expert@GW:0]# fw ctl set int simple_debug_filter_dport_1 80
[Expert@GW:0]#
[Expert@GW:0]# fw ctl debug -buf 8200
Initialized kernel debugging buffer to size 8192K
[Expert@GW:0]#
[Expert@GW:0]# fw ctl debug | grep buffer
Kernel debugging buffer size: 8192KB
[Expert@GW:0]#
[Expert@GW:0]# fw ctl debug -m fw + conn drop
Updated kernel's debug variable for module fw
Debug flags updated.
[Expert@GW:0]#
[Expert@GW:0]# fw ctl debug -m fw
Kernel debugging buffer size: 8192KB
Module: fw
Enabled Kernel debugging options: error warning conn drop
Messaging threshold set to type=Info freq=Common
[Expert@GW:0]#
[Expert@GW:0]# fw ctl kdebug -T -f > /var/log/kernel_debug.txt

... ...問題を再現する、または問題が発生するのを待つ ... ...

... ...CTRL+Cを押す ... ...

[Expert@GW:0]#
[Expert@GW:0]# fw ctl debug 0
Defaulting all kernel debugging options
Debug state was reset to default.
[Expert@GW:0]#
[Expert@GW:0]# fw ctl set int simple_debug_filter_off 1
[Expert@GW:0]#
[Expert@GW:0]# ls -l /var/log/kernel_debug.txt
-rw-rw---- 1 admin root 1630619 Apr 12 19:49 /var/log/kernel_debug.txt
[Expert@GW:0]#