FortiGate の CLI での設定保存方法と注意点

ファイアウォール(UTM)

FortiGate の CLI での設定変更と設定保存

  • FortiGate が持つコンフィグはただ一つ
    • 動作中のコンフィグと起動時に読み込まれるコンフィグは同一です
    • Cisco 機器の running/startup コンフィグのような区別はありません
  • 設定変更後の(Palo Alto のような)commit 操作は必要ない
    • 個別の config 階層ごとに設定変更後、即座に機器動作に反映されます
    • Palo Alto の candidate config のような保留中コンフィグは存在しません
  • 設定変更後は設定保存して階層を抜けるコマンドを実行することで変更を確定
    • 詳しくは下を確認してください

上記はデフォルト設定(自動保存モード自動)における動作です。自動保存モードワークスペースに変更すると、動作中のコンフィグ(メモリ上)を再起動後に読み込まれるコンフィグ(フラッシュ)に保存する操作が必要になります。

ただ、経験上 自動保存モードワークスペースに変更している事例を見たことはありません。

基本的には end まはた next を実行時点で設定が確定される

FortiGate においては基本的に end または next コマンドを実行した時点で設定が確定されます。

現在設定中の階層がどこなのかによって、どちらを使用するのかが変わってきます。

  • config 階層の設定値を確定する場合は end を使用する
  • edit 階層の設定値を確定する場合は next を使用する

end を使用する場合

FortiGate のコンフィグは基本的には以下のような構造になっています。

config 項目名
    set 項目名 設定値
    ...
end

あるコンフィグ内の set 項目の設定値を変更する場合、set <項目名> <値> のコマンドを実行した直後はまだ設定変更が確定されていません。 この後、end コマンドを実行すると設定変更が確定されると同時に、現在の config 階層から抜けることになります。

config 階層が多重になっているパターン

以下のように config 階層の中にさらに config 階層があるパターンもあります。

config 項目名
    set 項目名 設定値
    ...
    config 項目名
        set 項目名 設定値
            ...
    end
    ...
end

上のコンフィグにおいて、内側の config 内の set 項目の設定値を変えることを考えます。CLI で内側の config 階層まで移動した上で、set <項目名> <値> のコマンドを実行した後に end コマンドを実行すると、内側の config 階層内の set 項目に対する設定変更が確定され、内側の config 階層から抜けることになります(外側の config 階層に移動します)。この後、再度 end を実行すると、外側の config 階層を抜け、グローバル階層に戻ることになります。

next を使用する場合

以下のように、config 階層の中に edit 階層があるコンフィグもあります。

config 項目名
    edit "固有ID"
        set 項目名 設定値
        ...
    next
    ...
end

上の edit 階層内の set 項目の設定値を変えることを考えます。対象の edit 階層に移動した後、set <項目名> <値> のコマンドを実行した直後はまだ設定変更が確定されていません。 この後、next コマンドを実行すると設定変更が確定されると同時に、現在の edit 階層から抜けることになります(親である config 階層に移動します)。

edit 階層で end を使用する

edit 階層においても end コマンドを使用することは可能です。

edit 階層で end コマンドを実行した場合、edit 階層で行った設定変更、およびその親である config 階層で行った設定変更が確定された上で、親である config 階層から抜けるという動作になります。

設定変更の取り消しは abort

設定変更の取り消しを行う場合は abort コマンドを実行します。

  • config 階層で abort を使用した場合
    • 設定変更を取り消して config 階層から抜ける
  • edit 階層で abort を使用した場合
    • 設定変更を取り消して親である config 階層から抜ける

【注意】edit の削除は取り消し不可能

以下のようなコンフィグに対して、edit の削除を行うことを考えます。(ポリシーやオブジェクトなどの削除に該当します。)

config 項目名
    edit "固有ID"
        set 項目名 設定値
        ...
    next
    ...
end

edit の削除をする場合は、その親である config 階層内で delete <固有ID> コマンドで行いますが、これを実行した時点で edit の削除は即確定され、取り消すことができません。

edit の削除を行う際は十分に注意してください。

参考資料

Using configuration save mode | Administration Guide


タイトルとURLをコピーしました