This site covers Fortinet and A10 as part of *** Shadowgarden.org ***

FortiGate CLI の状態確認コマンドと情報取得コマンド一覧

目次

本記事について

本記事では、Fortinet 社のファイアウォール製品である FortiGate の運用確認・障害対応でよく使用する CLI コマンドを、システム情報、バージョン確認、HA状態確認、インターフェース確認、ルーティング確認、セッション確認、VPN確認、ログ確認の用途別に整理します。
コマンドの意味だけでなく、どのような確認作業で使うかを把握できるようにまとめています。

動作確認環境

本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。

  • FortiGate-60F
    • FortiOS 7.4.3
    • FortiOS 7.6.7

状態確認系コマンド

#項目コマンド説明出力例
1システム系get system statusバージョン・シリアルNo.等の
システム基本情報
関連記事
2get system performance statusCPU・メモリ等のリソース情報関連記事
3execute date現在のシステム日付関連記事
4execute time現在のシステム時刻関連記事
5get system ntpNTP 設定関連記事
6diagnose sys ntp statusNTP サーバとの同期状態関連記事
7get system arpARP テーブル関連記事
8execute dhcp lease-listDHCP リース情報関連記事
9diagnose test application dnsproxy 7DNS キャッシュ情報関連記事
10diagnose test application forticldd 13ファームウェア自動更新状態関連記事
11diagnose debug crashlog readクラッシュログ表示関連記事
12diagnose sys flash listフラッシュ内のイメージ情報関連記事
13FortiGuard 関連get system fortiguard-service status各種DBバージョン等関連記事
14diagnose autoupdate versions各種DB更新状況関連記事
15HA 系get system haHA 設定関連記事
16get system ha statusHA 状態関連記事
17diagnose sys ha dump-by groupHA アップタイム含む情報関連記事
18ハードウェア系get hardware statusモデル・CPU・メモリ等の情報関連記事
19diagnose hardware deviceinfo diskストレージ使用状況関連記事
20get hardware cpu
diagnose hardware sysinfo cpu
CPU詳細情報関連記事
21get hardware memory
diagnose hardware sysinfo memory
メモリ使用状況詳細関連記事
22execute sensor list温度、閾値、アラーム状態参考ページ
23execute sensor detail温度、閾値、アラーム状態の詳細参考ページ
24インターフェース系get system interface physicalIP、Up/Down、Speed/Duplex関連記事
25get system interface transceiverトランシーバのシリアル・状態参考ページ
26get hardware nic <port>MAC、統計情報関連記事
27diagnose netlink device listerror, drop 等のカウンタ関連記事
28diagnose netlink aggregate name <IF>リンクアグリゲーション状態関連記事
29ルーティング系get router info routing-table allルーティングテーブル関連記事
30get router info ospf neighborOSPF ネイバー関連記事
31get router info ospf databaseOSPF データベース関連記事
32get router info ospf routeOSFP ルーティングテーブル関連記事
33get router info bgp neighborsBGP ネイバー関連記事
34get router info bgp summaryBGP サマリ情報関連記事
35get router info bgp networkBGP テーブル関連記事
36リンクモニタdiagnose sys link-monitor status allリンクモニタ状態関連記事
37セッションget system session listセッションテーブル(NAT情報含む)関連記事
38diagnose sys session list個々のセッション情報詳細関連記事
39get system session status現在のセッション数の確認関連記事
40VPN 系get vpn ipsec tunnel summaryIPsec セレクタ状態サマリ関連記事
41get vpn ike gateway
diagnose vpn ike gateway list
IKE/IPsec SA 状態関連記事
関連記事
42get vpn ipsec tunnel detailsIPsec トンネル詳細情報関連記事
43diagnose vpn tunnel list各VPNトンネルの状態関連記事
44get vpn ssl monitorSSL-VPN 接続ユーザ情報関連記事
45diagnose vpn ssl statisticsSSL-VPN 統計情報関連記事

★まとめてコピー用リスト

# システム系
get system status
get system performance status
execute date
execute time
get system ntp
diagnose sys ntp status
get system arp
execute dhcp lease-list
diagnose test application dnsproxy 7
diagnose test application forticldd 13
diagnose debug crashlog read
diagnose sys flash list

# FortiGuard 関連
get system fortiguard-service status
diagnose autoupdate versions

# HA 系
get system ha
get system ha status
diagnose sys ha dump-by group

# ハードウェア系
get hardware status
diagnose hardware deviceinfo disk
get hardware cpu
diagnose hardware sysinfo cpu
get hardware memory
diagnose hardware sysinfo memory
execute sensor list
execute sensor detail

# インターフェース系
get system interface physical
get system interface transceiver
get hardware nic <port>
diagnose netlink device list
diagnose netlink aggregate name <IF>

# ルーティング系
get router info routing-table all
get router info ospf neighbor
get router info ospf database
get router info ospf route
get router info bgp neighbors
get router info bgp summary
get router info bgp network

# リンクモニタ
diagnose sys link-monitor status all

# セッション
get system session list
diagnose sys session list
get system session status

# VPN 系
get vpn ipsec tunnel summary
get vpn ike gateway
diagnose vpn ike gateway list
get vpn ipsec tunnel details
diagnose vpn tunnel list
get vpn ssl monitor
diagnose vpn ssl statistics

diagnose sys session list のフィルタ

diagnose sys session listのフィルタを設定することでdiagnose sys session listで表示するセッションを絞り込むことができます。

フィルタの設定

フィルタ設定
  • diagnose sys session filter <フィルタ項目> <値>

主なフィルタ項目としては以下があります。

vd-name           Name of virtual domain. -1 or "any" matches all.
sintf             Source interface.
dintf             Destination interface.
src               Source IP address.
nsrc              NAT'd source ip address
dst               Destination IP address.
proto             Protocol number.
sport             Source port.
nport             NAT'd source port
dport             Destination port.
policy            Policy ID.

例えば送信元アドレス 10.1.1.20 で絞り込む場合は以下のフィルタ設定をします。

diagnose sys session filter src 10.1.1.20

現在のフィルタ設定はdiagnose sys session filterで確認できます。

session filter:
        vd: any
        sintf: any
        dintf: any
        proto: any
        proto-state: any
        source ip: 10.1.1.20-10.1.1.20
        NAT'd source ip: any
        dest ip: any
        source port: any
        NAT'd source port: any
        dest port: any
        policy id: any
        expire: any
        duration: any
        state1: any
        state2: any

フィルタのクリア

フィルタのクリア
  • diagnose sys session filter clear

各種ローカルログ確認コマンド

ローカルログの表示は以下の手順で、フィルタを設定した上でログ表示を行います。

  • execute log filter device 0
    • ログ保存場所としてメモリを指定します
  • execute log filter category <ID>
    • ログのカテゴリを <ID> で指定します。<ID> の選択肢は以下の通りです
      • 0: traffic ※トラフィックログはこれ
      • 1: event ※イベントログはこれ
      • 2: utm-virus
      • 3: utm-webfilter
      • 4: utm-ips
      • 5: utm-emailfilter
      • 7: utm-anomaly
      • 8: utm-voip
      • 9: utm-dlp
      • 10: utm-app-ctrl
      • 12: utm-waf
      • 15: utm-dns
      • 16: utm-ssh
      • 17: utm-ssl
      • 19: utm-file-filter
      • 20: utm-icap
      • 22: utm-sctp-filter
      • 23: forti-switch
      • 24: utm-virtual-patch
      • 25: utm-casb
  • execute log filter view-lines <5-1000>
    • 一度にログを何行表示するかを指定します
    • 指定しない場合のデフォルトは 10 です
    • 例えば設定値が10の場合、以下④のexecute log displayを1回実行すると 1-10 番目のログが表示され、2回目の実行時には 11-20 番目のログ、3回目の実行時には 21-30 番目のログ、...、と表示されていきます
  • execute log display
    • ①~③のフィルタ設定に基づいてログを表示します
  • execute log filter reset
    • ログ表示を終える場合はこのコマンドを実行し①~③のフィルタ設定をリセットします

トラフィックログ表示コマンド例

トラフィックログを表示するコマンドリストの例です。(表示行数は50行と設定する場合。)

execute log filter device 0
execute log filter category 0
execute log filter view-lines 50
execute log display
execute log filter reset

イベントログ表示コマンド例

イベントログを表示するコマンドリストの例です。(表示行数は50行と設定する場合。)

execute log filter device 0
execute log filter category 1
execute log filter view-lines 50
execute log display
execute log filter reset

日付でログをフィルタする方法

特定の日付のログのみを表示したい場合は以下のフィルタ設定を行います。

特定の日付でのフィルタ
  • execute log filter field date <yyyy-mm-dd>
    • 日付の指定形式は yyyy/mm/dd でも可能

例えば 2025/2/18 のログのみを表示したい場合は以下のように設定します。

execute log filter field date 2025-02-18

上記の設定をした後にexecute log displayを実行することで、2025/2/18 のログのみを表示することができます。

現在のログフィルタ設定の確認

現在のログフィルタ設定はexecute log filter dumpコマンドで確認できます。

FortiGate-60F # execute log filter dump

category: event
device: memory
start-line: 1
view-lines: 10
max-checklines: 0
HA member: 
log search mode: on-demand
pre-fetch-pages: 2
Filter: ( date "2025-02-18" )
Oftp search string: (and (or date==20250218))

サポート問い合わせ用ログ取得コマンド

diagnose debug reportでサポート問い合わせ時に必要な各種コマンドのログを取得できます。

サポート問い合わせログ取得
  • diagnose debug report

なおこのコマンドと同等のファイルをGUIからエクスポートすることもできます。手順については以下のサポート情報を参照してください。

ただし上記ページ内に以下の注釈があったため CLI での取得を推奨します。

Web インターフェイスからエクスポートするのではなく、コマンド ラインからデータを収集することをお勧めします。WebGUI からのエクスポートでは、対話型コマンドdiag sys topによりファイルの先頭が切り捨てられ、その結果、一部の出力が欠落します (ファームウェア バージョン、シリアル番号、システム時間などを表示するコマンドget sys statusや、システム負荷、メモリ使用量、稼働時間などを表示する コマンド get sys perf status など)。

https://community.fortinet.com/t5/FortiGate/Technical-Tip-Download-Debug-Logs-and-execute-tac-report/ta-p/189549

情報取得系コマンド

#項目コマンド説明出力例
1システム系showコンフィグ表示関連記事
2show full-configurationフルコンフィグ表示関連記事
3execute revision list configリビジョンコンフィグリスト関連記事

実行系コマンド

#項目コマンド説明出力例
1疎通確認execute ping <宛先IP>Ping 実行関連記事
2execute traceroute <宛先IP>Traceroute 実行関連記事

コマンドログ取得用オリジナルマクロ

Tera Term マクロを作って楽しよう
FortiGate にログインしコマンドログを取得する Tera Term マクロの共有 (Console,Telnet,SSH対応) | Tera ... 動作確認環境 Tera Term Version 4.104 マクロ概要 ネットワーク作業では、事前・事後ログ、正常性確認ログとして、複数の状態確認コマンドのログを取得する必要がある。こ...


【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです

Amazon アフィリエイトリンク

以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。

【アフィリエイト】ブログ始めるならおすすめ

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (4件)

  • 特定の日付のログだけ全部出すみたいなコマンドはありますか?

    • 特定の日付のログだけを表示することは以下のフィルタ設定で可能です。
      execute log filter field date yyyy-mm-dd(yyyy/mm/ddでも可)

      例えば2025/2/18のログでフィルタする場合は以下のコマンドになります。
      execute log filter field date 2025-02-18

      表示する行数については以下コマンドで設定できますが1000行が最大のため、1000行を超える場合は複数回ログ表示コマンドを実行する必要があります。
      execute log filter view-lines <5-1000>

      ※記事内に上記内容追加しておきました

      • ありがとうございます。無事必要なログが出せました。

        Fortigateの別の質問もしてよろしいでしょうか。

        内部ネットワークからプロキシサーバーを通してFortiguardサーバーまで到達してOSアップデートを行いたいのですが、何かが原因でインターネットに到達できずにアップデートできません。そのためライセンスも更新できません。

        Forti⇒DNSサーバ(プライマリセカンダリping 成功
        Forti⇒プロキシサーバにping 成功
        Forti⇒Fortigate guard(インターネット?) 失敗

        下記URLを参考にしていくつか設定を行ったのですがそれでも到達できないのですが、何か考えられる原因、必要な設定はありますでしょうか?
        https://hyper-mode.net/fortigate-license-activation/#i-1

        GUI、CLIどちらも使っていますが、主にGUIを使用しているためそちらでの操作など教えていただきたいです。(もちろんCLIが必要でしたらそちらでも結構です。)

        • 同様のトラブル事例の情報は特に持っていないのですが、プロキシサーバをご利用とのことなので自分だったら以下の点を確認してみたいかなと思います。
          ・FortiGateにおけるプロキシサーバ利用の設定は正しくできているか
           →プロキシサーバのIPアドレス、ポート番号は正しく設定されているか、認証が必要な場合ユーザ・パスワードの設定は正しいか
          ・FortiGateにて名前解決はできるか
           →FortiGateにて宛先をFQDNで指定したPingを実行して確認
          ・プロキシサーバのフィルタリングで拒否されていないか
           →プロキシサーバの設定・ログの確認
          ・プロキシサーバ~インターネット間の通信は問題無くできているか
           →他のプロキシクライアントからはWeb閲覧できているか

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次