この章では、Catalyst 3750スイッチでHot Standby Router Protocol(HSRP)を使用する方法について説明します。HSRPは、IPトラフィック ルーティングに冗長性を提供し、1台のルータのアベイラビリティに依存しないルーティングを実現します。特に明記しないかぎり、 スイッチ という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。
HSRPの概要
HSRPは、デフォルト ゲートウェイIPアドレスが設定されたIEEE(米国電気電子学会)802 LAN上のIPホスト ファースト ホップに冗長性を確保しネットワークのアベイラビリティを高めるシスコの標準方式です。HSRPを使用すると、特定のルータのアベイラビリティに依存せずIPトラフィックをルーティングすることができます。また、一連のルータ インターフェイスを組み合わせることで、1台の仮想ルータ、またはLAN上のホストへのデフォルト ゲートウェイのように機能させることができます。ネットワークまたはセグメント上にHSRPを設定すると、仮想MAC(メディア アクセス制御)アドレス、および設定されたルータ グループ間で共有されるIPアドレスを使用できるようになりHSRPが設定された複数のルータは、仮想ルータのMACアドレスおよびIPネットワーク アドレスを使用できるようになります。仮想ルータは、実際には存在しません。相互にバックアップ機能を提供するように設定されている複数のルータに、共通のターゲットを表すルータです。1台のルータがアクティブなルータとして、もう1台のルータがスタンバイ ルータとして選択されます。スタンバイ ルータは、指定されたアクティブ ルータが故障した場合に、グループのMACアドレスおよびIPアドレスを制御するルータです。
HSRPは、ネットワーク上のホストからのIPトラフィックに冗長性を提供することで、ネットワークのアベイラビリティを高めます。アクティブ ルータは、ルータ インターフェイスのグループ内でパケットのルーティングを実行するために選択されたルータです。スタンバイ ルータは、アクティブ ルータが故障した場合、または設定条件が満たされた場合に、ルーティング作業を引き継ぐルータです。
HSRPは、ホストがルータ ディスカバリ プロトコルをサポートしておらず、選択されたルータのリロードや電源故障時に新しいルータに切り替えることができない場合に有効です。HSRPをネットワーク セグメントに設定すると、HSRPは仮想MACアドレスとIPアドレスを1つずつ提供します。このアドレスは、HSRPが動作するルータ インターフェイス グループ内のルータ インターフェイス間で共有できます。プロトコルによってアクティブ ルータとして選択されたルータは、グループのMACアドレス宛のパケットを受信し、ルーティングします。 n 台のルータでHSRPが稼働している場合、 n +1 個のIPアドレスおよびMACアドレスが割り当てられます。
指定されたアクティブ ルータの故障をHSRPが検出すると、選択されているスタンバイ ルータがホット スタンバイ グループのMACアドレスおよびIPアドレスの制御を引き継ぎます。この時点で新しいスタンバイ ルータも選択されます。HSRPが稼働しているデバイスは、マルチキャストUDPベースのhelloパケットを送受信することにより、ルータ障害の検出、アクティブ ルータおよびスタンバイ ルータの指定を行います。インターフェイスにHSRPが設定されている場合、そのインターフェイスではInternet Control Message Protocol(ICMP)のリダイレクト メッセージがデフォルトでディセーブルとなっています。
レイヤ3で動作するCatalyst 3750スイッチおよびスイッチ スタック間で複数のホット スタンバイ グループを設定すると、冗長ルータをさらに活用できます。そのためには、インターフェイスに設定するホット スタンバイ コマンド グループごとにグループ番号を指定します。たとえば、スイッチ1のインターフェイスをアクティブ ルータ、スイッチ2のインターフェイスをスタンバイ ルータとして設定できます。また、スイッチ2の別のインターフェイスをアクティブ ルータ、スイッチ1の別のインターフェイスをスタンバイ ルータとして設定することもできます。
HSRPの一般的な構成 に、HSRP用に設定されたネットワークのセグメントを示します。各ルータには、仮想ルータのMACアドレスおよびIPネットワーク アドレスが設定されています。ルータAのIPアドレスをネットワーク上のホストに設定する代わりに、デフォルト ルータである仮想ルータのIPアドレスを設定します。ホストCからホストBにパケットが送信される場合、ホストCは仮想ルータのMACアドレスにパケットを送信します。何らかの理由により、ルータAがパケットの伝送を停止すると、ルータBが仮想IPアドレスおよび仮想MACアドレスに応答してアクティブ ルータとなり、アクティブ ルータの作業を行います。ホストCは引き続き仮想ルータのIPアドレスを使用し、ホストB宛のパケットをアドレッシングします。ルータBはそのパケットを受信し、ホストBに送信します。ルータBはHSRPの機能を使用し、ルータAが動作を再開するまで、ホストBのセグメント上のユーザと通信する必要があるホストCのセグメント上のユーザに連続的にサービスを提供します。また、ホストAセグメントとホストBの間で、引き続き通常のパケット処理機能を実行します。
HSRPおよびスイッチ スタック
HSRPのhelloメッセージは、スタック マスターで生成されます。HSRPがアクティブであるスタック マスターに障害が発生すると、HSRPアクティブ ステートのフラッピングが生じることがあります。これは、新規スタック マスターの選択および初期化されている間にHSRP helloメッセージが生成されず、スタック マスターが故障したあとでないとスタンバイ ルータがアクティブにならない可能性があるためです。
HSRP設定時の注意事項
- HSRPは最大32個のVLANまたはルーティング インターフェイスに設定できます。
- 以下の手順では、次に示すレイヤ3インターフェイスの1つを指定する必要があります。
- ルーテッド ポート: no switchport インターフェイス コンフィギュレーション コマンドを入力して、レイヤ3ポートとして設定された物理ポートです。
- SVI: interface vlan vlan_id グローバル コンフィギュレーション コマンドによって作成されたVLAN(仮想LAN)インターフェイスです。デフォルトではレイヤ3インターフェイスです。
- レイヤ3モードのEtherChannelポート チャネル: interface port-channel port- channel-numberグローバル コンフィギュレーション コマンドを使用し、イーサネット インターフェイスをチャネル グループにバインドして作成されたポート チャネル論理インターフェイスです。詳細については、 レイヤ3 EtherChannelの設定 を参照してください。
- すべてのレイヤ3インターフェイスにIPアドレスを割り当てる必要があります。 レイヤ3インターフェイスの設定 を参照してください。
HSRPのイネーブル化
standby ip インターフェイス コンフィギュレーション コマンドを実行すると、設定されたインターフェイスでHSRPがアクティブになります。IPアドレスを指定した場合は、IPアドレスがホット スタンバイ グループの指定アドレスとして使用されます。IPアドレスを指定しなかった場合は、スタンバイ機能によって学習されます。指定アドレスを使用し、ケーブル上に少なくとも1つのルーティング ポートを設定する必要があります。IPアドレスを設定すると、常に、現在使用されている別の指定アドレスが、設定したIPアドレスに変更されます。
standby ip コマンドがインターフェイス上でイネーブルに設定され、プロキシAddress Resolution Protocol(ARP)がイネーブルの場合、インターフェイスのホット スタンバイ ステートがアクティブになると、プロキシARP要求に対する応答は、ホット スタンバイ グループのMACアドレスを使用して実行されます。インターフェイスが別のステートの場合、プロキシARPの応答は抑制されます。
レイヤ3インターフェイス上でHSRPを作成する場合、またはイネーブルにする場合は、イネーブルEXECモードで次の手順を実行します。
HSRPをディセーブルにするには、 no standby [ group-number ] ip [ ip-address ]インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートのグループ1でHSRPをアクティブにする例を示します。ホットスタンバイ グループで使用されるIPアドレスは、HSRPを使用して学習されます。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 ip
HSRPグループ属性の設定
前述の設定だけでHSRPを実行することはできますが、認証、プライオリティ、プリエンプトおよびプリエンプト遅延、タイマー、MACアドレスなど、HSRPグループの属性を設定することもできます。
HSRPのプライオリティの設定
standby priority 、 standby preempt 、および standby track インターフェイス コンフィギュレーション コマンドはいずれも、アクティブ ルータとスタンバイ ルータの特性、および新しいアクティブ ルータが処理を引き継いだ場合の動作を設定するために使用できます。プライオリティを設定する場合の注意事項は、次のとおりです。
- プライオリティを割り当てておくと、アクティブおよびスタンバイ ルータを選択するときに役立ちます。プリエンプトがイネーブルの場合は、プライオリティが最高のルータが指定アクティブ ルータになります。プライオリティが等しい場合は、プライマリIPアドレスが比較されます。IPアドレスが大きいルータが優先されます。
- 最大の値(1〜255)が、最高のプライオリティ(アクティブ ルータになる確率が最も高い)を表します。
- プライオリティ、プリエンプト、またはその両方を設定するときは、少なくとも1つのキーワード( priority 、 preempt 、または両方)を指定する必要があります。
- インターフェイスが standby track コマンドによって設定されている場合、ルータ上の別のインターフェイスがダウンすると、デバイスのプライオリティが動的に変更されることもあります。
- standby track インターフェイス コンフィギュレーション コマンドを実行すると、ルータのホット スタンバイ プライオリティとインターフェイスのアベイラビリティが関連付けられます。この機能は、HSRP用に設定されていないインターフェイスを追跡する場合に有効です。追跡対象のインターフェイスが故障すると、追跡が設定されていたデバイスのホット スタンバイ プライオリティが10減少します。追跡対象でないインターフェイスの場合は、そのステートが変わっても、設定済みデバイスのホット スタンバイ プライオリティは変わりません。ホット スタンバイ用に設定されたインターフェイスごとに、追跡するインターフェイスのリストを個別に設定できます。
- standby track interface-priority インターフェイス コンフィギュレーション コマンドを実行すると、追跡対象のインターフェイスがダウンした場合のホット スタンバイ プライオリティの減少幅を指定できます。インターフェイスが稼働状態に戻ると、プライオリティは同じ分だけ増加します。
- interface-priority 値が設定されている場合に、複数の追跡対象インターフェイスがダウンすると、設定済みプライオリティの減少幅が累積されます。プライオリティ値が設定されていない追跡対象インターフェイスが故障した場合、デフォルトの減少幅は10です。この値は累積されません。
- インターフェイスに対してルーティングを最初にイネーブルにした時点で、完全なルーティング テーブルは存在しません。このインターフェイスがプリエンプトに設定されている場合はアクティブ ルータになりますが、十分なルーティング処理はできません。この問題を解決するには、ルータがルーティング テーブルを更新できるように遅延時間を設定します。
デフォルトのプライオリティ、プリエンプト、遅延値に戻すには、 no standby [ group-number ] priority priority [ preempt [ delay delay ]]および no standby [ group-number ] [ priority priority ] preempt [ delay delay ]インターフェイス コンフィギュレーション コマンドを使用します。
追跡を解除するには、 no standby [ group-number ] track type number [ interface-priority ]インターフェイス コンフィギュレーション コマンドを使用します。
次の例では、ポートがアクティブになり、IPアドレスおよびプライオリティ120(デフォルト値よりも高いプライオリティ)が設定されます。アクティブ ルータになるまでの待機時間は300秒(5分間)です。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# no switchport
Switch(config-if)# standby ip 172.19.108.254
Switch(config-if)# standby priority 120 preempt delay 300
HSRP認証およびタイマーの設定
HSRP認証ストリングを設定したり、hello時間インターバルやホールドタイムを変更することもできます。
- 認証ストリングはすべてのHSRPメッセージに暗号化されずに送信されます。相互運用できるように、接続されたすべてのルータおよびアクセス サーバに同じ認証ストリングを設定する必要があります。認証ストリングが一致しないと、HSRPによって設定された他のルータから、指定されたホット スタンバイIPアドレスおよびタイマー値を取得できません。
- スタンバイ タイマー値が設定されていないルータまたはアクセス サーバは、アクティブ ルータまたはスタンバイ ルータからタイマー値を取得できます。アクティブ ルータに設定されたタイマーは、常に他のタイマー設定よりも優先されます。
- ホット スタンバイ グループのすべてのルータで、同じタイマー値を使用する必要があります。通常の場合、 holdtime は hellotime の3倍以上です。
|
(任意) authentication string ― すべてのHSRPメッセージで伝達されるストリングを入力します。認証ストリングには8文字までを指定できます。デフォルト ストリングは cisco です。 |
||
認証ストリングを削除するには、 no standby [ group-number ] authentication string インターフェイス コンフィギュレーション コマンドを使用します。タイマーをデフォルト値に戻すには、 no sta ndby [ group-number ] timers hellotime holdtime インターフェイス コンフィギュレーション コマンドを使用します。
次に、グループ1のホット スタンバイ ルータを相互動作させるために必要な認証ストリングとして、 word を設定する例を示します。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 authentication word
次に、helloパケット間隔が5秒、ルータがダウンしたとみなされるまでの時間が15秒となるように、スタンバイ グループ1のタイマーを設定する例を示します。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 ip
Switch(config-if)# standby 1 timers 5 15
HSRPグループおよびクラスタリングの設定
デバイスがHSRPスタンバイ ルーティングに参加し、クラスタリングがイネーブルの場合は、同じスタンバイ グループを使用して、コマンド スイッチの冗長性およびHSRPの冗長性を確保することができます。同じHSRPスタンバイ グループをイネーブルにし、コマンド スイッチおよびルーティングの冗長性を確保するには、 cluster standby-group HSRP-group-name [ routing-redundancy ]グローバル コンフィギュレーション コマンドを使用します。 routing-redundancy キーワードを指定せずに同じHSRPスタンバイ グループ名でクラスタを作成すると、そのグループに対するHSRPスタンバイ ルーティングはディセーブルになります。
次に、スタンバイ グループmy_hsrpをクラスタにバインドし、同じHSRPグループをイネーブルにしてコマンド スイッチおよびルータの冗長性を確保する例を示します。このコマンドを実行できるのは、コマンド スイッチに対してのみです。スタンバイ グループの名前または番号が存在しない場合、またはスイッチがクラスタ メンバーである場合は、エラー メッセージが表示されます。
Switch(config)# cluster standby-group my_hsrp routing-redundancy
HSRP設定の表示
HSRP設定を表示するには、次のイネーブルEXECコマンドを使用します。
show standby [ interface-id [ group ]] [ brief ] [ detail ]
スイッチ全体、特定のインターフェイス、HSRPグループ、またはインターフェイスのHSRPグループに関するHSRP情報を表示できます。HSRP情報の概要または詳細のいずれを表示するかを指定することもできます。デフォルト表示は detail です。多数のHSRPグループがある場合に、修飾子を指定しないで show standby コマンドを使用すると、正確に表示されないことがあります。
次に、 show standby イネーブルEXECコマンドを実行し、2つのスタンバイ グループ(グループ1およびグループ100)のHSRP情報を表示する例を示します。
Local state is Standby, priority 105, may preempt
Next hello sent in 00:00:02.182
Hot standby IP address is 10.0.0.1 configured
Active router is 172.20.138.35 expires in 00:00:09
Standby virtual mac address is 0000.0c07.ac01
Local state is Active, priority 105, may preempt
Next hello sent in 00:00:02.262
Hot standby IP address is 172.20.138.51 configured
Standby router is unknown expired
