HSRP の概要
HSRP は、デフォルト ゲートウェイ IP アドレスが設定された IEEE 802 LAN 上の IP ホスト ファースト ホップに冗長性を確保しネットワークのアベイラビリティを高めるシスコの標準方式です。HSRP を使用すると、特定のルータのアベイラビリティに依存せず IP トラフィックをルーティングできます。また、一連のルータ インターフェイスを組み合わせることで、1 台の仮想ルータ、または LAN 上のホストへのデフォルト ゲートウェイのように機能させることができます。ネットワークまたはセグメント上に HSRP を設定すると、仮想 MAC アドレス、および設定されたルータ グループ間で共有される IP アドレスを使用できるようになりHSRP が設定された複数のルータは、仮想ルータの MAC アドレスおよび IP ネットワーク アドレスを使用できるようになります。仮想ルータは、実際には存在しません。相互にバックアップ機能を提供するように設定されている複数のルータに、共通のターゲットを表すルータです。1 台のルータがアクティブなルータとして、もう 1 台のルータがスタンバイ ルータとして選択されます。スタンバイ ルータは、指定されたアクティブ ルータが故障した場合に、グループの MAC アドレスおよび IP アドレスを制御するルータです。
(注) HSRP グループ内のルータには、Catalyst 3560 ルーテッド ポート、Switch Virtual Interface(SVI; スイッチ仮想インターフェイス)など、HSRP をサポートする任意のルータ インターフェイスを指定できます。
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 3560 スイッチ間で複数のホット スタンバイ グループを設定すると、冗長ルータをさらに活用できます。そのためには、インターフェイスに設定するホット スタンバイ コマンド グループごとにグループ番号を指定します。たとえば、スイッチ 1 のインターフェイスをアクティブ ルータ、スイッチ 2 のインターフェイスをスタンバイ ルータとして設定できます。また、スイッチ 2 の別のインターフェイスをアクティブ ルータ、スイッチ 1 の別のインターフェイスをスタンバイ ルータとして設定することもできます。
図39-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 の間で、引き続き通常のパケット処理機能を実行します。
図39-1 HSRP の一般的な構成
Multiple HSRP
Cisco IOS Release 12.2(18)SE 以降では、Multiple HSRP(MHSRP)をサポートします。これは HSRP の拡張版で、複数の HSRP グループ間でロード シェアリングが可能です。ホスト ネットワークからサーバ ネットワークまで、ロード バランシングを実現して複数のスタンバイ グループ(およびパス)を使用するために、MHSRP を設定できます。図39-2 では、半分のクライアントがルータ A に設定されており、もう半分はルータ B に設定されています。ルータ A およびルータ B の設定により、合計 2 つの HSRP グループが確立しています。グループ 1 では、ルータ A に最高のプライオリティが割り当てられているので、ルータ A がデフォルトのアクティブ ルータになり、ルータ B がスタンバイ ルータとなります。グループ 2 では、ルータ B に最高のプライオリティが割り当てられているので、ルータ B がデフォルトのアクティブ ルータになり、ルータ A がスタンバイ ルータとなります。通常の運用では、2 つのルータが IP トラフィック負荷を共有します。いずれかのルータが使用できなくなると、もう一方のルータがアクティブになり、使用できないルータのパケット転送機能を引き継ぎます。
設定手順の例については、「MHSRP の設定」を参照してください。
(注) MHSRP では、ルータに障害が発生して正常に戻った場合、プリエンプトが発生してロード シェアリングを復元するために、standby preempt インターフェイス コンフィギュレーション コマンドを HSRP インターフェイスで入力する必要があります。
図39-2 MHSRP ロード シェアリング
HSRP の設定
ここでは、次の設定情報について説明します。
• 「HSRP のデフォルト設定」
• 「HSRP 設定時の注意事項」
• 「HSRP のイネーブル化」
• 「HSRP のプライオリティの設定」
• 「MHSRP の設定」
• 「HSRP 認証およびタイマーの設定」
• 「ICMP リダイレクト メッセージの HSRP サポートのイネーブル化」
• 「HSRP グループおよびクラスタリングの設定」
HSRP のデフォルト設定
表39-1 に、HSRP のデフォルト設定を示します。
表39-1 HSRP のデフォルト設定
|
|
HSRP グループ |
未設定 |
スタンバイ グループ番号 |
0 |
スタンバイ MAC アドレス |
システムへの割り当て:0000.0c07.acXX( XX は HSRP グループ番号) |
スタンバイ プライオリティ |
100 |
スタンバイ遅延 |
0(遅延なし) |
スタンバイでのインターフェイス プライオリティのトラッキング |
10 |
スタンバイ hello 時間 |
3 秒 |
スタンバイ ホールドタイム |
10 秒 |
HSRP 設定時の注意事項
HSRP を設定する場合は、次の注意事項に従ってください。
• HSRP は最大 32 の VLAN またはルーティング インターフェイスに設定できます。
• 以下の手順では、次に示すレイヤ 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 インターフェイスの設定」を参照してください。
HSRP のイネーブル化
standby ip インターフェイス コンフィギュレーション コマンドを実行すると、設定されたインターフェイスで HSRP がアクティブになります。IP アドレスを指定した場合は、IP アドレスがホット スタンバイ グループの指定アドレスとして使用されます。IP アドレスを指定しなかった場合は、スタンバイ機能によって学習されます。指定アドレスを使用し、ケーブル上に少なくとも 1 つのルーティング ポートを設定する必要があります。IP アドレスを設定すると、常に、現在使用されている別の指定アドレスが、設定した IP アドレスに変更されます。
standby ip コマンドがインターフェイス上でイネーブルに設定され、プロキシ Address Resolution Protocol(ARP; アドレス解決プロトコル)がイネーブルの場合、インターフェイスのホット スタンバイ ステートがアクティブになると、プロキシ ARP 要求に対する応答は、ホット スタンバイ グループの MAC アドレスを使用して実行されます。インターフェイスが別のステートの場合、プロキシ ARP の応答は抑制されます。
レイヤ 3 インターフェイス上で HSRP を作成する場合、またはイネーブルにする場合は、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
インターフェイス コンフィギュレーション モードを開始し、HSRP をイネーブルにするレイヤ3インターフェイスを入力します。 |
ステップ 3 |
standby [ group-number ] ip [ ip-address [ secondary ]] |
HSRP グループの番号および仮想 IP アドレスを使用して、HSRP グループを作成(またはイネーブルに)します。 • (任意) group-number ― HSRP をイネーブルにするインターフェイスのグループ番号を指定します。指定できる範囲は 0 ~ 255 で、デフォルトは 0 です。HSRP グループが 1 つしかない場合は、グループ番号を入力する必要はありません。 • (1 つのインターフェイスで必須、それ以外は任意) ip-address ― ホット スタンバイ ルータ インターフェイスの仮想 IP アドレスを指定します。少なくとも 1 つのインターフェイスに対して仮想 IP アドレスを入力する必要があります。他のインターフェイスは、その仮想 IP アドレスを学習します。 • (任意) secondary ― IP アドレスはセカンダリ ホット スタンバイ ルータ インターフェイスです。ルータがセカンダリ ルータとスタンバイ ルータのいずれにも指定されず、かつプライオリティも設定されていない場合は、プライマリ IP アドレスが比較され、IP アドレスが大きいルータがアクティブ ルータ、IP アドレスが 2 番めに大きいルータがスタンバイ ルータになります。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show standby [ interface-id [ group ]] |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
HSRP をディセーブルにするには、 no standby [ group-number ] ip [ ip-address ] インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートのグループ 1 で HSRP をアクティブにする例を示します。ホット スタンバイ グループで使用される IP アドレスは、HSRP を使用して学習されます。
(注) これは、HSRP をイネーブルにするために必要な最小限の手順です。その他の設定は任意です。
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 ip
HSRP のプライオリティの設定
standby priority 、 standby preempt 、および standby track インターフェイス コンフィギュレーション コマンドはいずれも、アクティブ ルータとスタンバイ ルータの特性、および新しいアクティブ ルータが処理を引き継いだ場合の動作を検索するために使用できます。
HSRP プライオリティを設定する場合の注意事項は、次のとおりです。
• プライオリティを割り当てておくと、アクティブおよびスタンバイ ルータを選択するときに役立ちます。プリエンプトがイネーブルの場合は、プライオリティが最高のルータが指定アクティブ ルータになります。プライオリティが等しい場合は、プライマリ IP アドレスが比較されます。IP アドレスが大きいルータが優先されます。
• 最大の値(1 ~ 255)が、最高のプライオリティ(アクティブ ルータになる確率が最も高い)を表します。
• プライオリティ、プリエンプト、またはその両方を設定するときは、少なくとも 1 つのキーワード( priority 、 preempt 、または両方)を指定する必要があります。
• インターフェイスが standby track コマンドによって設定されている場合、ルータ上の別のインターフェイスがダウンすると、デバイスのプライオリティが動的に変更されることもあります。
• standby track インターフェイス コンフィギュレーション コマンドを実行すると、ルータのホット スタンバイ プライオリティとインターフェイスのアベイラビリティが関連付けられます。この機能は、HSRP 用に設定されていないインターフェイスをトラッキングする場合に有効です。トラッキング対象のインターフェイスが故障すると、トラッキングが設定されていたデバイスのホット スタンバイ プライオリティが 10 減少します。トラッキング対象でないインターフェイスの場合は、そのステートが変わっても、設定済みデバイスのホット スタンバイ プライオリティは変わりません。ホット スタンバイ用に設定されたインターフェイスごとに、トラッキングするインターフェイスのリストを個別に設定できます。
• standby track interface-priority インターフェイス コンフィギュレーション コマンドを実行すると、トラッキング対象のインターフェイスがダウンした場合のホット スタンバイ プライオリティの減少幅を指定できます。インターフェイスが稼働状態に戻ると、プライオリティは同じ分だけ増加します。
• interface-priority 値が設定されている場合に、複数のトラッキング対象インターフェイスがダウンすると、設定済みプライオリティの減少幅が累積されます。プライオリティ値が設定されていないトラッキング対象インターフェイスが故障した場合、デフォルトの減少幅は 10 です。この値は累積されません。
• インターフェイスに対してルーティングを最初にイネーブルにした時点で、完全なルーティング テーブルは存在しません。このインターフェイスがプリエンプトに設定されている場合はアクティブ ルータになりますが、十分なルーティング処理はできません。この問題を解決するには、ルータがルーティング テーブルを更新できるように遅延時間を設定します。
インターフェイスに HSRP プライオリティ特性を設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
インターフェイス コンフィギュレーション モードを開始し、プライオリティを設定する HSRP インターフェイスを入力します。 |
ステップ 3 |
standby [ group-number ] priority priority [ preempt [ delay delay ]] |
アクティブ ルータを選択するときに使用される priority 値を設定します。指定できる範囲は 1 ~ 255 で、デフォルトのプライオリティは 100 です。最大の値が、最高のプライオリティを表します。 • (任意) group-number ― コマンドが適用されるグループ番号です。 • (任意) preempt ― ローカル ルータのプライオリティがアクティブ ルータよりも高い場合、アクティブ ルータとして制御を行います。 • (任意) delay ― ローカル ルータがアクティブ ルータの役割を引き継ぐまでの時間を、指定された秒数だけ延期します。指定できる範囲は 0 ~ 3600(1 時間)で、デフォルトは 0 です(引き継ぐ前の遅延はありません)。 デフォルト値に戻すには、このコマンドの no 形式を使用します。 |
ステップ 4 |
standby [ group-number ] [ priority priority ] preempt [ delay delay ] |
ルータを preempt に設定し、ローカル ルータのプライオリティがアクティブ ルータよりも高い場合は、アクティブ ルータとして制御を行います。 • (任意) group-number ― コマンドが適用されるグループ番号です。 • (任意) priority ― グループ プライオリティを設定または変更します。指定できる範囲は 1 ~ 255 です。デフォルトは 100 です。 • (任意) delay ― ローカル ルータがアクティブ ルータの役割を引き継ぐまでの時間を、指定された秒数だけ延期します。指定できる範囲は 0 ~ 3600(1 時間)で、デフォルトは 0 です(引き継ぐ前の遅延はありません)。 デフォルト値に戻すには、このコマンドの no 形式を使用します。 |
ステップ 5 |
standby [ group-number ] track type number [ interface-priority ] |
他のインターフェイスをトラッキングするようにインターフェイスを設定します。この設定により、他のインターフェイスの 1 つがダウンした場合は、そのデバイスのホット スタンバイ プライオリティが減少します。 • (任意) group-number ― コマンドが適用されるグループ番号です。 • type ― トラッキング対象のインターフェイス タイプを(インターフェイス番号とともに)入力します。 • number ― トラッキング対象のインターフェイス番号を(インターフェイス タイプとともに)入力します。 • (任意) interface-priority ― インターフェイスがダウンした場合、または稼働状態に戻った場合に、ルータのホット スタンバイ プライオリティを減少または増加させる幅を入力します。デフォルト値は 10 です。 |
ステップ 6 |
end |
特権 EXEC モードに戻ります。 |
ステップ 7 |
show running-config |
スタンバイ グループの設定を確認します。 |
ステップ 8 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルトのプライオリティ、プリエンプト、遅延値に戻すには、 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# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby ip 172.20.128.3
Switch(config-if)# standby priority 120 preempt delay 300
MHSRP の設定
MHSRP およびロード バランシングをイネーブルにするには、グループのアクティブ ルータとして 2 つのルータを設定し、仮想ルータをスタンバイ ルータとして設定します。以下は、図39-2 の MHSRP 設定をイネーブルにする例です。ルータに障害が発生して正常に戻った場合、プリエンプトを発生させてロード バランシングを復元するために、 standby preempt インターフェイス コンフィギュレーション コマンドをそれぞれの HSRP インターフェイスで入力する必要があります。
ルータ A はグループ 1 のアクティブ ルータとして、ルータBはグループ 2 のアクティブ ルータとして設定されています。ルータ A の HSRP インターフェイスの IP アドレスは 10.0.0.1、グループ 1 スタンバイ プライオリティは 110(デフォルトは 100)です。ルータ B の HSRP インターフェイスの IP アドレスは 10.0.0.2、グループ 2 スタンバイ プライオリティは 110 です。
グループ 1 は仮想 IP アドレス 10.0.0.3 を使用し、グループ 2 は仮想 IP アドレス 10.0.0.4 を使用します。
ルータ A の設定
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.0.1 255.255.255.0
Switch(config-if)# standby 1 ip 10.0.0.3
Switch(config-if)# standby 1 priority 110
Switch(config-if)# standby 1 preempt
Switch(config-if)# standby 2 ip 10.0.0.4
Switch(config-if)# standby 2 preempt
ルータ B の設定
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.0.2 255.255.255.0
Switch(config-if)# standby 1 ip 10.0.0.3
Switch(config-if)# standby 1 preempt
Switch(config-if)# standby 2 ip 10.0.0.4
Switch(config-if)# standby 2 priority 110
Switch(config-if)# standby 2 preempt
HSRP 認証およびタイマーの設定
HSRP 認証ストリングを設定したり、hello 時間インターバルやホールドタイムを変更することもできます。
これらのアトリビュートを設定する場合の注意事項は次のとおりです。
• 認証ストリングはすべての HSRP メッセージに暗号化されずに送信されます。相互運用できるように、接続されたすべてのルータおよびアクセス サーバに同じ認証ストリングを設定する必要があります。認証ストリングが一致しないと、HSRP によって設定された他のルータから、指定されたホット スタンバイ IP アドレスおよびタイマー値を取得することができません。
• スタンバイ タイマー値が設定されていないルータまたはアクセス サーバは、アクティブ ルータまたはスタンバイ ルータからタイマー値を取得できます。アクティブ ルータに設定されたタイマーは、常に他のタイマー設定よりも優先されます。
• ホット スタンバイ グループのすべてのルータで、同じタイマー値を使用する必要があります。通常の場合、 holdtime は hellotime の 3 倍以上です。
インターフェイスに HSRP の認証とタイマーを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
インターフェイス コンフィギュレーション モードを開始し、認証を設定する HSRP インターフェイスを入力します。 |
ステップ 3 |
standby [ group-number ] authentication string |
(任意) authentication string ― すべての HSRP メッセージで伝達されるストリングを入力します。認証ストリングには 8 文字までを指定できます。デフォルト ストリングは cisco です。 (任意) group-number ― コマンドが適用されるグループ番号です。 |
ステップ 4 |
standby [ group-number ] timers hellotime holdtime |
(任意)hello パケット間隔、およびアクティブ ルータのダウンを他のルータが宣言するまでの時間を設定します。 • group-number ― コマンドが適用されるグループ番号です。 • hellotime ― hello インターバル(秒)です。指定できる範囲は 1 ~ 255 秒で、デフォルトは 3 秒です。 • holdtime ― アクティブまたはスタンバイ ルータのダウンが宣言されるまでの時間(秒)です。指定できる範囲は 1 ~ 255 秒で、デフォルトは 10 秒です。 |
ステップ 5 |
end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show running-config |
スタンバイ グループの設定を確認します。 |
ステップ 7 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
認証ストリングを削除するには、 no standby [ group-number ] authentication string インターフェイス コンフィギュレーション コマンドを使用します。タイマーをデフォルト値に戻すには、 no sta ndby [ group-number ] timers hellotime holdtime インターフェイス コンフィギュレーション コマンドを使用します。
次に、グループ 1 のホット スタンバイ ルータを相互運用させるために必要な認証ストリングとして、 word を設定する例を示します。
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 authentication word
次に、hello パケット間隔が 5 秒、ルータがダウンしたとみなされるまでの時間が 15 秒となるように、スタンバイ グループ 1 のタイマーを設定する例を示します。
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 ip
Switch(config-if)# standby 1 timers 5 15
ICMP リダイレクト メッセージの HSRP サポートのイネーブル化
Cisco Release 12.2(18)SE より以前のリリースでは、HSRP が設定されたインターフェイスで ICMP リダイレクト メッセージは自動的にディセーブルでした。ICMP は、エラーをレポートするためのメッセージ パケットや IP 処理に関連する他の情報を提供する、ネットワーク レイヤ インターネット プロトコルです。ICMP には、ホストヘのエラー パケットの方向付けや送信などの診断機能があります。
スイッチで HSRP が動作している場合、ホストが HSRP グループ内のルータのインターフェイス(または実際の)MAC アドレスを検出できないことに注意してください。ICMP によってホストがルータの実際の MAC アドレスへリダイレクトされて、そのルータに障害が発生した場合、ホストからのパケットは消失します。
Cisco IOS Release 12.2(18)SE 以降では、ICMP リダイレクト メッセージは HSRP を設定したインターフェイスで自動的にイネーブルになります。この機能は、HSRP を介した発信 ICMP リダイレクト メッセージをフィルタリングします。ここでは、ネクストホップ IP アドレスが HSRP 仮想 IP アドレスに変更されます。詳細については、『 Cisco IOS IP Configuration Guide 』Release 12.2 を参照してください。
HSRP グループおよびクラスタリングの設定
デバイスが HSRP スタンバイ ルーティングに参加し、クラスタリングがイネーブルの場合は、同じスタンバイ グループを使用して、コマンド スイッチの冗長性および HSRP の冗長性を確保できます。同じ HSRP スタンバイ グループをイネーブルにし、コマンド スイッチおよびルーティングの冗長性を確保するには、 cluster standby-group HSRP-group-name [ routing-redundancy ] グローバル コンフィギュレーション コマンドを使用します。 routing-redundancy キーワードを指定せずに同じ HSRP スタンバイ グループ名でクラスタを作成すると、そのグループに対する HSRP スタンバイ ルーティングはディセーブルになります。
次に、スタンバイ グループ my_hsrp をクラスタにバインドし、同じ HSRP グループをイネーブルにしてコマンド スイッチおよびルータの冗長性を確保する例を示します。このコマンドを実行できるのは、コマンド スイッチに対してのみです。スタンバイ グループの名前または番号が存在しない場合、またはスイッチがクラスタ メンバーである場合は、エラー メッセージが表示されます。
Switch# configure terminal
Switch(config)# cluster standby-group my_hsrp routing-redundancy
HSRP および拡張オブジェクト トラッキングの設定
HSRP には、インターフェイスのラインプロトコル ステートをトラッキングするメカニズムがあります。拡張オブジェクト トラッキング機能は、HSRP からトラッキング メカニズムを分離したものです。この機能は、HSRP 以外のプロセスで使用可能な個別のスタンドアロン型トラッキング プロセスを作成します。この機能により、インターフェイスのラインプロトコル ステートに加えて他のオブジェクトのトラッキングが可能になります。HSRP などのクライアント プロセスでは、トラッキング オブジェクトの対象を登録して、トラッキングされたオブジェクトがステートを変更した時に通知を要求することができます。複数のクライアントが同じオブジェクトをトラッキングすることができ、オブジェクトのステート変更時に個別のアクションを実行することができます。この機能により、ルータ システムの可用性と回復スピードが向上し、停止および停止期間が減少します。
拡張オブジェクト トラッキングおよびこれを設定するためのコマンドの詳細については、次の URL にアクセスしてください。
http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a00801541be.html
拡張オブジェクト トラッキングの概要
各トラッキング オブジェクトには、トラッキング CLI(コマンド ライン インターフェイス)で指定される一意の番号があります。クライアント プロセスでは、この番号を使用して特定のオブジェクトをトラッキングします。トラッキング プロセスでは、値の変更(増加または減少値)について定期的にトラッキング オブジェクトをポーリングし、即時または指定した時間後に、対象のクライアント プロセスに変更を送信します。
また、リストのステートを測定するためにウェイトしきい値またはパーセンテージしきい値のいずれかを使用してリスト内のオブジェクトを組み合わせてトラッキングすることも可能です。ブール論理を使用してオブジェクトを組み合わせることが可能です。ブール AND 機能のあるトラッキング リストでは、アップになっているトラッキング オブジェクトに対して、リスト内の各オブジェクトがアップ ステートになっている必要があります。ブール OR 機能のあるトラッキング リストでは、アップになっているトラッキング オブジェクトに対して、リスト内の 1 つのオブジェクトのみがアップ ステートになっている必要があります。
インターフェイスのラインプロトコルまたは IP ルーティング ステートのトラッキング
ライン プロトコル ステートまたはインターフェイス IP ルーティング ステートをトラッキングすることができます。アップになっているオブジェクトに対して、IP ルーティング ステートをトラッキングする場合、IP ルーティングがインターフェイス上でイネーブルでアクティブで、インターフェイスのライン プロトコル ステートは アップで、インターフェイス IP アドレスが既知のものでなければいけません。これら 3 つの条件を満たす必要があり、満たさない場合は IP ルーティング ステートがダウンとなります。
インターフェイスのラインプロトコル ステートまたは IP ルーティング ステートを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
track object-number interface interface-id line-protocol |
(任意)インターフェイスのラインプロトコル ステートをトラッキングするためにトラッキング リストを作成し、トラッキング コンフィギュレーション モードを開始します。 • object-number は、トラッキング オブジェクトを識別するもので、1 ~ 500 を使用できます。 • interface interface-id は、トラッキングするインターフェイスです。 |
ステップ 3 |
delay { up seconds [ down seconds ] | [ up seconds ] down seconds } |
(任意)トラッキング オブジェクトの通信ステートの変更を遅延させるための時間を秒数で指定します。指定できる範囲は 1 ~ 180 秒です。 |
ステップ 4 |
exit |
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 5 |
track object-number interface interface-id ip routing |
(任意)インターフェイスの IP ルーティング ステートをトラッキングするためにトラッキング リストを登録し、トラッキング コンフィギュレーション モードを開始します。IP ルート トラッキングは、ルーティング テーブル内の IP ルートと、IP パケットをルーティングするインターフェイスの能力をトラッキングします。 • object-number は、トラッキング オブジェクトを識別するもので、1 ~ 500 を使用できます。 • interface interface-id は、トラッキングするインターフェイスです。 |
ステップ 6 |
delay { up seconds [ down seconds ] | [ up seconds ] down seconds } |
(任意)トラッキング オブジェクトの通信ステートの変更を遅延させるための時間を秒数で指定します。指定できる範囲は 1 ~ 180 秒です。 |
ステップ 7 |
end |
特権 EXEC モードに戻ります。 |
ステップ 8 |
show track object-number |
指定したオブジェクトがトラッキングされていることを確認します。 |
ステップ 9 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次に、インターフェイスのラインプロトコル ステートをトラッキングして、その設定を確認する例を示します。
Switch(config)# track 33 interface gigabitethernet 0/1 line-protocol
Switch(config-track)# end
Interface GigabitEthernet0/1 line-protocol
Line protocol is Down (hw down)
1 change, last change 00:18:28
トラッキング リストの設定
ブール論理式、ウェイトしきい値、パーセンテージしきい値を使用して、オブジェクトのトラッキング リストを設定することができます。トラッキング リストには、1 つまたは複数のオブジェクトが含まれています。トラッキング リストに追加する前に、オブジェクトが存在していなければなりません。
• ブール論理式を設定して、AND または OR 演算子を使用して計算を指定します。たとえば、AND 演算子を使用して複数のインターフェイスをトラッキングする場合、 up はすべてのインターフェイスがアップで、 down は少なくとも 1 つのインターフェイスがダウンであることを意味します。
• ウェイトしきい値でトラッキング リスト ステートを測定する場合、重み値をトラッキング リスト内の各オブジェクトに割り当てます。トラッキング リストのステートは、しきい値に一致するかどうかで決定されます。各オブジェクトのステートは、全オブジェクトの合計重みと各オブジェクトのウェイトしきい値を比較することで決定されます。
• パーセンテージしきい値でトラッキング リスト ステートを測定する場合、パーセンテージしきい値をトラッキング リスト内の各オブジェクトに割り当てます。各オブジェクトに割り当てられたパーセンテージとリストを比較して、各オブジェクトのステートが決定されます。
ブール論理式
ブール論理式を使用してトラッキング リストを設定することにより、AND または OR 演算子を使用して計算することができます。たとえば、AND 演算子を使用して 2 つのインターフェイスをトラッキングする場合、 up は両方のインターフェイスがアップで、 down はいずれかのインターフェイスがダウンであることを意味します。
ブール論理式を使用してオブジェクトのトラッキング リストを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
track track-number list boolean { and | or } |
トラッキング リスト オブジェクトを設定し、トラッキング コンフィギュレーション モードを開始します。 track-number は 1 ~ 500 です。 • boolean ― ブール計算に基づいてトラッキング リストのステートを指定します。 • and ― すべてのオブジェクトがアップの場合はリストがアップ、1 つ以上のオブジェクトがダウンの場合はダウンであることを指定します。 • or ― すべてのオブジェクトがアップの場合はリストがアップ、すべてのオブジェクトがダウンの場合はダウンであることを指定します。 |
ステップ 3 |
object object-number [ not ] |
トラッキングするオブジェクトを指定します。指定できる範囲は、1 ~ 500 です。キーワード not は、オブジェクトのステートを否定します。つまり、オブジェクトがアップの場合、トラッキング リストはオブジェクトをダウンとして検出します。
(注) オブジェクトが存在していないと、これをトラッキング リストに追加することができません。
|
ステップ 4 |
delay { up seconds [ down seconds ] | [ up seconds ] down seconds } |
(任意)トラッキング オブジェクトの通信ステートの変更を遅延させるための時間を秒数で指定します。指定できる範囲は 1 ~ 180 秒です。 |
ステップ 5 |
end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show track object-number |
指定したオブジェクトがトラッキングされていることを確認します。 |
ステップ 7 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
トラッキング リストを削除する場合は、 no track track-number グローバル コンフィギュレーション コマンドを使用します。
次に、2 つのオブジェクトが含まれていて、そのうちの 1 つのオブジェクトのステートが偽のものを含む、ブール AND 論理式を使用してトラッキング リスト 4 を設定する例を示します。リストがアップの場合、リストでオブジェクト 2 がダウンであることが検出されます。
Switch(config)# track 4 list boolean and
Switch(config-track)# object 1
Switch(config-track)# object 2 not
Switch(config-track)# exit
ウェイトしきい値
ウェイトしきい値をトラッキングするには、オブジェクトのトラッキング リストを設定し、しきい値として使用する重みを指定し、各オブジェクトの重みを設定します。各オブジェクトのステートは、アップ ステートの全オブジェクトの合計重みと各オブジェクトのウェイトしきい値を比較することで決定されます。
ブール NOT 演算子をウェイトしきい値 リストに使用することができません。
ウェイトしきい値を使用してトラッキング リストを設定し、各オブジェクトの重みを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
track track-number list threshold weight |
トラッキング リスト オブジェクトを設定し、トラッキング コンフィギュレーション モードを開始します。 track-number は 1 ~ 500 です。 • threshold ― しきい値に基づいてトラッキング リストのステートを指定します。 • weight ― しきい値が重みに基づいていることを指定します。 |
ステップ 3 |
object object-number [ weight weight-number ] |
トラッキングするオブジェクトを指定します。指定できる範囲は、1 ~ 500 です。オプションの weight weight-number には、オブジェクトのウェイトしきい値を指定します。指定できる範囲は 1 ~ 255です。
(注) オブジェクトが存在していないと、これをトラッキング リストに追加することができません。
|
ステップ 4 |
threshold weight { up number | [ down number ]} |
ウェイトしきい値を指定します。 • up number ― 指定できる範囲は 1 ~ 255 です。 • down number ― (任意) up number で選択した番号によって変化します。 up number を 25 に設定した場合、ダウン番号で表示される範囲は 0 ~ 24 です。 |
ステップ 5 |
delay { up seconds [ down seconds ] | [ up seconds ] down seconds } |
(任意)トラッキング オブジェクトの通信ステートの変更を遅延させるための時間を秒数で指定します。指定できる範囲は 1 ~ 180 秒です。 |
ステップ 6 |
end |
特権 EXEC モードに戻ります。 |
ステップ 7 |
show track object-number |
指定したオブジェクトがトラッキングされていることを確認します。 |
ステップ 8 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
トラッキング リストを削除する場合は、no track track-number グローバル コンフィギュレーション コマンドを使用します。
次の例では、ウェイトしきい値でトラッキングするようにトラッキング リスト 4 を設定します。オブジェクト 1 とオブジェクト 2 がダウンの場合、オブジェクト 3 が上限しきい値(アップ 30)を満たすことから、トラッキング リスト 4 はアップになります。ただし、オブジェクト 3 がダウンの場合、オブジェクト 1 と 2 がアップでなければしきい値のウェイトを満たせません。
Switch(config)# track 4 list threshold weight
Switch(config-track)# object 1 weight 15
Switch(config-track)# object 2 weight 20
Switch(config-track)# object 3 weight 30
Switch(config-track)# threshold weight up 30 down 10
Switch(config-track)# exit
この設定は、オブジェクト 1 とオブジェクト 2 が 2 つの小帯域幅の接続を表し、オブジェクト 3 が 1 つの大帯域幅の接続を表している場合に効果的です。設定された down 10 値は、トラッキング オブジェクトがアップになると、しきい値が 10 以下になるまでダウンにならないことになりますが、この例ではすべての接続がダウンになります。
パーセンテージしきい値
パーセンテージしきい値をトラッキングするには、オブジェクトのトラッキング リストを設定し、しきい値として使用するパーセンテージを指定し、リスト内にある各オブジェクトのパーセンテージを指定します。各オブジェクトに割り当てられたパーセンテージとリストを比較して、各オブジェクトのステートが決定されます。
ブール NOT 演算子をパーセンテージしきい値リストに使用することができません。
パーセンテージしきい値を使用してオブジェクトのトラッキング リストを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
track track-number list threshold percentage |
トラッキング リスト オブジェクトを設定し、トラッキング コンフィギュレーション モードを開始します。 track-number は 1 ~ 500 です。 • threshold ― しきい値に基づいてトラッキング リストのステートを指定します。 • percentage ― しきい値がパーセンテージに基づいていることを指定します。 |
ステップ 3 |
object object-number |
トラッキングするオブジェクトを指定します。指定できる範囲は 1 ~ 500です。
(注) オブジェクトが存在していないと、これをトラッキング リストに追加することができません。
|
ステップ 4 |
threshold percentage { up number | [ down number ]} |
しきい値のパーセンテージを指定します。 • up number ― 指定できる範囲は 1 ~ 100 です。 • down number ] ― (任意) up number で選択した番号によって変化します。 up number を 25 に設定した場合、ダウン番号で表示される範囲は 0 ~ 24 です。 |
ステップ 5 |
delay { up seconds [ down seconds ] | [ up seconds ] down seconds } |
(任意)トラッキング オブジェクトの通信ステートの変更を遅延させるための時間を秒数で指定します。指定できる範囲は 1 ~ 180 秒です。 |
ステップ 6 |
end |
特権 EXEC モードに戻ります。 |
ステップ 7 |
show track object-number |
指定したオブジェクトがトラッキングされていることを確認します。 |
ステップ 8 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
トラッキング リストを削除する場合は、 no track track-number グローバル コンフィギュレーション コマンドを使用します。
次に、3 つのオブジェクトと、リストのステートを測定するために指定したパーセンテージがあるトラッキング リスト 4 を設定する例を示します。
Switch(config)# track 4 list threshold percentage
Switch(config-track)# object 1
Switch(config-track)# object 2
Switch(config-track)# object 3
Switch(config-track)# threshold percentage up 51 down 10
Switch(config-track)# exit
HSRP オブジェクト トラッキングの設定
スタンバイ HSRP グループを設定し、オブジェクト ステートに基づいてオブジェクトをトラッキングして HSRP 優先度を変更するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
track object-number { interface interface-id { line-protocol | i p routing} | ip route ip-address/prefix-length { metric threshold | reachability} | list { boolean { and | or }} | { threshold { weight | percentage }}} |
(任意)設定ステートをトラッキングするためにトラッキング リストを作成し、トラッキング コンフィギュレーション モードを開始します。
(注) rtr キーワードは、コマンドラインのヘルプ ストリングに表示されますが、サポートされていません。
• object-number の範囲は 1 ~ 500 です。 • interface interface-id を入力して、トラッキングするインターフェイスを選択します。 – line-protocol を入力して、インターフェイス ライン プロトコル ステートをトラッキングします。 – ip routing を入力して、インターフェイス IP ルーティング ステートをトラッキングします。 • ip route ip-address/prefix-length を入力して、IP ルータのステートをトラッキングします。 – metric threshold を入力して、しきい値メトリックをトラッキングします。デフォルトの上限しきい値は 254 で、デフォルトの下限しきい値は 255 です。 – reachability を入力して、ルートが到達可能かどうかをトラッキングします。 • list を入力して、リストにグループ化されているオブジェクトをトラッキングします。前のページで説明したリストを設定します。 – boolean については、 「ブール論理式」 を参照してください。 – threshold weight については、 「ウェイトしきい値」 を参照してください。 – threshold percentage については、 「パーセンテージしきい値」 を参照してください。
(注) トラッキングする各インターフェイスについて、これを繰り返します。
|
ステップ 3 |
exit |
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 4 |
interface interface-id |
インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 5 |
standby [ group-number ] ip [ ip-address [ secondary ]] |
HSRP グループの番号および仮想 IP アドレスを使用して、HSRP グループを作成(またはイネーブルに)します。 • (任意) group-number ― HSRP をイネーブルにするインターフェイスのグループ番号を指定します。指定できる範囲は 0 ~ 255 で、デフォルトは 0 です。HSRP グループが 1 つしかない場合は、グループ番号を入力する必要はありません。 • (1 つのインターフェイスで必須、それ以外は任意) ip-address ― ホット スタンバイ ルータ インターフェイスの仮想 IP アドレスを指定します。少なくとも 1 つのインターフェイスに対して仮想 IP アドレスを入力する必要があります。他のインターフェイスは、その仮想 IP アドレスを学習します。 • (任意) secondary ― IP アドレスはセカンダリ ホット スタンバイ ルータ インターフェイスです。このキーワードを省略した場合、設定されるアドレスはプライマリ IP アドレスです。 |
ステップ 6 |
standby [ group-number ] track object-number [ decrement [ priority-decrement ]] |
HSRP を設定して、オブジェクトをトラッキングし、オブジェクトのステートに基づいてホット スタンバイ プライオリティを変更します。 • (任意) group-number ― トラッキングが適用されるグループ番号です。 • object-number ― トラッキングするオブジェクトを表す番号。指定できる範囲は 1 ~ 500 で、デフォルトは 1 です。 • (任意) decrement priority-decrement ― トラッキング オブジェクトがダウンした(またはアップに戻った)際の、ルータのホット スタンバイ プライオリティを減少(または増加)させる幅。指定できる範囲は 1 ~ 255 で、デフォルトは 10 です。 |
ステップ 7 |
end |
特権 EXEC モードに戻ります。 |
ステップ 8 |
show standby |
スタンバイ ルータ IP アドレスとトラッキング ステートを確認します。 |
ステップ 9 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
他のインターフェイス特性の設定
拡張オブジェクト トラッキングを他の特性のトラッキングにも使用することができます。
• track ip route reachability グローバル コンフィギュレーション コマンドを使用して IP ルートの到達可能性をトラッキングすることができます。
• track ip route metric threshold グローバル コンフィギュレーション コマンドを使用して、ルートがしきい値を超えるのか下回るのかを判別することができます。
• track resolution グローバル コンフィギュレーション コマンドを使用して、ルーティング プロトコルのメトリック分解能のデフォルト値を変更することができます。
• track timer トラッキング コンフィギュレーション コマンドを使用して、定期的にトラッキング オブジェクトをポーリングするためのトラッキング プロセスを設定することができます。
拡張オブジェクト トラッキング設定を確認するには、 show track 特権 EXEC コマンドを使用します。
拡張オブジェクト トラッキングおよびこれを設定するためのコマンドの詳細については、次の URL にアクセスしてください。
http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a00801541be.html