パケットの送信元に適切なルーティング経路を通知するICMP Redirectの動きについて記載します。
下記のネットワーク構成を考えます。異なるセグメント間をルータを挟んでPing疎通します。(Mac→Ubuntu)
1回目 ICMP echo request
Mac端末のデフォルトゲートウェイはYamahaルータになっています。
Yamahaルータには192.168.8.0/24へのStatic routeを設定しています
1回目 ICMP echo reply
行きと帰りで異経路になります。
2回目 ICMP echo request / ICMP Redirect
Yamahaルータは適切なネクストホップであるCiscoルータのIPを通知します。
3回目 ICMP echo request
適したルートがMac端末に追加されて、直接Ciscoルータへパケットを送ります。
これにより非対称ルーティングが解消されます。
Fortigateの非対称ルーティング拒否設定
Fortigateのデフォルト設定では、非対称ルーティングにより行きまたは帰りのパケットのどちらかがFortigateを通らない場合にブロックします(set asymroute disable)。今回のようにICMP Redirectでルートの矯正が行われる場合はFortigateがブロックすることはありませんが、そうならない場合はブロックされることになります。通信できない際に切り分けした結果、この機能が原因の場合があるようです。
FGT60C3G12028266 (vdom) # edit root
current vf=root:0
FGT60C3G12028266 (root) #
FGT60C3G12028266 (root) # config system settings
FGT60C3G12028266 (settings) #
FGT60C3G12028266 (settings) # show
config system settings
set opmode transparent
set manageip 192.168.9.7/255.255.255.0
end
FGT60C3G12028266 (settings) #
FGT60C3G12028266 (settings) #
FGT60C3G12028266 (settings) # set asymroute
enable Enable asymmetric route.
disable Disable asymmetric route.
FGT60C3G12028266 (settings) #
|
|
|
|
|
|
|
|
|
|
|