HSRP 基礎編:(15) HSRP とICMP リダイレクト

HSRP を使っているインターフェイスでICMPリダイレクトを有効にすると、バーチャル・ルーターによる冗長構成が活かされない状況が発生することがあります。そのため、HSRP を設定したインターフェイスでは、ICMP リダイレクトが自動的に無効となります。

a

下図では、Router-A がアクティブ・ルーターとなっています。同時に、192.168.2.0/24 へ到達する経路のコストを増加させています。
そのため、Router-A のルーティングテーブル上で、192.168.2.0/24(図の右側にあるサーバー)へ到達するためのネクスト・ホップは192.168.1.200(Router-B のインターフェイスe0/0)となっています。

hsrp-a15-1.png

左側の端末が、サーバー宛のパケットをアクティブ・ルーター(Router-A)へ送ると、Router-A は192.168.1.200(Router-B)へ中継します。
このように、Router-B がActive Router であっても、150.0.0.0 宛のパケットはすべて、Router-A を介して転送されます。

この状況は「HSRPを究める:基礎編(12) HSRP ルーターのインターフェイス・トラッキング」と同じで、ルーター1台分の余分なホップが存在しますが、アクティブ・ルーターがRouter-B に切り替わっても通信は継続できるので、HSRP の動作に問題はありません。

次に、Router-A のインターフェイスe0/0 でICMP リダイレクトが有効であったらどうなるかを見てみます。

hsrp-a15-2.png

192.168.2.0/24 宛のパケットを受け取ると、Router-A は192.168.1.200(Router-B)をゲートウェイとするICMP リダイレクトを送信元(端末)に送り返します。

ICMP リダイレクトを受け取った端末は、自身のルーティングテーブルに192.168.2.0/24 宛のネクスト・ホップを192.168.1.200 とするエントリーを作成します。以後の192.168.2.0/24 宛のパケットはすべてRouter-B に直接送られます。

ここまではすべて上手くいっているように見えますが、この後Router-B がなんらかの理由でネクスト・ホップとして使用できなくなると、この端末が192.168.2.0/24 宛にパケットを送る手段はなくなります。

HSRP を使ってゲートウェイを冗長化しているにもかかわらず、一台のルータが使用不可となったために通信できない状況が発生するわけです。

そのような状況を回避するため、Cisco のIOS では、HSRP の設定をしたインターフェイスではICMP リダイレクトが自動的に無効となります。

このような弊害を理解した上で、意図的にICMP リダイレクトを有効にすることは可能です。

Router(config-if)#ip redirects
% Warning: the combination of ICMP redirects and HSRP on the same
% interface may result in lost packets.
Router(config-if)#

警告メッセージは出力されますが、ICMP リダイレクトは有効になります。