あんたいとる

無駄の中に宝がある!

【Fortigate】snifferコマンドで取得できていないパケットがある場合の対処方法

はじめに

トラブルシューティングのために snifferコマンドを使用してパケットを取得してみたものの、すべてのパケットを取得できていない場合があります。 これはパケット処理が CPUからネットワークプロセッサ(NP)やセキュリティプロセッサ(SP)といったハードウェアアクセラレーションにオフロードされるために起こります。

対処方法

取得できてないパケットがある理由は、NP/SPにオフロードされるためパケットがカーネルで処理されていないからです。 パケットキャプチャはカーネルの機能であるため、パケットを取得するためにはCPUとカーネルでパケットを処理しなければなりません。

対処策として パケットを取得したいセッションにマッチするポリシー設定でオフロードを無効にします。

# config firewall policy
edit <policy_id>
set auto-asic-offload disable
next
end

※オフロードを無効にしていも現在のセッションは終了しません。

パケットを取得できるようにして、トラブルシューティングを行った後は設定を戻しておきます。

# config firewall policy
edit <policy_id>
set auto-asic-offload enable
next
end

参考URL

Knowledge Base: Technical Tip: Packet sniffer (CLI/Web GUI) is missing packets while running a trace

FortiGate完全攻略

FortiGate完全攻略