この章では、Catalyst 3550でHot Standby Router Protocol(HSRP)を使用する方法について説明します。HSRPは、IPトラフィック ルーティングに冗長性を提供し、1台のルータのアベイラビリティに依存しないルーティングを実現します。
HSRPの概要
HSRPは、デフォルト ゲートウェイIPアドレスが設定されたIEEE(米国電気電子学会)802 LAN上のInternet Protocol(IP)ホスト ファースト ホップに冗長性を確保しネットワークのアベイラビリティを高めるシスコの標準方式です。HSRPを使用すると、特定のルータのアベイラビリティに依存せずIPトラフィックをルーティングできます。また、一連のルータ インターフェイスを組み合わせることで、1台の仮想ルータ、またはLAN上のホストへのデフォルト ゲートウェイのように機能させることができます。ネットワークまたはセグメント上にHSRPを設定すると、仮想Media Access Control(MAC;メディア アクセス制御)アドレス、および設定されたルータ グループ間で共有されるIPアドレスを使用できるようになります。HSRPが設定された複数のルータは、仮想ルータのMACアドレスおよびIPネットワーク アドレスを使用できるようになります。仮想ルータは、実際には存在しません。相互にバックアップ機能を提供するように設定されている複数のルータに、共通のターゲットを表すルータです。1台のルータがアクティブなルータとして、もう1台のルータがスタンバイ ルータとして選択されます。スタンバイ ルータは、指定されたアクティブ ルータが故障した場合に、グループのMACアドレスおよびIPアドレスを制御するルータです。
HSRPは、ネットワーク上のホストからのIPトラフィックに冗長性を提供することで、ネットワークのアベイラビリティを高めます。ルータ インターフェイスのグループでは、アクティブ ルータがルーティング パケットの候補ルータとなります。スタンバイ ルータは、アクティブ ルータに障害が生じた場合、またはプリセット条件が満たされる場合に、アクティブ ルータの作業を引き継ぐルータです。
standby ip インターフェイス コンフィギュレーション コマンドを実行すると、レイヤ3インターフェイスでHSRPがアクティブになります。IPアドレスを指定した場合は、IPアドレスがホット スタンバイ グループの指定アドレスとして使用されます。IPアドレスを指定しなかった場合は、スタンバイ機能によって学習されます。
HSRPは、ホストがルータ ディスカバリ プロトコルをサポートしておらず、選択されたルータのリロードや電源故障時に新しいルータに切り替えることができない場合に有効です。HSRPをネットワーク セグメントに設定すると、HSRPは仮想MACアドレスとIPアドレスを提供します。このアドレスは、HSRPが動作するグループ化されたルータ インターフェイス間で共有できます。プロトコルによってアクティブ ルータとして選択されたルータは、グループのMACアドレス宛のパケットを受信し、ルーティングします。 n 台のルータでHSRPが稼働している場合、 n +1 個のIPアドレスおよびMACアドレスが割り当てられます。
指定されたアクティブ ルータの故障をHSRPが検出すると、選択されているスタンバイ ルータがホット スタンバイ グループのMACアドレスおよびIPアドレスの制御を引き継ぎます。この時点で新しいスタンバイ ルータも選択されます。HSRPが稼働しているデバイスは、マルチキャストUDPベースのhelloパケットを送受信することにより、ルータ障害の検出、アクティブ ルータおよびスタンバイ ルータの指定を行います。インターフェイスにHSRPが設定されている場合、そのインターフェイスではInternet Control Message Protocol(ICMP)のリダイレクト メッセージがデフォルトでディセーブルとなっています。
スイッチは、最大16の一意のHSRPグループについてのHSRP MACアドレスをサポートします。各グループ アドレスは最大16のレイヤ3インターフェイスで使用できるため、HSRPインターフェイスの最大数は256になります。ただし、HSRPインターフェイス数およびアクティブなIPルーティング プロトコル数と設定されている他の機能との関係が、CPUの利用率に影響する可能性があります。スイッチにはほかにも機能が設定されているため、64を超えるHSRPインターフェイスを割り当てないようにしてください。HSRP MACアドレスが256の制限数を超えると、スイッチは1分以内にエラー メッセージを返します。
各HSRP MACアドレスは、4ビット マスクを使用してVLAN(仮想LAN)グループに対応付けられているので、16の連続したレイヤ3インターフェイスでHSRP MACアドレスを16個ずつ使用できます。マスクでは、すべてのレイヤ3インターフェイスが同じ16の倍数となる必要があります。HSRPグループを作成する際は、1つのレイヤ3インターフェイス、すべて同じ16の倍数である複数のレイヤ3インターフェイス、またはすべて同じ16の倍数である16の連続した範囲のレイヤ3インターフェイスで、同じHSRP MACアドレスを使用できます。
たとえば、HSRPグループ1には、インターフェイスVLAN 16から16のVLANのグループ最大数である31までが割り当てられる場合があります。16〜31のVLAN IDは、すべて同じ16の倍数です(1、または1+任意の小さな数)。すなわち、グループ1にインターフェイスVLAN 16〜31が割り当てられる場合、ハードウェアではHSRP MACアドレス エントリを1つだけ使用します。また、グループ1にインターフェイスVLAN 32が割り当てられる場合は、MACアドレス エントリがVLAN 16〜31と同じ16の倍数にはないので、ハードウェアに1つ追加されます。
その代わり、インターフェイスVLAN 16がグループ1に、インターフェイスVLAN 17がグループ2に割り当てられる場合、ハードウェアでは2つのHSRP MACアドレス エントリを使用します。グループ1とグループ2では、異なるMACアドレス エントリを使用します。グループ1またはグループ2が、あとにインターフェイスVLAN 18〜VLAN 31で設定される場合、これらの2つのグループにはすでにMACアドレス エントリが作成されていて、16〜31のすべてのVLANインターフェイスで使用できるので、HSRP MACアドレス エントリは追加されません。
SVI VLAN ID数は、インターフェイスVLAN ID数と同じになります(たとえば、 インターフェイスVlan 16 ではVLAN 16を使用します)。ルーテッド ポートでは、スイッチがインターフェイスにVLAN IDを自動的に割り当てます。割り当てられる数は、1024より大きく使用可能な最初のVLANから始まります。これらの割り当てられる数も、グループ単位で16の連続したVLANの範囲に制限されます。
show vlan internal usage イネーブルEXECコマンドを使用すると、ルーテッド ポートに割り当てられたVLAN IDを確認できます。
1つのインターフェイスは複数のHSRPグループに所属可能で、同じHSRPグループに異なるインターフェイスを適用できます。
図32-1 に、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の間で、引き続き通常のパケット処理機能を実行します。
図32-1 HSRPの一般的な構成
HSRPの設定
HSRPのデフォルト設定
表32-1 に、HSRPのデフォルト設定を示します。
HSRP設定時の注意事項および制限事項
- 以下の手順では、次に示すレイヤ3インターフェイスのうち1つを指定する必要があります。
- − ルーテッド ポート: no switchport インターフェイス コンフィギュレーション コマンドを入力して、レイヤ3ポートとして設定された物理ポートです。
- − SVI: interface vlan vlan_id グローバル コンフィギュレーション コマンドによって作成されたVLANインターフェイスです。デフォルトではレイヤ3インターフェイスです。
- − レイヤ3モードのEtherChannelポート チャネル: interface port-channel port- channel-numberグローバル コンフィギュレーション コマンドを使用し、イーサネット インターフェイスをチャネル グループにバインドして作成されたポートチャネル論理インターフェイスです。詳細については、 レイヤ3 EtherChannelの設定 を参照してください。
- すべてのレイヤ3インターフェイスにIPアドレスを割り当てる必要があります。 レイヤ3インターフェイスの設定 を参照してください。
- スイッチは、最大16の一意のHSRPグループについてのハードウェアのHSRP MACアドレス エントリをサポートします。スイッチにはほかにも機能が設定されているため、64を超えるHSRPインターフェイスを割り当てないようにしてください。
- HSRPグループは、1つのレイヤ3インターフェイス、すべて同じ16の倍数である複数のレイヤ3インターフェイス、またはすべて同じ16の倍数である連続した範囲の16のレイヤ3インターフェイスで、同じHSRP MACアドレスを使用できます。HSRPグループの詳細については、 HSRPの概要 を参照してください。
- 1つのインターフェイスは複数のHSRPグループに所属可能で、同じHSRPグループに異なるインターフェイスを適用できます。
- 複数のVLANで同じHSRPグループを設定する場合は、ブリッジ グループを使用して複数のインターフェイスを関連付けないでください。まったく同じ番号のHSRPグループは同じ仮想MACアドレスを使用するので、ブリッジ グループを設定するとエラーの原因となる可能性があります。
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 ]インターフェイス コンフィギュレーション コマンドを使用します。
GigabitEthernet 0/1インターフェイスのグループ1でHSRPをアクティブにする例を示します。ホット スタンバイ グループで使用されるIPアドレスは、HSRPを使用して学習されます。
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# standby 1 ip
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です。この値は累積されません。
- インターフェイスに対してルーティングを最初にイネーブルにした時点で、完全なルーティング テーブルは存在しません。このインターフェイスがpreemptに設定されている場合はアクティブ ルータになりますが、十分なルーティング処理はできません。この問題を解決するには、ルータがルーティング テーブルを更新できるように遅延時間を設定します。
インターフェイスにHSRPプライオリティ特性を設定するには、イネーブルEXECモードで次の手順を実行します。
デフォルトのプライオリティ、プリエンプト、遅延値に戻すには、 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 gigabitethernet0/1
Switch(config-if)# standby ip 172.20.128.3
Switch(config-if)# standby priority 120 preempt delay 300
HSRP認証およびタイマーの設定
HSRP認証ストリングを設定したり、hello時間インターバルやホールドタイムを変更したりすることもできます。
- 認証ストリングはすべてのHSRPメッセージに暗号化されずに送信されます。相互運用できるように、接続されたすべてのルータおよびアクセス サーバに同じ認証ストリングを設定する必要があります。認証ストリングが一致しないと、HSRPによって設定された他のルータから、指定されたホット スタンバイIPアドレスおよびタイマー値を取得できません。
- スタンバイ タイマー値が設定されていないルータまたはアクセス サーバは、アクティブ ルータまたはスタンバイ ルータからタイマー値を取得できます。アクティブ ルータに設定されたタイマーは、常に他のタイマー設定よりも優先されます。
- ホット スタンバイ グループのすべてのルータで、同じタイマー値を使用する必要があります。通常の場合、 holdtime は hellotime の3倍以上です。
インターフェイスにHSRPの認証とタイマーを設定するには、イネーブルEXECモードで次の手順を実行します。
|
(任意) authentication string ― すべてのHSRPメッセージで伝達されるストリングを入力します。認証ストリングには8文字までを指定できます。デフォルト ストリングは cisco です。 |
||
認証ストリングを削除するには、 no standby [ group-number ] authentication string インターフェイス コンフィギュレーション コマンドを使用します。タイマーをデフォルト値に戻すには、 no sta ndby [ group-number ] timers hellotime holdtime インターフェイス コンフィギュレーション コマンドを使用します。
次に、グループ1のホット スタンバイ ルータを相互動作させるために必要な認証ストリングとして、 word を設定する例を示します。
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# standby 1 authentication word
次に、helloパケット間隔が5秒、ルータがダウンしたとみなされるまでの時間が15秒となるように、スタンバイ グループ1のタイマーを設定する例を示します。
Switch(config)# interface gigabitethernet0/1
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 172.20.128.3 configured
Active router is 172.20.128.1 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
