FortiGateでスタティックルートをCLIから追加するとき、特に注意したいのがeditに指定するシーケンス番号です。既存の番号を指定すると、新規作成ではなく、その経路を編集してしまいます。
この記事では、FortiGate 60F / FortiOS 7.4.9を使い、既存ルートを上書きせずにスタティックルートを追加し、設定・ルーティングテーブル・ゲートウェイ疎通を確認してから削除するところまで実機で検証します。
対象読者:中小規模ネットワークを担当し、FortiGateの経路をCLIで安全に追加・確認・切り戻したい初級〜中級エンジニア。
今回の検証環境と設定値
| 項目 | 検証値 |
|---|---|
| 機種 | FortiGate 60F |
| FortiOS | 7.4.9 |
| 宛先ネットワーク | 198.51.100.0/24 |
| ネクストホップ | 192.168.10.1 |
| 送出インターフェース | wan1 |
| VDOM | root(VRF 0) |
198.51.100.0/24は文書・検証用に予約されたネットワークです。実環境で作業するときは、設計書に記載された宛先、ネクストホップ、インターフェースへ置き換えてください。例の値をそのまま本番環境へ入力してはいけません。
設定前にバックアップと既存ルートを確認する
経路変更は通信断につながるため、最初にFortiGateのコンフィグをバックアップします。そのうえで、現在のスタティックルートと有効なルーティングテーブルを確認します。
show router static
get router info routing-table all
今回の実機では、シーケンス番号1がデフォルトルートとして使用されていました。
config router static
edit 1
set gateway 192.168.10.1
set device "wan1"
next
end
この状態でedit 1を実行すると、新規ルートの追加ではなく、既存のデフォルトルートを編集します。宛先やゲートウェイを書き換えれば、インターネット接続を失う可能性があります。
CLIでスタティックルートを追加する
新規作成ではedit 0を使います。FortiOSはエントリ保存時に、次の未使用番号を自動で割り当てます。
config router static
edit 0
set dst 198.51.100.0 255.255.255.0
set gateway 192.168.10.1
set device "wan1"
set comment "temporary-test-route-20260729"
next
end
set dst:宛先ネットワークとサブネットマスクset gateway:次に転送する隣接ルーターのIPアドレスset device:ゲートウェイへ到達する送出インターフェースset comment:経路の目的が分かる説明
nextで現在のテーブルエントリを保存し、endでconfig router staticを終了します。Cisco IOSのwrite memoryと同じ操作ではありません。
実機ではedit 0で作成したエントリが、保存後に未使用だったedit 2へ自動採番されました。

割り当てられる番号は環境によって異なります。以後の確認・削除では「2」と決めつけず、必ず自分の機器の出力を使用してください。
追加した設定と有効な経路を確認する
コンフィグ上のシーケンス番号を確認
show router static
宛先、ゲートウェイ、インターフェース、コメントが意図どおりか確認し、追加されたシーケンス番号を記録します。
ルーティングテーブルへの反映を確認
show router staticは設定内容の確認です。実際に経路として採用されたかは、宛先IPを指定してルーティングテーブルを確認します。
get router info routing-table details 198.51.100.1
今回の実機では、198.51.100.0/24がdistance 10のスタティックルートとして採用され、ネクストホップ192.168.10.1、インターフェースwan1が表示されました。

ゲートウェイと宛先の疎通を分けて確認
execute ping 192.168.10.1
execute ping 198.51.100.1
ゲートウェイへのpingが成功すれば、FortiGateからネクストホップまでの到達性は確認できます。しかし、ルーティングテーブルに経路が載り、ゲートウェイへ到達できても、宛先ホストへの通信が成功するとは限りません。

ルートがあるのに通信できない場合の確認項目
- 戻り経路:対向ルーターにFortiGate配下への戻りルートがあるか
- ファイアウォールポリシー:送信元・宛先・サービス・受信/送信インターフェースが一致しているか
- 宛先ホスト:ホストが起動し、ICMPや対象サービスを許可しているか
- distanceとpriority:同一宛先の別経路が優先されていないか
- VDOM:対象インターフェースと経路を持つVDOMでコマンドを実行しているか
- SD-WAN:対象インターフェースがSD-WAN配下の場合、ゾーンやルールとの整合が取れているか
経路が正しくても、通信を許可するポリシーがなければ通過しません。ポリシー側はFortiGateのファイアウォールポリシー管理手順も確認してください。
追加したスタティックルートを削除する
削除前にもう一度show router staticを実行し、宛先・ゲートウェイ・コメントから対象のシーケンス番号を確認します。今回削除するのは、検証で作成されたedit 2です。
config router static
delete 2
end
delete 1のように、確認せず固定番号を指定してはいけません。番号を誤ると、別の業務用経路やデフォルトルートを削除する可能性があります。
削除後は、次の2つを再実行します。
show router static
get router info routing-table all
対象エントリがコンフィグとルーティングテーブルの両方から消え、既存のデフォルトルートが残っていることを確認して切り戻し完了です。
GUIで設定したい場合
CLI操作に慣れていない場合は、先にFortiGateのスタティックルートをGUIで設定する手順で、宛先・ゲートウェイ・インターフェースの関係を確認してください。
まとめ
- 新規エントリは
edit 0で作成し、保存後に自動採番された番号を確認する show router staticだけでなく、ルーティングテーブルへの反映も確認する- ゲートウェイ到達と宛先通信を分けて確認する
- 削除時は宛先・ゲートウェイ・コメントから対象番号を再確認する
- 戻り経路とファイアウォールポリシーもセットで確認する
本番ネットワークでの経路変更前確認や、経路は載っているのに通信できない場合の切り分けで迷った場合は、問い合わせページから相談できます。
公式資料:FortiOS 7.4.9 config router static、FortiOS CLI subcommands、Verifying routing table contents in NAT mode