FortiGateの運用において、CLI(コマンドラインインターフェース)とGUI(グラフィカルユーザーインターフェース)の使い分けは作業効率に直結する重要なスキルです。それぞれの特性を理解し、状況に応じて適切な方法を選択することで、設定作業やトラブルシューティングの時間を大幅に短縮できます。
データセンターで50台以上のFortiGateを管理していた際、当初はすべてGUIで設定していましたが、同じ設定を繰り返す作業に膨大な時間がかかっていました。
CLIスクリプトを活用するようになってから、一括設定が可能になり、作業時間が約70%削減できました。特に複数拠点への展開では、CLIの威力を実感しています。
FortiGateの運用では、CLIとGUIそれぞれに明確な得意分野があります。両者の特性を理解することが、効率的な使い分けの第一歩です。
表1: CLIとGUIの特性比較
| 項目 | CLI | GUI |
|---|---|---|
| 作業速度 | 一括設定時は高速(スクリプト活用) | 単発設定では直感的で速い |
| 学習コスト | コマンド習得が必要(中〜高) | 視覚的で理解しやすい(低) |
| バックアップ | テキスト形式で管理しやすい | バイナリ形式、差分確認困難 |
| ログ分析 | 詳細表示可能だが見づらい | グラフ化され視覚的に理解しやすい |
| 自動化 | スクリプト化が容易 | 自動化には不向き |
図1: 作業内容別の推奨インターフェース使用率
CLIを使った設定バックアップは、テキストベースのため変更履歴管理が容易です。Gitなどのバージョン管理システムとの連携も可能で、どの部分が変更されたかを一目で確認できます。
# 全設定のバックアップ
show full-configuration
# システム設定のみバックアップ
show system global
# 特定セクションの確認
show firewall policy同じ設定を複数のFortiGateに適用する場合、CLIスクリプトを使うことで作業時間を大幅に削減できます。特にVLAN設定やルーティング設定など、繰り返しの多い作業で威力を発揮します。
# VLANインターフェース一括作成スクリプト例
config system interface
edit "vlan10"
set vdom "root"
set ip 192.168.10.1 255.255.255.0
set interface "port1"
set vlanid 10
next
edit "vlan20"
set vdom "root"
set ip 192.168.20.1 255.255.255.0
set interface "port1"
set vlanid 20
next
endパケットフローの確認やデバッグ出力など、詳細な情報が必要な場合はCLIが必須です。GUIでは表示されない内部動作を確認できます。
# パケットフローのデバッグ
diagnose debug flow filter addr 192.168.1.100
diagnose debug flow show console enable
diagnose debug enable
diagnose debug flow trace start 100
# ルーティングテーブル確認
get router info routing-table all
# セッションテーブル確認
diagnose sys session listポリシーの全体像を把握する際、GUIのテーブル表示は非常に有効です。送信元、宛先、サービス、アクションが一覧で確認でき、ポリシーの順序も視覚的に理解できます。ドラッグ&ドロップでポリシー順序の変更も簡単です。
FortiViewやログビューアーなど、GUIのログ分析機能は強力です。トラフィックの傾向、脅威の統計、アプリケーション使用状況などがグラフィカルに表示され、直感的に理解できます。
図2: GUI機能の利用頻度(日常運用での割合)
新規導入時やVPNセットアップなど、GUIのウィザード機能を使うことで設定ミスを防げます。必要な項目が順序立てて表示されるため、設定漏れの心配がありません。
日常運用でよく使う操作について、CLIコマンドとGUI画面の対応を理解しておくと、状況に応じた柔軟な対応が可能になります。
表2: よく使う操作のCLI/GUI対応表
| 操作内容 | CLIコマンド | GUI画面 |
|---|---|---|
| ポリシー確認 | show firewall policy | Policy & Objects → Firewall Policy |
| インターフェース設定 | config system interface | Network → Interfaces |
| システム情報 | get system status | Dashboard → Status |
| ログ表示 | execute log display | Log & Report → Forward Traffic |
| ルーティング確認 | get router info routing-table all | Network → Static Routes |
頻繁に行う設定作業はテンプレート化しておくと効率的です。変数部分だけを書き換えることで、ミスなく素早く設定できます。
よく使う設定をスクリプト化してリポジトリで管理
IPアドレスやVLAN IDなど環境依存部分を変数化
本番投入前に必ずラボ環境で動作確認を実施
TeraTermやPuTTYのマクロ機能を活用すると、ログイン後の定型作業を自動化できます。複数台のFortiGateに同じコマンドを順次実行する際に便利です。
CLIスクリプトを実行する際は、必ず設定のバックアップを取得してから作業してください。特にファイアウォールポリシーの削除や変更は、ネットワーク全体に影響を与える可能性があります。
最も効率的なのは、GUIで設定内容を視覚的に確認しながら、実際の設定変更はCLIで行うハイブリッド運用です。GUIで現状を把握し、CLIで素早く変更を加えるという使い分けが理想的です。
# ハイブリッド運用の例
# 1. GUIでポリシーIDを確認
# 2. CLIで該当ポリシーを編集
config firewall policy
edit 10
set srcaddr "Internal-Network" "Guest-Network"
set dstaddr "Internet"
set action accept
next
endFortiGateの運用ではCLIとGUIを適材適所で使い分けることが重要です。CLIはバックアップ、一括設定、自動化に強く、GUIはログ分析、ポリシー確認、初期設定に適しています。
- 定型作業はCLIスクリプトでテンプレート化し、作業時間を大幅に削減
- ログ分析やダッシュボード確認はGUIの視覚的な機能を活用
- 両方の操作に習熟することで、状況に応じた最適な方法を選択可能に


