Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

データ・パスのデバッグおよびトレース・オプションの構成

SRXシリーズデバイスのデータパスデバッグについて

データ・パス・デバッグ (エンドツーエンド・デバッグ) サポートは、パケット・プロセス・パスに沿った複数の処理装置でトレースとデバッグを提供します。パケットフィルタは、本番システムへの影響を最小限に抑えて実行できます。

SRXシリーズファイアウォールでは、パケットは、ingressからegress処理までのさまざまなコンポーネントが関係する一連のイベントを通過します。

データ・パス・デバッグ機能を使用すると、処理パスに沿ったさまざまなデータ・ポイントでトレースおよびデバッグ(パケットのキャプチャー)を行うことができます。パケット処理パスで使用可能なイベントは次のとおりです。NP ingress、LBT(負荷分散スレッド)、jexec、POT(パケット順序付けスレッド)、NP egress。特定のモジュールのセキュリティ フロー トレース フラグが設定されている場合は、フロー モジュール トレースを有効にすることもできます。

各イベントでは、4 つのアクション (カウント、パケット ダンプ、パケット サマリー、トレース) のいずれかを指定できます。データ・パス・デバッグには、キャプチャーするパケットを定義するフィルターが用意されており、一致したパケットのみがトレースされます。パケット フィルターは、論理インターフェイス、プロトコル、送信元 IP アドレス プレフィックス、送信元ポート、宛先 IP アドレス プレフィックス、宛先ポートに基づいてパケットを除外できます。

データ・パスのデバッグは、 SRX4600、SRX5400、SRX5600、および SRX5800 でサポートされています。

エンド ツー エンドのデバッグを有効にするには、次の手順を実行する必要があります。

  1. キャプチャ・ファイルを定義し、最大キャプチャ・サイズを指定します。

  2. 要件に基づいて、特定のタイプのトラフィックのみをトレースするようにパケット・フィルタを定義します。

  3. パケット(LBTやNPイングレスなど)をキャプチャする処理パス上の場所を指定するアクションプロファイルを定義します。

  4. データ・パスのデバッグを有効にします。

  5. トラフィックをキャプチャします。

  6. データ・パスのデバッグを無効にします。

  7. レポートを表示または分析します。

ポートおよびインターフェイスオプションのパケットフィルタリング動作は次のとおりです。

  • パケット・フィルターは、 port のみを指定した場合、IPv4 と IPv6 の両方のトラフィックをトレースします。

  • パケット・フィルタは、IPv4、IPV6、および interface のみを指定した場合、非 IP トラフィックをトレースします。

トレース オプションを使用したセキュリティ デバッグについて

Junos OS トレース機能を使用すると、アプリケーションはセキュリティ デバッグ情報をファイルに書き込むことができます。このファイルに表示される情報は、設定した条件に基づいています。この情報を使用して、セキュリティ製品の問題を分析できます。

trace 関数は分散方式で動作し、各スレッドは独自のトレース バッファーに書き込みます。これらのトレース・バッファーは、ある時点で収集され、ソートされて、トレース・ファイルに書き込まれます。トレース メッセージは、プロセス間通信 (IPC) プロトコルを使用して配信されます。トレース メッセージは、BGP、OSPF、IKE などの制御プロトコル パケットの優先度よりも優先度が低いため、配信の信頼性は低いと見なされます。

トレースオプションを使用したフローデバッグの理解

フロー トレース オプションでは、 destination-portdestination-prefixinterfaceprotocolsource-port、および source-prefix の組み合わせを使用してパケット フィルタを定義できます。特定のモジュールにセキュリティ フロー トレース フラグが設定されている場合、特定のパケット フィルタに一致するパケットがフロー トレースをトリガーし、デバッグ情報をトレース ファイルに書き込みます。

データパスのデバッグ(CLI手順)

データ・パスのデバッグは、SRX5400、SRX5600、および SRX5800 で サポートされています。

データをデバッグ用にデバイスを構成するには:

  1. 以下の要求コマンドを指定して、パケット処理パスに沿った複数の処理装置のデータ・パス・デバッグを設定します。
  2. 以下のコマンドを使用して、データ・パス・デバッグのトレース・オプションを指定します。
  3. request security パケット・フィルター・コマンドを使用すると、データ・パス・デバッグ・アクションを実行する関連パケットを指定するようにパケット・フィルターを設定できます。最大 4 つのフィルターを同時にサポートできます。たとえば、次のコマンドは最初のパケット フィルターを設定します。
  4. request security action-profile コマンドを使用すると、指定したフィルターのパケット一致に対するアクションを設定できます。ネットワーク・プロセッサー ezchip ingress、ezchip egress、spu.lbt、および spu.pot のトレース・オプションであるデフォルトのアクション・プロファイルのみがサポートされています。

フローデバッグトレースオプションの設定(CLI手順)

次の例は、 security flow traceoptions を使用して設定できるオプションを示しています。

  • filter1 パケット・フィルタの imap 宛先ポートに一致させるには、以下のステートメントを使用します。

  • filter1 パケット・フィルタに宛先 IPv4 プレフィックス・アドレス 1.2.3.4 を設定するには、以下のステートメントを使用します。

  • filter1 パケット フィルタに fxp0 論理インターフェイスを設定するには、次のステートメントを使用します。

  • filter1 パケット・フィルタの TCP IP プロトコルに一致させるには、以下のステートメントを使用します。

  • filter1 パケット・フィルターの HTTP ソース・ポートと一致させるには、以下のステートメントを使用します。

  • filter1 パケット・フィルタに 5.6.7.8 IPv4 プレフィックス・アドレスを設定するには、以下のステートメントを使用します。

セキュリティー・トレース・オプションの設定(CLI 手順)

CLI 設定エディターでセキュリティー・トレース・オプションを構成するには、以下の構成ステートメントを使用します。

  • リモート・トレーシングを無効にするには、次のステートメントを入力します。

  • トレースメッセージをローカルファイルに書き込むには、次のステートメントを入力します。トレースファイルが /var/log/ ディレクトリに保存されます。

  • トレース・ファイルの名前を指定するには、次のステートメントを入力します。有効な値の範囲は1から1024文字です。名前にスペース、/、または % 文字を含めることはできません。デフォルトのファイル名はセキュリティです。

  • 蓄積できるトレース ファイルの最大数を指定するには、次のステートメントを入力します。有効な値の範囲は2から1000です。デフォルト値は 3 です。

  • 情報をファイルに記録するときにシステムが使用する一致条件を指定するには、次のステートメントを入力します。正規表現を入力します。ワイルドカード (*) 文字を使用できます。

  • すべてのユーザーがトレース ファイルを読み取れるようにするには、 world-readable ステートメントを入力します。それ以外の場合は、 no-world-readable ステートメントを入力します。

  • トレース・ファイルが拡張できる最大サイズを指定するには、次のステートメントを入力します。ファイルが指定されたサイズに達すると、圧縮されて filename0.gz名前が変更され、次のファイルの名前は filename1.gzというようになります。有効な値の範囲は 10240 から 1,073,741,824 です。

  • トレース・オプションをオンにし、複数のトレース操作を実行するには、次のフラグを設定します。

  • これらのトレース・オプション設定を適用するグループまたは適用しないグループを指定するには、以下のステートメントを入力します。

ログ ファイルとトレース ファイルの表示

monitor start コマンドを入力して、システム ログとトレース ファイルへのリアルタイムの追加を表示します。

デバイスが filename で指定されたファイルにレコードを追加すると、そのレコードが画面に表示されます。例えば、system-logという名前のシステムログファイルを設定した場合([edit system]階層レベルにsyslogステートメントを含めることで)、monitor start system-logコマンドを入力して、システムログに追加されたレコードを表示することができます。

モニター中のファイルのリストを表示するには、 monitor list コマンドを入力します。指定したファイルのレコードの表示を停止するには、 monitor stop filename コマンドを入力します。

セキュリティ トレース オプションの出力の表示

目的

セキュリティー・トレース・オプションの出力を表示します。

アクション

show security traceoptions コマンドを使用して、トレース ファイルの出力を表示します。たとえば、以下のように表示されます。

この例の出力は次のとおりです。

マルチキャスト トレース操作の表示

マルチキャスト トレース操作を監視および表示するには、 mtrace monitor コマンドを入力します。

この例では、 mtrace クエリのみを表示します。ただし、デバイスが mtrace 応答をキャプチャすると、表示は似ていますが、完全な mtrace 応答も表示されます( mtrace from-source コマンド出力に表示されるのとまったく同じです)。

表 1 は、ディスプレイの出力フィールドを要約します。

表 1: CLI mtrace monitor コマンド出力の要約

フィールド

説明

Mtrace operation-type at time-of-day

  • operation-type- マルチキャスト トレース操作のタイプ:query または response

  • time-of-day- マルチキャスト トレースのクエリーまたは応答がキャプチャされた日時。

by

クエリを発行したホストの IP アドレス。

resp to address

address- 応答の宛先アドレス。

qid qid

qid- クエリ ID 番号。

packet from source to destination

  • source- クエリまたは応答の送信元の IP アドレス。

  • destination- クエリまたは応答の送信先の IP アドレス。

from source to destination

  • source- マルチキャスト送信元の IP アドレス。

  • destination- マルチキャスト宛先の IP アドレス。

via group address

address- トレースされているグループ アドレス。

mxhop=number

number- 最大ホップ設定。

デバイスのリストを表示する

デバイスと指定した宛先ホスト間のデバイスのリストを表示するには、以下の構文で traceroute コマンドを入力します。

表 2 で、traceroute コマンドのオプションについて説明します。

表 2: CLI traceroute コマンド オプション

オプション

説明

host

指定したホスト名または IP アドレスにトレースルート パケットを送信します。

interface interface-name

(オプション)指定したインターフェイスでトレースルートパケットを送信します。このオプションが含まれていない場合、トレースルート パケットはすべてのインターフェイスで送信されます。

as-number-lookup

(オプション)デバイスと宛先ホスト間の各中間ホップの自律システム(AS)番号を表示します。

bypass-routing

(オプション)ルーティング テーブルをバイパスし、直接接続されたインターフェイスのホストにのみトレースルート パケットを送信します。ホストが直接接続されたインターフェイスではない場合、エラー メッセージが返されます。

このオプションを使用して、経路のないインターフェースを介してローカル・システムへの経路を表示します。

gateway address

(オプション)指定したゲートウェイを使用してルーティングします。

inet

(オプション)トレースルート パケットを強制的に IPv4 宛先にします。

inet6

(オプション)トレースルート パケットを強制的に IPv6 宛先にします。

no-resolve

(オプション)パス上のホップのホスト名の表示を抑止します。

routing-instance routing-instance-name

(オプション)traceroute に指定したルーティングインスタンスを使用します。

source address

(オプション)traceroute パケットで指定した送信元アドレスを使用します。

tos number

(オプション)トレースルート パケットの IP ヘッダーの type-of-service(TOS)値を設定します。0255 の値を指定します。

ttl number

(オプション)トレースルート パケットのTTL(Time-to-live)値を設定します。ホップ数を 0 から 128 の範囲で指定します。

wait seconds

(オプション)応答を待機する最大時間を設定します。

traceroute コマンドを終了するには、Ctrl-C を押します。

以下に、 traceroute コマンドの出力例を示します。

表示されるフィールドは、J-Web トレースルート診断ツールで表示されるフィールドと同じです。

例:SRXシリーズデバイスでのエンドツーエンドデバッギングの設定

この例では、ハイエンドのSRXシリーズファイアウォールでパケットキャプチャ を構成し SRX5K-MPCを搭載したSRXシリーズのファイアウォールでエンドツーエンドのデバッグを有効にする方法を示しています。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • 100ギガビットイーサネットCFPトランシーバーがインストールされたSRX5K-MPCを搭載したSRX5600デバイス

  • SRXシリーズファイアウォールのJunos OSリリース12.1X47-D15以降

開始する前に、以下を実行します。

この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

概要

データ・パス・デバッグは、パケット・プロセス・パスに沿った複数の処理装置でトレースとデバッグを提供することにより、トラブルシューティング機能を強化します。データ・パス・デバッグ機能を使用すると、処理パスに沿ったさまざまなデータ・ポイントでトレースおよびデバッグ(パケットのキャプチャー)を行うことができます。各イベントで、アクション(カウント、パケット ダンプ、パケット サマリー、トレース)を指定し、キャプチャするパケットを定義するフィルターを設定できます。

この例では、トラフィックフィルターを定義し、アクションプロファイルを適用します。アクション・プロファイルは、プロセス・ユニットに対するさまざまなアクションを指定します。イングレスとエグレスは、着信トラフィックと発信トラフィックのデータをキャプチャするための処理パス上の場所として指定されます。

次に、操作モードでデータ・パスのデバッグを有効にし、最後にデータ・キャプチャー・レポートを表示します。

注:

データ・パスのデバッグは、 SRX5400、SRX5600、および SRX5800 でサポートされています。

設定

手順

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。

ステップバイステップでの手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の説明については、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用するを参照してください。

データ・パスのデバッグを構成するには:

  1. パケット・プロセス・パスにある複数のプロセス・ユニットのセキュリティー・データパス・デバッグ・オプションを編集します。

  2. キャプチャ・ファイル、ファイル形式、ファイルサイズ、およびファイル数を有効にします。

  3. アクションプロファイル、イベントタイプ、およびアクションプロファイルのアクションを設定します。

結果

設定モードから、show security datapath-debugコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

例:Datapathデバッグ用にパケットキャプチャを設定する

この例では、デバイスを通過するトラフィックを監視するためにパケット・キャプチャを設定する方法を示しています。パケット・キャプチャは、パケットをPCAPファイル形式にダンプし、後にtcpdumpユーティリティで調べられるようにします。

要件

開始する前に、データパスのデバッグ(CLI手順)を参照してください。

概要

トラフィックをフィルタリングするためにフィルタが定義されます;それから、フィルタリングされたトラフィックにアクション・プロファイルを適用します。アクション・プロファイルは、プロセス・ユニットに対するさまざまなアクションを指定します。サポートされているアクションの1つはパケット・ダンプで、パケットをルーティング・エンジンに送り、というコマshow security datapath-debug captureンドを使って読み込めるように独自の形式で保存します。

設定

手順
CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。

ステップバイステップでの手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法については、Junos OS CLI ユーザーガイドコンフィギュレーション・モードで CLI エディタを使用するを参照してください。

パケット・キャプチャを設定するには:

  1. パケット・プロセス・パスにある複数のプロセス・ユニットの security datapath-debugオプションを編集してください:

  2. キャプチャ・ファイル、ファイル形式、ファイルサイズ、およびファイル数を有効にします。サイズ番号は、キャプチャ・ファイルのサイズを制限します。制限サイズに達した後、ファイル番号が指定されている場合、キャプチャファイルはファイル名xへ循環されます。ここで、xは、指定されたインデックスに達するまで自動的にインクリメントされ、その後ゼロに戻ります。ファイル・インデックスを指定しない場合、パケットはサイズ制限に達した後、廃棄されます。デフォルトのサイズは 512 キロバイトです。

  3. アクション・プロファイルを有効にし、イベントを設定します。アクションプロファイルをdo-captureとし、イベントタイプをnp-ingressとして設定します:

  4. アクション・プロファイルのパケット・ダンプを有効にします:

  5. パケット・フィルター、アクション、およびフィルター・オプションを有効にします。パケット・フィルタをmy-filter、アクション・プロファイルをdo-capture、およびフィルタ・オプションをsource-prefix 1.2.3.4/32に設定しています。

結果

設定モードから、show security datapath-debugコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

パケット・キャプチャの検証
目的

パケット・キャプチャが動作しているか否かを確認します。

アクション

オペレーション・モードから、パケット・キャプチャを開始するrequest security datapath-debug capture startというコマンドを入力し、パケット・キャプチャを停止するコマrequest security datapath-debug capture stopというンドを入力します。

結果を表示するには、CLI操作モードからローカルのUNIXシェルにアクセスし、/var/log/my-captureのディレクトリに移動します。その結果は、tcpdumpユーティリティを使用して読み取ることができます。

データ・パスのデバッグ・キャプチャーの検証
目的

データ・パス・デバッグ・キャプチャ・ファイルの詳細を確認します。

アクション

動作モードからshow security datapath-debug captureコマンドを入力します。

警告:

トラブルシューティングが終了したら、すべての traceoptionsコンフィギュレーション(flow traceoptions に限らない)と完全な security datapath-debug コンフィギュレーション・スタンザが削除または無効化されていることを確認します。デバッグ・コンフィギュレーションが有効なままだと、デバイスのCPUやメモリ資源を使い続けることになります。

データ・パス・デバッグ・カウンタの検証
目的

データ・パス・デバッグ・カウンターの詳細を確認します。

アクション

動作モードからshow security datapath-debug counterコマンドを入力します。

データ・パス・デバッグの使用可能化

手順

ステップバイステップでの手順

データ パスのデバッグを設定した後、動作モードからデバイス上のプロセスを開始する必要があります。

  1. データ・パスのデバッグを有効にします。

  2. 構成を検証してレポートを表示する前に、データ・パスのデバッグを無効にする必要があります。

    注:

    データのキャプチャが完了したら、デバッグ プロセスを停止する必要があります。デバッグプロセスを停止せずにキャプチャしたファイルを開こうとすると、取得したファイルをサードパーティ製ソフトウェア(tcpdumpやwiresharkなど)で開くことはできません。

検証

設定が正常に機能していることを確認します。

データ・パス・デバッグ・パケット・キャプチャの詳細の検証

目的

データ・パスのデバッグ・コンフィギュレーションを有効にして、キャプチャーしたデータを検証します。

アクション

動作モードからshow security datapath-debug captureコマンドを入力します。

簡潔にするために、 show コマンドの出力は切り捨てられ、少数のサンプルのみが表示されます。追加のサンプルは省略記号 (...) に置き換えられています。

結果を表示するには、CLI操作モードからローカルのUNIXシェルにアクセスし、ディレクトリ /var/log/<file-name>に移動します。結果は、 tcpdump ユーティリティを使用して読み取ることができます。

注:

データパスデバッグのトラブルシューティングが終了したら、すべての traceoptions (フロートレースオプションに限定されません)と、手動で開始/停止する必要があるパケットキャプチャ(パケットダンプ)のデータパスデバッグ設定を含む、完全なデータパスデバッグ設定を削除します。デバッグ構成のいずれかの部分がアクティブなままである場合、デバイスのリソース (CPU/メモリ) が引き続き使用されます。