【注意】FortiGate RAM 2GB以下の小型モデルで ver.7.4.4からProxy機能廃止、ver.7.6.0からSSL-VPN機能廃止 被害者が散見しています> Membership

FortiGate コンフィグの仕組みと CLI 設定変更ガイド

目次

本記事について

本記事では、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 でのコンフィグの表示コマンド

FortiGate のコンフィグは非常に長いため、シリアルコンソール接続でのコンフィグ表示は推奨していません。SSH 接続をして表示することをお勧めします。

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

階層を指定したコンフィグの表示

単にshowshow full-configurationを実行した場合コンフィグ全体が表示されますが、階層を指定してその階層のコンフィグのみを表示することができます。

コンフィグ表示コマンド(階層指定)
  • show <階層名>
    • 指定した階層のコンフィグを表示します。デフォルト値の項目は表示されません
  • show full-configuration <階層名>
    • 指定した階層のコンフィグをデフォルト値の項目も含めてすべて表示します

階層を指定するときは「config ●●●」のうち「config」を除いた部分を指定します。以下のような形です。

  • config system interfaceshow system interface
  • config firewall policyshow firewall policy
  • config router staticshow router static

CLI での設定変更手順

CLI で設定変更をする場合、以下のような手順になります。

config 階層内の set 項目を設定する場合

STEP
CLI にログイン

まずは FortiGate の CLI にログインします。

FortiGate-60F #
STEP
対象の階層に移動

設定対象の階層の名前を入力し、対象の階層に移動します。

FortiGate-60F # config system global

FortiGate-60F (global) #
STEP
設定対象の項目の値を設定

設定対象のset項目を設定するコマンドを入力します。

FortiGate-60F (global) # set hostname MyFortiGate-60F

FortiGate-60F (global) #
STEP
設定値の確認

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を実行すると、現在の階層のコンフィグのみを表示できます。

STEP
設定変更の確定

endを入力し、階層を抜けると同時に設定変更を確定します。

FortiGate-60F (global) # end

MyFortiGate-60F #

以上で設定変更は完了です。

設定変更のキャンセル

もし設定変更をキャンセルしたい場合は、endの代わりにabortと入力します。

FortiGate-60F (global) # abort

FortiGate-60F #

config 階層内の edit オブジェクト内の set 項目を設定する場合

STEP
CLI にログイン

まずは FortiGate の CLI にログインします。

FortiGate-60F #
STEP
対象の階層に移動

設定対象の階層の名前を入力し、対象の階層に移動します。

FortiGate-60F # config system interface

FortiGate-60F (interface) #
STEP
対象オブジェクトの階層に移動

edit <オブジェクトID>を入力し、対象オブジェクトの階層に移動します。

FortiGate-60F (interface) # edit internal1

FortiGate-60F (internal1) #
STEP
設定対象の項目の値を設定

設定対象のset項目を設定するコマンドを入力します。

FortiGate-60F (internal1) # set ip 10.20.30.100/24

FortiGate-60F (internal1) #
STEP
設定値の確認

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を実行すると、現在の階層のコンフィグのみを表示できます。

STEP
設定変更の確定

nextを入力し、階層を抜けると同時に設定変更を確定します。

FortiGate-60F (internal1) # next

FortiGate-60F (interface) #

next入力後は親のconfig階層に戻ります。

設定変更のキャンセル

もし設定変更をキャンセルしたい場合は、nextの代わりにabortと入力します。

FortiGate-60F (internal1) # abort

FortiGate-60F #
設定変更の確定と同時に config 階層も抜ける

nextの代わりにendと入力すると、設定変更を確定すると同時に親である config 階層から抜けることができます。

FortiGate-60F (internal1) # end

FortiGate-60F #
STEP
config 階層から抜ける

endを入力し、config 階層を抜けます。

FortiGate-60F (interface) # end

FortiGate-60F #

以上で設定変更は完了です。

設定値をデフォルトに戻す方法

set項目の設定値をデフォルト値に戻したい場合は対象の set 項目が含まれる階層に移動した状態で以下コマンドを実行します。

設定値をデフォルトに戻す
  • unset <項目名>
FortiGate-60F (internal1) # unset ip

FortiGate-60F (internal1) #

以上です。


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

Amazon アフィリエイトリンク

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

note メンバーシップへの参加もお待ちしています!

note(ノート)
陰の構築者たちのメンバーシップ|シェイド@陰の構築者 ネットワーク設計構築をする人に役立つメンバーシップです。 独自ブログ(https://shadowgarden.org/)にてネットワークエンジニア向け情報を発信しており、その活動を応援...

【アフィリエイト】おすすめ WordPress テーマ【SWELL

当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。

また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。

技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。

レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。

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

コメント

コメントする

目次