FortiGate(フォーティゲート)のデバッグログは、ネットワークトラブルの原因追跡や動作確認のために非常に重要な情報源です。
デバッグログは、通常のログよりもはるかに詳細な情報を提供し、トラブルシューティングに不可欠です。
しかし、その詳細さゆえに、注意深く使用する必要があります。
以下に、FortiGateのデバッグログに関する詳細情報を整理して説明します。
FortiGateの「デバッグログ」は、システム内部の挙動を詳細に出力するためのログで、通常ログでは表示されない通信処理の裏側(ポリシー判定、NAT処理、セッション管理、ルーティング判断など)を確認できます。
通常ログ(イベントログやトラフィックログ)では判断できない問題を調査する際に用います。
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"
このようにログを読むことで、
といったことが読み取れます。
ケース | 使用するデバッグ |
---|---|
トラフィックがポリシーでブロックされる | diagnose debug flow |
NATが想定通り動かない | diagnose debug flow + show iprope |
VPNトンネルが張れない | diagnose debug application ike -1 |
DNSが通らない | diagnose debug application dns -1 |
FortiGateのデバッグログは、トラブルシューティングにおいて極めて強力なツールですが、使い方を誤ると重大な問題を引き起こす可能性もあります。
基本的には以下の原則を守るようにしましょう。
debug disable
で停止する以上、FortiGateのデバッグログについてでした。
最後までお読みいただき、ありがとうございました。