FortiGateのポリシールーティング設定手順|特定通信の経路制御を実現

FortiGateのポリシールーティング(PBR:Policy Based Routing)は、通常のルーティングテーブルとは異なる経路制御を実現する重要な機能です。特定の送信元や宛先に応じて柔軟にトラフィックの経路を変更できるため、複数回線の使い分けやVPN通信の優先制御など、実務では欠かせない設定となっています。

👷 現場での体験談

ある企業で「経理部だけインターネット接続を専用回線経由にしたい」という要件がありました。通常のスタティックルートでは全社一律の経路になってしまうため、ポリシールーティングで送信元IPアドレスに基づく経路制御を実装しました。

設定後、diagnoseコマンドで経路が正しく分岐していることを確認し、セキュリティ要件を満たすことができました。

ポリシールーティング(PBR)とは

ポリシールーティングは、宛先IPアドレスだけでなく、送信元IPアドレス、ポート番号、プロトコルなど、複数の条件に基づいて経路を決定する仕組みです。通常のルーティングテーブルよりも優先的に評価されるため、柔軟な経路制御が可能になります。

スタティックルートとの主な違い

以下の表でスタティックルートとポリシールーティングの違いを比較します。

項目スタティックルートポリシールーティング
判断基準宛先IPアドレスのみ送信元、宛先、サービス等
優先度ルーティングテーブル参照ルーティングテーブルより優先
柔軟性低い(全トラフィック一律)高い(条件による分岐可能)
設定場所Router > Static RoutePolicy & Objects > Policy Route

図1: ポリシールーティングの適用率(実務での利用シーン別)

部署別回線分岐
65%
VPN優先制御
55%
冗長回線制御
48%
特定サービス分離
32%
実務での利用シーン
特定部署の通信を別回線経由にする

最も典型的な利用例は、送信元IPアドレスに基づいた回線の振り分けです。例えば、経理部門(192.168.10.0/24)のインターネット通信だけを専用回線経由にし、他部署は通常回線を使用するといった設定が可能です。

VPN通信の優先制御

IPsec VPNやSSL VPN宛のトラフィックを特定のゲートウェイ経由にすることで、通信の安定性を確保します。特に複数拠点間のVPN環境では、ポリシールーティングによる明示的な経路指定が有効です。

サービス別の経路分離

HTTPSトラフィックとその他のプロトコルで異なる経路を使用したり、特定の宛先ポート(例:TCP 3389のRDP通信)だけを管理用回線経由にするといった制御も実現できます。

FortiGateでのポリシールーティング設定手順

ここでは、経理部門(192.168.10.0/24)のトラフィックを専用回線(wan2)経由にする設定例を紹介します。

GUIでの設定手順
1
ポリシールート設定画面へ移動

「Policy & Objects」→「Policy Route」を選択し、「Create New」をクリックします。

2
基本設定の入力

Incoming Interface: internal、Source Address: 192.168.10.0/24、Destination Address: all、Outgoing Interface: wan2を設定します。

3
ゲートウェイの指定

Gateway Address欄にwan2のゲートウェイIP(例:203.0.113.1)を入力します。

4
優先度の設定と保存

Sequence Number(優先度)を設定し、「OK」をクリックして保存します。数値が小さいほど優先度が高くなります。

CLIでの設定例

CLIでの設定は以下のように行います。よりきめ細かな制御が可能です。

config router policy
    edit 1
        set input-device "internal"
        set src "192.168.10.0/255.255.255.0"
        set dst "0.0.0.0/0.0.0.0"
        set gateway 203.0.113.1
        set output-device "wan2"
    next
end
⚠ 注意

ポリシールーティングを設定する前に、必ずファイアウォールポリシーで該当トラフィックの通信が許可されていることを確認してください。ポリシールートだけでは通信は許可されません。

動作確認とトラブルシューティング
ポリシールートの確認コマンド

設定したポリシールーティングが正しく動作しているか確認するには、以下のdiagnoseコマンドを使用します。

# ポリシールートの一覧表示
get router info routing-table policy

# 特定IPアドレスの経路確認
get router info routing-table details 8.8.8.8

# ポリシールートのマッチング確認
diagnose firewall proute list
リアルタイムデバッグ

パケットがポリシールートにマッチしているかリアルタイムで確認するには、以下のコマンドを実行します。

diagnose debug flow filter saddr 192.168.10.10
diagnose debug flow show function-name enable
diagnose debug flow trace start 10
diagnose debug enable

出力結果に「matched policy route」と表示されれば、ポリシールーティングが正常に適用されています。

よくあるトラブルと解決方法をまとめます。

症状原因解決策
経路が切り替わらないファイアウォールポリシー未設定該当インターフェースの通信許可ポリシー追加
一部通信のみ失敗ゲートウェイアドレス誤り正しいゲートウェイIPを再設定
優先度が効かないSequence Numberの設定ミス小さい番号を優先ルールに設定
戻りパケット喪失非対称ルーティング発生asymmetric routing許可設定
優先度とルーティングテーブルの関係性

FortiGateにおける経路決定は以下の優先順位で行われます。理解しておくことでトラブルシューティングが容易になります。

図2: FortiGateの経路決定優先順位

ポリシールート
最優先
PBR SD-WAN
2番目
スタティックルート
3番目
ダイナミックルート
最後
Sequence Numberの重要性

複数のポリシールートを設定する場合、Sequence Number(優先度番号)が小さいものから順に評価されます。例えば、Sequence 5のルールがマッチすれば、Sequence 10以降は評価されません。

より具体的な条件(特定の送信元+宛先)には小さい番号を、広範な条件(全送信元)には大きい番号を割り当てることで、意図した経路制御を実現できます。

# 優先度の確認
config router policy
    show
end

# 優先度の変更(edit番号を変更)
config router policy
    move 5 before 3
end
まとめ

FortiGateのポリシールーティングは、送信元やサービスに基づく柔軟な経路制御を実現する強力な機能です。スタティックルートでは不可能な細かい制御が可能になり、複数回線の効率的な運用やセキュリティ要件の実現に役立ちます。

  • ポリシールートは通常のルーティングテーブルより優先される
  • GUI/CLI両方で設定可能だが、diagnoseコマンドでの確認が重要
  • Sequence Numberで評価順序を制御し、ファイアウォールポリシーとの組み合わせで完全な制御を実現