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
の削除を行う際は十分に注意してください。