MENU
「安心のセキュリティをお得な価格」でご提供!
Fortinet商品など
ENGAGE fotinet

FortiGateのデバッグログについて

FortiGate(フォーティゲート)のデバッグログは、ネットワークトラブルの原因追跡や動作確認のために非常に重要な情報源です。

デバッグログは、通常のログよりもはるかに詳細な情報を提供し、トラブルシューティングに不可欠です。

しかし、その詳細さゆえに、注意深く使用する必要があります。

以下に、FortiGateのデバッグログに関する詳細情報を整理して説明します。

FortiGateのデバッグログとは?

FortiGateの「デバッグログ」は、システム内部の挙動を詳細に出力するためのログで、通常ログでは表示されない通信処理の裏側(ポリシー判定、NAT処理、セッション管理、ルーティング判断など)を確認できます。

通常ログ(イベントログやトラフィックログ)では判断できない問題を調査する際に用います。

デバッグログの基本操作

前提

  • CLI(Command Line Interface)から操作します。
  • 高負荷になるため、必要な情報のみを対象に限定して使用するのが鉄則です。
  • 実行中のトラフィックに対してログを出すため、実際にトラフィックが流れる状況が必要です。

デバッグログの有効化

diagnose debug enable

デバッグ出力を有効にします。

ただし、これだけではログは表示されません。

デバッグログの出力内容を制限する

多くの場合、対象を絞って出力するため、以下のようなフィルター設定を行います。

例:IPアドレスで制限

diagnose debug flow filter addr 192.168.1.100

他のフィルター方法

フィルター コマンド例
ソースIP指定 diagnose debug flow filter saddr 192.168.1.100
宛先IP指定 diagnose debug flow filter daddr 8.8.8.8
インターフェース指定 diagnose debug flow filter interface port1
プロトコル diagnose debug flow filter proto 6 (※TCP)

デバッグ出力モードを設定

ログの種類を指定します。

トラフィックフローのデバッグ(最もよく使う)

diagnose debug console timestamp enable
diagnose debug flow show function-name enable
diagnose debug flow trace start 100

この設定では、トラフィックフローに関するログを100件まで表示します。

実際にデバッグ出力を確認

diagnose debug enable

このコマンドで、設定された条件に合致するログが表示され始めます。

デバッグの終了

デバッグは終了したら必ず停止してください。

放置するとCPUやログがパンクする恐れがあります。

diagnose debug disable
diagnose debug reset

よく使うデバッグコマンド一覧(まとめ)

目的 コマンド
デバッグの有効化 diagnose debug enable
デバッグの無効化 diagnose debug disable
デバッグ条件のリセット diagnose debug reset
トラフィックの詳細ログ出力開始 diagnose debug flow trace start <件数>
トラフィックログに関数名表示 diagnose debug flow show function-name enable
タイムスタンプ表示 diagnose debug console timestamp enable
IPアドレスでフィルタ diagnose debug flow filter addr <IPアドレス>

ログの読み方の例

id=20085 trace_id=3 func=resolve_ip_tuple_fast line=6222 msg="Find an existing session, id-0x1358ae5b"
id=20085 trace_id=3 func=fw_forward_handler line=674 msg="Allowed by Policy-1"

このようにログを読むことで、

  • セッションが見つかった(既存通信)
  • ポリシー1番で許可された

といったことが読み取れます。

注意点

  • 誤って全体のデバッグを有効にすると、CPU使用率が高騰し、ネットワーク障害に発展するリスクがあります。
  • 本番環境では、短時間かつ対象を限定して使用しましょう。
  • ログを保存したい場合はTeraTermやSecureCRTなどのターミナルでログを保存する設定をしておくと良いです。

実用的な活用例

ケース 使用するデバッグ
トラフィックがポリシーでブロックされる diagnose debug flow
NATが想定通り動かない diagnose debug flow + show iprope
VPNトンネルが張れない diagnose debug application ike -1
DNSが通らない diagnose debug application dns -1

まとめ

FortiGateのデバッグログは、トラブルシューティングにおいて極めて強力なツールですが、使い方を誤ると重大な問題を引き起こす可能性もあります。

基本的には以下の原則を守るようにしましょう。

  1. 対象を限定して行う(IP、インターフェースなど)
  2. 短時間で済ませる
  3. 終了後は必ずdebug disableで停止する
  4. ターミナルのログ記録機能を活用する

以上、FortiGateのデバッグログについてでした。

最後までお読みいただき、ありがとうございました。

カテゴリ一覧

ページトップへ