カーネルデバッグフィルタ

デフォルトでは、カーネルデバッグ出力は、処理されたすべての接続に関する情報を含んでいます。

カーネルデバッグのフィルタを設定することで、該当する接続のデバッグメッセージのみを収集できます。

デバッグフィルタには3種類あります。

  • 接続タプルパラメータ別

  • IPアドレスパラメータ別

  • VPNピアパラメータ別

これらのカーネルデバッグフィルタを設定するには、カーネルデバッグを開始する前に、該当する値を該当するカーネルパラメータに割り当ててください。

該当するカーネルパラメータには、"fw ctl set"コマンドで一時的に値を割り当てます。

注:

  • セキュリティゲートウェイ/クラスタメンバ/セキュリティグループメンバでは次をサポートします。

    • 最大5つの接続タプルフィルタ(すべてのタイプから選択可能)

    • 最大3つのホストIPアドレスフィルタ

    • 最大2つのVPNピアフィルタ

  • セキュリティゲートウェイ/クラスタメンバ/セキュリティグループメンバは、これらのデバッグフィルタを非アクセラレーションとアクセラレーションの両方のトラフィックに適用します。

  • セキュリティゲートウェイ/クラスタメンバ/セキュリティグループメンバは、以下のデバッグフィルタを適用します。接続ライフサイクルによるカーネルデバッグ手順

ベストプラクティス - 接続タプルとホストIPアドレスのフィルタは通常、"fw ctl debug"コマンドから設定する方が簡単です(R81.20 CLI Reference Guide)。カーネルデバッグをVPNピアでフィルタリングするには、以下の手順で行います。

「接続タプルパラメータ別」のデバッグフィルタを設定するには:

セキュリティゲートウェイ/クラスタメンバ/セキュリティグループメンバは、5タプルに基づき接続を処理します。

このデバッグフィルタでは、これらのタプルパラメータでフィルタをかけることができます。

タプルパラメータ

カーネルパラメータの構文

ソース IP アドレス

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

    fw ctl set str simple_debug_filter_saddr_<N> "<IPv4 or IPv6 Address>"

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set str simple_debug_filter_saddr_<N> "<IPv4 or IPv6 Address>"

ソースポート

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

    fw ctl set int simple_debug_filter_sport_<N> <1-65535>

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set int simple_debug_filter_sport_<N> <1-65535>

宛先IPアドレス

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

    fw ctl set str simple_debug_filter_daddr_<N> "<IPv4 or IPv6 Address>"

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set str simple_debug_filter_daddr_<N> "<IPv4 or IPv6 Address>"

宛先ポート

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

    fw ctl set int simple_debug_filter_dport_<N> <1-65535>

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set int simple_debug_filter_dport_<N> <1-65535>

プロトコル番号

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

    fw ctl set int simple_debug_filter_proto_<N> <0-254>

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set int simple_debug_filter_proto_<N> <0-254>

注:

  1. <N>は1〜5の整数。この番号は、このタイプの設定されたカーネルパラメータのインデックスです。

  2. IPアドレスを指定する場合は、二重引用符で囲む必要があります。

  3. 同じインデックス<N>を持つカーネルパラメータを設定すると、デバッグフィルタはこれらのカーネルパラメータの論理的な"AND"になります。

    この場合、最終的なフィルタは、処理されたコネクションの一方向のみにマッチします。

    • 例1 - 送信元IPアドレスXから送信先IPアドレスYへのパケット:

      simple_debug_filter_saddr_1 <Value X>
      AND
      simple_debug_filter_daddr_1 <Value Y>

    • 例2 - 送信元IPアドレスXから宛先ポートYへのパケット:

      simple_debug_filter_saddr_1 <Value X>
      AND
      simple_debug_filter_dport_1 <Value Y>

  4. 異なるインデックス<N>でカーネルパラメータを設定すると、デバッグフィルタはこれらのカーネルパラメータの論理"OR"になります。

    つまり、最終的なフィルタが接続の両方向に一致する必要がある場合は、両方向に該当するデバッグフィルタを設定する必要があります。

    • 例1 - 送信元IPアドレスXからのパケット、または宛先IPアドレスYへのパケット:

      simple_debug_filter_saddr_1 <Value X>
      OR
      simple_debug_filter_daddr_2 <Value Y>

    • 例2 - 送信元IPアドレスXからのパケット、または宛先ポートYへのパケット:

      simple_debug_filter_saddr_1 <Value X>
      OR
      simple_debug_filter_dport_2 <Value Y>

  5. ポート番号については次を参照:IANA Service Name and Port Number Registry)も参照。

  6. プロトコル番号については次を参照:IANA Protocol Numbers)も参照。

"IPアドレスパラメータ別"のデバッグフィルタを設定するには

このデバッグフィルタでは、パケットの送信元または宛先のIPアドレス1つでフィルタをかけることができます。

カーネルパラメータの構文:

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

    fw ctl set str simple_debug_filter_addr_<N> "<IPv4 or IPv6 Address>"

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set str simple_debug_filter_addr_<N> "<IPv4 or IPv6 Address>"

注:

  1. <N>は1~3の整数。

    この番号は、このタイプの設定されたカーネルパラメータのインデックスです。

  2. これらのカーネルパラメータのうち、1つ、2つ、または3つを同時に設定することができます。

    • 例1:

      IPアドレス(simple_debug_filter_addr_1)を1つ設定します。

    • 例2:

      2つのIPアドレス(simple_debug_filter_addr_1simple_debug_filter_addr_2)を設定します。

      この場合、これらのIPアドレスのいずれかが送信元または宛先として現れるパケットにマッチします。

  3. IPアドレスは二重引用符で囲む必要があります。

"VPNピアパラメータ別"のデバッグフィルタを設定するには

このデバッグフィルタでは、1つのIPアドレスでフィルタリングすることができます。

カーネルパラメータの構文:

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

    fw ctl set str simple_debug_filter_vpn_<N> "<IPv4 or IPv6 Address>"

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set str simple_debug_filter_vpn_<N> "<IPv4 or IPv6 Address>"

注:

  1. <N>は1または2の整数。

    この番号は、このタイプの設定されたカーネルパラメータのインデックスです。

  2. これらのカーネルパラメータのうち、1つまたは2つを同時に設定することができます。

    • 例1:

      1つのVPNピア(simple_debug_filter_vpn_1)を設定します。

    • 例2:

      2つのVPNピア(simple_debug_filter_vpn_1simple_debug_filter_vpn_2)を設定します。

  3. IPアドレスは二重引用符で囲む必要があります。

すべてのデバッグフィルタを無効にするには

設定されているすべての種類のデバッグフィルタを無効にすることができます。

カーネルパラメータの構文:

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

    fw ctl set int simple_debug_filter_off 1

  • Scalable Platformセキュリティグループでは、エキスパートモードで実行します。

    g_fw ctl set int simple_debug_filter_off 1

使用例

送信元IPアドレス192.168.20.30から任意の送信元ポート、宛先IPアドレス172.16.40.50から宛先ポート80(192.168.20.30:<Any> --> 172.16.40.50:80)への接続に関する情報をカーネルデバッグに表示する必要があります。

カーネルデバッグを開始するに、これらのコマンドを実行してください。

fw ctl set int simple_debug_filter_off 1

fw ctl set str simple_debug_filter_saddr_1 "192.168.20.30"

fw ctl set str simple_debug_filter_daddr_1 "172.16.40.50"

fw ctl set str simple_debug_filter_saddr_2 "172.16.40.50"

fw ctl set str simple_debug_filter_daddr_2 "192.168.20.30"

fw ctl set int simple_debug_filter_dport_1 80

fw ctl set int simple_debug_filter_sport_2 80

重要 - 上記の例では、2つの接続タプルフィルタ("..._1"と"..._2")が使用されています。これは、デバッグフィルタをこの接続の両方の方向に一致させるためです。