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

FortiGateのGREPについて

FortiGateのCLIには、出力結果を絞り込むためのgrepコマンドが用意されています。

UNIX/Linuxのgrepコマンドと似たような感覚で使用できますが、FortiOS特有の制限や仕様もあります。

本記事では、GREPの正確な使い方から応用例、注意点までを網羅的に解説します。

基本構文

FortiGate CLIにおいて、任意のコマンドの出力に対してgrepでフィルタリングする基本構文は以下の通りです。

<command> | grep [オプション] "検索文字列"

show system interface | grep port

これは、インターフェース設定の中から「port」を含む行だけを表示します。

よく使うGREPの用途と例

インターフェース設定から特定のポートを検索

show system interface | grep port1

ファイアウォールポリシーに特定のポリシーIDが含まれるか調べる

show firewall policy | grep "policyid 10"

システムログでエラーや失敗のキーワードを検索

execute log display | grep fail

使用可能なオプション一覧

FortiOSでサポートされているgrepの主なオプションは以下の通りです。

オプション 説明
-i 大文字・小文字を無視して検索(ignore case)
-v 指定した文字列を含まない行のみ表示(否定)
-c 一致した行数をカウントして表示
-n 一致した行の行番号を表示
-e 複数の検索語をOR条件で指定可能(複数回使用可)

注意:UNIXのgrep -f(ファイル指定)や-w(単語一致)はFortiOS CLIでは非対応です。

注意点

grepはあくまで単純なキーワード一致

FortiOSのgrepは正規表現(例:^, $, .*, \d+など)には対応していません

単純な文字列一致のみです。

diagnose debug enable などの実行コマンドにパイプは使えない

以下のような使い方は誤りです。

diagnose debug enable | grep negotiation  ←  NG

代わりに、以下のような手順が推奨されます。

diagnose debug application ike -1
diagnose debug console timestamp enable
diagnose debug enable

その後にログが流れるので、手動で確認 or ログバッファを使って再度grepで絞り込む方法が現実的です。

実践的な活用例

VPNトラブルシューティング:IKEログの確認

diagnose debug application ike -1
diagnose debug enable

出力されたログの中から手動で該当するキーワードを探す、または一時ログに出力して再度確認する。

execute log display | grep 192.168.1.10

管理インターフェースにSNMPが設定されているか確認

show | grep snmp

応用テクニック

パイプを連結して多段階フィルタ

show firewall policy | grep port1 | grep allow

「port1を含み、かつallowを含む行」を抽出可能。

否定フィルタ

show firewall policy | grep -v "deny"

「denyを含まない行」のみを抽出。

まとめ:GREPを使いこなすコツ

ポイント 内容
基本はパイプ(` grep`)による文字列一致検索
複雑な正規表現には非対応 単純なキーワード一致を想定して使用する
diagnose debugなど実行系コマンドにはパイプ不可 ログ出力後に別途フィルタリングする運用が必要
複数オプションを組み合わせると効率的 -v, -i, -e などを併用すると柔軟性アップ

補足

  • FortiOSのバージョンにより、サポートされるオプションや挙動に若干の違いがある場合があります。
  • より高度なログ解析が必要な場合は、FortiAnalyzerの利用やSyslogサーバへの転送も検討しましょう。

以上、FortiGateのGREPについてでした。

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

カテゴリ一覧

ページトップへ