非対称ルーティング(Asymmetric Routing)とは、通信の送信経路と受信経路が異なる状態を指します。
例として、クライアントからサーバーへのリクエストはFortiGateを経由するが、サーバーからクライアントへのレスポンスが別のルーターを通る場合です。
このような経路の不一致は、ステートフルファイアウォールであるFortiGateのセッション管理と矛盾を生じさせる要因になります。
FortiGateはすべての通信をセッションとして記録・追跡し、以下の情報を保持します。
非対称ルーティングが発生すると、戻りパケットがFortiGateを通らずセッションテーブルと一致しないため、パケットが破棄され、通信断や不安定さが発生します。
特に複数出口を持つ設計では、意図せず非対称ルートが生じやすくなります。
最も推奨されるのは、SNAT(送信元NAT)やポリシーベースルーティング(PBR)を用いて行きと戻りの経路を揃えることです。
また、SD-WAN機能を利用すると、複数回線環境でも経路の一貫性を保ちやすくなります。
asymroute オプションの利用どうしても非対称を避けられない場合、CLIで以下を有効化します。
config system settings
set asymroute enable
set asymroute-icmp enable
end
asymroute enable:非対称ルートを許容asymroute-icmp enable:ICMPの非対称ルートを許容注意
TCP/UDP用のasymroute-tcp/udpは存在しません。TCPに関しては別オプションtcp-session-without-synにより例外的に対応可能ですが、セキュリティ低下を招くため常用は推奨されません。
FortiGateにはAuxiliary Session(補助セッション)機能があり、SD-WANやADVPN環境で戻り経路が異なる場合でもセッションを維持しやすくなります。
asymroute より副作用が少ないため、検討価値が高い方法です。
FortiOS 6.4.8以降のHyperscale Firewall VDOMでは、非対称ルーティング処理が改善され、asymroute を明示的に有効化しなくても動作するケースがあります。
装置とVDOM種別により挙動が異なる点に注意してください。
asymroute は「不要なら禁止」と明記されていますasymroute を利用し、ICMPや特殊なケースで補完。以上、FortiGateの非対称ルーティングについてでした。
最後までお読みいただき、ありがとうございました。