本記事について
本記事では、Fortinet 社のファイアウォール製品である FortiGate について、そのコンフィグの仕組み、コンフィグテキストの構造、CLI での設定変更手順について説明します。
FortiGate を初めて設定する人がスムーズに設定作業を実施できるようになることを目的としています。
対象環境
本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。
- FortiGate-60F
- バージョン 7.4.3
FortiGate の実行コンフィグと保存コンフィグは同一
FortiGate ではランニングコンフィグ、スタートアップコンフィグといった概念は存在しません。確定された設定変更は即座に保存され、かつ機器動作にも即時反映されます。
Cisco システムズ社のネットワーク機器など多くのネットワーク機器では、機器動作に影響する実行コンフィグ(ランニングコンフィグ)と保存コンフィグ(スタートアップコンフィグ)という概念がありますが、一方 FortiGate にはこのような仕組みはありません。
また例えば Palo Alto ネットワークス社のファイアウォール製品である PA シリーズでは編集中コンフィグ(candidate config)とコミット(設定変更の反映)という概念がありますが、FortiGate については(デフォルト設定では)このような仕組みではありません。
FortiGate でも設定変更することによりコンフィグ管理の仕組みを Palo Alto ファイアウォールのような動作に変更することができます。ただし、私の経験の中ではそのように設定変更していた案件は一件もありませんでした。
FortiGate のコンフィグ構造
まず、FortiGate のコンフィグは他メーカのネットワーク機器のコンフィグと比較して非常に行数が多いです。
例えば FortiGate 60F v7.4.3 のデフォルト状態のコンフィグは約1万行あります。デフォルト値も含めてすべて表示するフルコンフィグの場合は3万行を超えてきます。
とはいえ、構築時に考慮する項目は限られているので、どのようにコンフィグを見ていけばよいのかを理解してもらえればと思います。
CLI でのコンフィグの表示コマンド
CLI でコンフィグを表示したい場合は以下のコマンドを実行します。
show
- コンフィグ全体を表示します。デフォルト値の項目は表示されません
show full-configuration
- コンフィグ全体をデフォルト値の項目も含めてすべて表示します
FortiGate-60F # show
#config-version=FGT60F-7.4.3-FW-build2573-240201:opmode=1:vdom=0:user=admin
#conf_file_ver=327023104960855
#buildno=2573
#global_vdom=1
config system timezone "Africa/Windhoek"
end
config system timezone "Africa/Casablanca"
end
(以下略)
各階層は config で始まり end で終わる
FortiGate のコンフィグは階層構造となっています。
例えばグローバル設定階層のコンフィグは以下のようになっています。
config system global
set admintimeout 400
set alias "FortiGate-60F"
set gui-auto-upgrade-setup-warning disable
set hostname "FortiGate-60F"
set language japanese
set switch-controller enable
set timezone "Asia/Tokyo"
set virtual-switch-vlan enable
end
config system global
で始まりend
で終わっています。また、階層内に各設定項目が含まれています。
FortiGate のコンフィグにはこのような config ~ end の階層が以下のように並列して多数存在します。
config ...
set ...
...
end
config ...
set ...
...
end
...
個々の設定項目は set から始まる
以下のようにset
から始まる行は個別の設定項目を示しています。
set hostname "FortiGate-60F"
set
の後には項目名と設定値が続きます。
set <項目名> <設定値>
オブジェクト設定は edit で始まり next で終わる
config ~ end の階層の中にオブジェクト設定が含まれている場合があります。
例えばインターフェース設定の階層では、以下のように個別のインターフェースを示すオブジェクト設定が含まれています。edit
で始まりnext
で終わっていることがわかるかと思います。
config system interface
edit "wan1"
set vdom "root"
set mode dhcp
set allowaccess ping fgfm
set type physical
set role wan
set snmp-index 1
next
...
end
edit “wan1” ~ next の部分は wan1 インターフェースの設定内容を示しています。
ファイアウォールポリシー、アドレスオブジェクト、スタティックルート等もコンフィグ上では edit オブジェクトとして表現されます。
config ~ end 階層が多重になっている場合もある
以下のように config ~ end 階層の中にさらに config ~ end 階層が存在する場合があります。
config router multicast
set route-limit 2147483647
set multicast-routing disable
config pim-sm-global
set message-interval 60
set join-prune-holdtime 210
...
end
end
階層を指定したコンフィグの表示
単にshow
やshow full-configuration
を実行した場合コンフィグ全体が表示されますが、階層を指定してその階層のコンフィグのみを表示することができます。
show <階層名>
- 指定した階層のコンフィグを表示します。デフォルト値の項目は表示されません
show full-configuration <階層名>
- 指定した階層のコンフィグをデフォルト値の項目も含めてすべて表示します
階層を指定するときは「config ●●●」のうち「config」を除いた部分を指定します。以下のような形です。
config system interface
⇒show system interface
config firewall policy
⇒show firewall policy
config router static
⇒show router static
CLI での設定変更手順
CLI で設定変更をする場合、以下のような手順になります。
config 階層内の set 項目を設定する場合
まずは FortiGate の CLI にログインします。
FortiGate-60F #
設定対象の階層の名前を入力し、対象の階層に移動します。
FortiGate-60F # config system global
FortiGate-60F (global) #
設定対象のset
項目を設定するコマンドを入力します。
FortiGate-60F (global) # set hostname MyFortiGate-60F
FortiGate-60F (global) #
show
またはshow full-configuration
を実行し、想定通り設定変更できていることを確認します。
FortiGate-60F (global) # show
config system global
set admintimeout 400
set alias "FortiGate-60F"
set gui-auto-upgrade-setup-warning disable
set hostname "MyFortiGate-60F"
set language japanese
set switch-controller enable
set timezone "Asia/Tokyo"
set virtual-switch-vlan enable
end
FortiGate-60F (global) #
config 階層に移動している状態でshow
またはshow full-configuration
を実行すると、現在の階層のコンフィグのみを表示できます。
end
を入力し、階層を抜けると同時に設定変更を確定します。
FortiGate-60F (global) # end
MyFortiGate-60F #
以上で設定変更は完了です。
もし設定変更をキャンセルしたい場合は、end
の代わりにabort
と入力します。
FortiGate-60F (global) # abort
FortiGate-60F #
config 階層内の edit オブジェクト内の set 項目を設定する場合
まずは FortiGate の CLI にログインします。
FortiGate-60F #
設定対象の階層の名前を入力し、対象の階層に移動します。
FortiGate-60F # config system interface
FortiGate-60F (interface) #
edit <オブジェクトID>
を入力し、対象オブジェクトの階層に移動します。
FortiGate-60F (interface) # edit internal1
FortiGate-60F (internal1) #
設定対象のset
項目を設定するコマンドを入力します。
FortiGate-60F (internal1) # set ip 10.20.30.100/24
FortiGate-60F (internal1) #
show
またはshow full-configuration
を実行し、想定通り設定変更できていることを確認します。
FortiGate-60F (internal1) # show
config system interface
edit "internal1"
set vdom "root"
set ip 10.20.30.100 255.255.255.0
set type physical
set snmp-index 4
next
end
FortiGate-60F (internal1) #
edit 階層に移動している状態でshow
またはshow full-configuration
を実行すると、現在の階層のコンフィグのみを表示できます。
next
を入力し、階層を抜けると同時に設定変更を確定します。
FortiGate-60F (internal1) # next
FortiGate-60F (interface) #
next
入力後は親のconfig
階層に戻ります。
もし設定変更をキャンセルしたい場合は、next
の代わりにabort
と入力します。
FortiGate-60F (internal1) # abort
FortiGate-60F #
next
の代わりにend
と入力すると、設定変更を確定すると同時に親である config 階層から抜けることができます。
FortiGate-60F (internal1) # end
FortiGate-60F #
end
を入力し、config 階層を抜けます。
FortiGate-60F (interface) # end
FortiGate-60F #
以上で設定変更は完了です。
設定値をデフォルトに戻す方法
set
項目の設定値をデフォルト値に戻したい場合は対象の set 項目が含まれる階層に移動した状態で以下コマンドを実行します。
unset <項目名>
FortiGate-60F (internal1) # unset ip
FortiGate-60F (internal1) #
以上です。
【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです
- 基礎知識
- HA (冗長構成) 設定
- FortiGate HA モードの Active-Passive と Active-Active の違いを解説します
- FortiGate HA(冗長構成)の概要と設定ガイド【詳しく解説】※note記事
- FortiGate HA 構成時のコンフィグ同期の仕様について解説します
- FortiGate HA 構成時の NTP,Syslog,SNMP 等の送信元インターフェースを解説 [ha-direct 設定]
- FortiGate HA 構成時の仮想 MAC アドレスについて解説します
- FortiGate HA ハートビート送信間隔と障害判定しきい値の設定ガイド
- FortiGate HA 構成時のバックアップ及びリストア実施ガイド
- FortiGate HA 構成でのモニタインターフェースダウン時の通信断時間について解説
- FortiGate HA 構成に関するQ&A 【良くありそうな疑問集】
- VDOM (バーチャルドメイン) 設定
- トランスペアレントモード設定
- システム系設定
- 管理者アカウント設定
- 時刻・NTP 設定
- ロギング・Syslog 送信設定
- SNMP 設定
- DHCP サーバ機能設定
- Proxy サーバ機能設定
- アラートメール送信
- ネットワーク系設定
- インターフェース設定
- ルーティング設定
- DNS 設定
- NAT 及び NAPT 設定
- ファイアウォール系設定
- アドレス設定
- サービス設定
- ファイアウォールポリシー設定
- ゾーンを使用したポリシー設定
- VPN 系設定
- Tips
Amazon アフィリエイトリンク
以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。
note メンバーシップへの参加もお待ちしています!
【アフィリエイト】おすすめ WordPress テーマ【SWELL】
当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。
また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。
技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。
レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。
コメント