内容

はじめに

前提条件

要件

使用するコンポーネント

バックグラウンド情報

設定例

ルータ1の設定例

ルータ2の設定例

確認

関連情報

はじめに

このドキュメントでは、ホットスタンバイルータプロトコル(HSRP)のpreemptコマンドとtrackコマンドの連動のしくみと、その使用方法について説明しています。

前提条件

要件

Cisco Command Line Interface（CLI；コマンドラインインターフェイス）に関する基本的な知識があることが推奨されます

使用するコンポーネント

本書の情報は、次のソフトウェアのバージョンに基づくものです。

- Cisco IOS XEソフトウェアリリース17.xを実行するルータ

このドキュメントで説明する概念は、このソフトウェアリリースに限定されません。HSRPプリエンプションとオブジェクトトラッキングの動作は、サポートされているCisco IOSおよびCisco IOS XEプラットフォーム全体に適用されます。ただし、コマンドの構文と検証出力は、プラットフォームやソフトウェアバージョンによって異なる場合があります。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

バックグラウンド情報

standby preemptコマンドは、HSRP選択処理とプリエンプト遅延が設定されている場合に、現在のアクティブルータよりもプライオリティの高いHSRPルータがアクティブルータの役割を引き継げるようにします。 プライオリティはまず設定済みのプライオリティ値によって決定され、次にプライオリティ値が等しい場合はHSRPインターフェイスのIPアドレスによって決定されます。 いずれの場合も、値が高いほど優先順位が高くなります。優先順位の高いルータは、優先順位の低いルータと交代する際に Coup メッセージを送信します。優先順位の低いアクティブ ルータは、優先順位の高いアクティブ ルータから Coup メッセージまたは Hello メッセージを受け取ると、Speak 状態に移行して Resign メッセージを送信します。

standby track コマンドでは、所定のグループの HSRP 優先順位を変更するために、HSRP プロセスでモニタ可能なルータ上の別のインターフェイスを指定できます。指定されたインターフェイスの回線プロトコルがダウンすると、HSRP 優先順位は減少します。つまり、プライオリティの高い別のHSRPルータでstandby preemptが有効になっている場合は、そのルータがアクティブルータになり得ることを意味します。

次の図は、standby preemptコマンドをstandby trackコマンドとともに使用する例を示しています。

HSRPのプリエンプションおよびトラッキング設定

設定例

ネットワーク ダイアグラムでは、HSRP は次のように設定されています。

- R1はアクティブルータで、オブジェクト10をトラッキングします。これにより、R1 FortyGigabitEthernet0/2/4サーバに面したインターフェイスのラインプロトコルの状態が監視されます。R1がアクティブルータの場合、ホストからサーバへのトラフィックはR1経由でルーティングされます。

- R2はスタンバイルータであり、オブジェクト20を追跡します。このオブジェクトは、R2 FortyGigabitEthernet0/2/4サーバ側インターフェイスの回線プロトコル状態を監視します。

- R1 FortyGigabitEthernet0/2/4インターフェイスがダウンすると、トラックオブジェクト10がダウン状態に変わり、R1 HSRPプライオリティが10減少します。この時点で、R2のHSRPプライオリティはR1のプライオリティよりも高く、プリエンプションが有効な場合は、R2がアクティブルータの役割を引き継ぎます。

- R2がアクティブルータになると、ホストからサーバへのトラフィックはR2経由でルーティングされます。

注:HSRP仮想IPアドレス（この場合は172.16.6.100）が設定されたホストのデフォルトゲートウェイ。 ホストとサーバ間の接続を有効にするには、ルーティングプロトコルまたはスタティックルートをルータ上で個別に設定する必要があります。このドキュメントでは、HSRPの動作に焦点を当てており、ルーティング設定は含まれていません。

ルータ1の設定例

設定手順

設定CLI

ステップ 1：トラッキングオブジェクトを設定します（オプション）。

トラッキングオブジェクト10を作成して、FortyGigabitEthernet0/2/4のラインプロトコルの状態をモニタします。

ステップ 2LAN側のインターフェイスを設定します。

FortyGigabitEthernet0/2/0にLAN IPアドレスを設定します。このインターフェイスはR1をLANデバイスに接続し、HSRPに参加します。

ステップ 3HSRP仮想IPアドレスを設定します。

HSRPグループ1に仮想IPアドレス172.16.6.100を設定します。LANホストはこのIPアドレスをデフォルトゲートウェイとして使用します。

ステップ 4HSRPプライオリティを設定します。

プライオリティ105でR1を設定します。これにより、トラッキング対象オブジェクトがアップ状態の間、R1が優先アクティブルータになります。

ステップ 5HSRPプリエンプションを有効にします。

プリエンプションを有効にして、トラッキング対象オブジェクトが回復し、そのプライオリティが105に戻った後で、R1がアクティブロールに戻れるようにします。

ステップ 6HSRPでオブジェクトをトラッキングします。

HSRPを設定して、オブジェクト10を減少値10で追跡します。FortyGigabitEthernet0/2/4回線プロトコルがダウンすると、オブジェクト10がダウンし、R1はHSRPプライオリティを105から95に下げます。

ステップ 7サーバ側インターフェイスを設定します。

サーバデバイスに到達するために使用されるIPアドレスを使用して、FortyGigabitEthernet0/2/4を設定します。

R1#configure terminal

R1(config)#track 10 interface FortyGigabitEthernet0/2/4 line-protocol

R1(config-track)#exit

R1(config)#interface FortyGigabitEthernet0/2/0

R1(config-if)#standby 1 ip 172.16.6.100

R1(config-if)#standby 1 priority 105

R1(config-if)#standby 1 preempt

R1(config-if)#standby 1 track 10 decrement 10

R1(config-if)#end

ルータ2の設定例

設定手順

設定CLI

ステップ 1：トラッキングオブジェクトを設定します（オプション）。

トラッキングオブジェクト10を作成して、FortyGigabitEthernet0/2/4のラインプロトコルの状態をモニタします。

ステップ 2LAN側のインターフェイスを設定します。

FortyGigabitEthernet0/2/0にLAN IPアドレスを設定します。このインターフェイスはR2をLANデバイスに接続し、R1と同じHSRPグループに属しています。

ステップ 3HSRP仮想IPアドレスを設定します。

R1で使用されているのと同じ仮想IPアドレス(172.16.6.100)を使用してHSRPグループ1を設定します。

ステップ 4デフォルトのHSRPプライオリティを使用します。

R2はデフォルトのHSRPプライオリティである100を使用します。R1のプライオリティは105であるため、R1が正常な間、R2はスタンバイルータのままです。

ステップ 5HSRPプリエンプションを有効にします。

プリエンプションを有効にして、R1のプライオリティが100未満に下がったときにR2がアクティブになるようにします。

ステップ 6HSRPでオブジェクトをトラッキングします。

HSRPを設定して、オブジェクト20を減少値10で追跡します。FortyGigabitEthernet0/2/4回線プロトコルがダウンすると、オブジェクト10がダウンし、R2はHSRPプライオリティを100から90に下げます。

ステップ 7サーバ側インターフェイスを設定します。

サーバデバイスに到達するために使用されるIPアドレスを使用して、FortyGigabitEthernet0/2/4を設定します。

R2#configure terminal

R2(config)#track 20 interface For 0/2/4 line-protocol

R2(config-track)#exit

R2(config)#interface FortyGigabitEthernet0/2/0

R2(config-if)#ip address 172.16.6.6 255.255.255.0

R2(config-if)#standby 1 ip 172.16.6.100

R2(config-if)#standby 1 preempt

R2(config-if)#standby 1 track 20 decrement 10

R2(config-if)#end

注：トラッキングオブジェクトはオプションであり、通常のHSRP動作には不要です。HSRPは、仮想IPアドレス、プライオリティ、およびプリエンプション設定のみを使用して、アクティブルータとスタンバイルータを選出できます。トラッキングは、HSRPが別のオブジェクトの状態（インターフェイス回線プロトコルの状態など）に基づいてルータのプライオリティを調整する必要がある場合に使用します。この例では、トラッキングオブジェクトにより、インターフェイスに面したサーバがダウンした場合にルータのHSRPプライオリティを下げることができます。

確認

show standbyコマンドを使用して、サーバ側のインターフェイスが両方のルータでアップ状態のときに初期HSRPステートを確認します。

この状態では、プライオリティ105が高く設定されているため、R1がアクティブなHSRPルータになります。R2はスタンバイルータで、デフォルトプライオリティは100です。

- R1では、トラックオブジェクト10はアップ状態であるため、プライオリティの減分は適用されません。R1は設定されたプライオリティ105を維持し、アクティブな仮想MACアドレス0000.0c07.ac01を所有します。

- R2では、トラックオブジェクト20もUpであるため、プライオリティの減分は適用されません。R2はデフォルトのプライオリティである100を維持し、スタンバイステートのままになります。出力には、アクティブルータが172.16.6.5（R1のLAN側のIPアドレス）として示されています。

確認すべき重要なポイント：

チェック

R1出力

R2出力

結果

HSRP状態

状態はアクティブです

状態はスタンバイ

R1はアクティブ、R2はスタンバイ

仮想IP

172.16.6.100

172.16.6.100

両方のルータが同じHSRP仮想IPを使用する

アクティブ ルータ

local

172.16.6.5, priority 105

R1はアクティブルータです

スタンバイ ルータ

172.16.6.6, priority 100

local

R2はスタンバイルータです

Priority

105（設定は105）

100（デフォルトは100）

R1のプライオリティの方が高い

プリエンプション

プリエンプション対応

プリエンプション対応

両方のルータは、プライオリティが高くなるとプリエンプション処理できます

トラックオブジェクト

トラックオブジェクト10ステートのアップデクリメント10

トラックオブジェクト20ステートのアップデクリメント10

トラッキング対象のサーバ側インターフェイスが両方ともアップの状態です

仮想MACの使用

使用中のMAC

MACが使用されていない

R1は現在HSRP仮想MACに転送しています

R1#show standby

FortyGigabitEthernet0/2/0 - Group 1 State is Active     2 state changes, last state change 15:44:50

Virtual IP address is 172.16.6.100

Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)

Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 0.352 secs

Preemption enabled   Active router is local

Standby router is 172.16.6.6, priority 100 (expires in 10.048 sec) Priority 105 (configured 105) Track object 10 state Up decrement 10

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 1/1

R2#show standby

FortyGigabitEthernet0/2/0 - Group 1 State is Standby     4 state changes, last state change 00:11:06

Virtual IP address is 172.16.6.100   Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)

Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 1.504 secs

Preemption enabled Active router is 172.16.6.5, priority 105 (expires in 9.136 sec)

Standby router is local

Priority 100 (default 100) Track object 20 state Up decrement 10

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 0/1

R1のFortyGigabitEthernet0/2/4インターフェイスがダウンするとどうなりますか。

FortyGigabitEthernet0/2/4がR1でダウンした後、トラッキングオブジェクト10はダウン状態に変わります。次にHSRPは、設定された減少値10をR1のプライオリティに適用します。その結果、R1のプライオリティが設定値の105から有効値の95に変更されます。

R2のプライオリティは100のままなので、R2のHSRPプライオリティの方が高くなります。プリエンプションが有効になっているため、R2がアクティブロールを引き継ぎます。出力は、この動作を確認します。

- R1の状態がスタンバイに変わります。

- R1はプライオリティ95（設定済み105）を示しています。

- R1は、トラックオブジェクト10のステートダウンの減分値が10であることを示しています。

- R2の状態がActiveに変わります。

- R2は、アクティブルータがローカルであることを示しています。

- R2はアクティブな仮想MACアドレス0000.0c07.ac01を使用します。

この時点で、LANホストは同じデフォルトゲートウェイである172.16.6.100を使用し続けますが、トラフィックはR1ではなくR2経由で転送されます。

show standby コマンドの出力は次のようになります。

R1#show standby

FortyGigabitEthernet0/2/0 - Group 1

State is Standby

4 state changes, last state change 00:00:46

Virtual IP address is 172.16.6.100

Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)     Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 1.200 secs

Preemption enabled

Active router is 172.16.6.6, priority 100 (expires in 8.512 sec)

Standby router is local Priority 95 (configured 105)

Track object 10 state Down decrement 10

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 0/1

R2#show standby

FortyGigabitEthernet0/2/0 - Group 1

State is Active

5 state changes, last state change 00:01:34

Virtual IP address is 172.16.6.100

Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)     Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 0.592 secs

Preemption enabled

Active router is local Standby router is 172.16.6.5, priority 95 (expires in 11.712 sec) Priority 100 (default 100) Track object 20 state Up decrement 10

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 1/1

注:R2でstandby preemptが設定されていない場合、R2はCoupメッセージをR1に送信しないため、R2がアクティブになることはありません。代わりに R1 がアクティブ ルータのままになります。

次の例は、R2でstandby preemptが設定されていない場合の動作を示しています。 R2でstandby preemptが設定されていない場合、プライオリティ100がR1の有効なプライオリティ95より高くても、R2はアクティブなロールを引き継ぎません。R1は、障害が発生するか、再サインするか、別のHSRPイベントによって新しい選択が行われるまで、アクティブのままです。

R1#show running-config interface FortyGigabitEthernet0/2/0

Building configuration...

Current configuration : 212 bytes

!

interface FortyGigabitEthernet0/2/0

ip address 172.16.6.5 255.255.255.0

no ip redirects

standby 1 ip 172.16.6.100

standby 1 priority 105

standby 1 preempt

standby 1 track 10 decrement 10

cdp enable

end

R1#show standby

FortyGigabitEthernet0/2/0 - Group 1

State is Active

5 state changes, last state change 00:12:27

Virtual IP address is 172.16.6.100

Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)

Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 0.256 secs

Preemption enabled Active router is local Standby router is 172.16.6.6, priority 100 (expires in 9.200 sec)

Priority 95 (configured 105)

Track object 10 state Down decrement 10

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 1/1

R1#

R2#show running-config interface FortyGigabitEthernet0/2/0

Building configuration...

Current configuration : 190 bytes

!

interface FortyGigabitEthernet0/2/0

ip address 172.16.6.6 255.255.255.0

no ip redirects

standby 1 ip 172.16.6.100

standby 1 track 20 decrement 10

no negotiation auto

cdp enable

end

R2#show standby

FortyGigabitEthernet0/2/0 - Group 1

State is Standby

7 state changes, last state change 00:11:54

Virtual IP address is 172.16.6.100

Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)

Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 2.032 secs

Preemption disabled Active router is 172.16.6.5, priority 95 (expires in 9.632 sec) Standby router is local Priority 100 (default 100) Track object 20 state Up decrement 10

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 0/1

R2#

次の例は、同じHSRPグループの下にある複数のオブジェクトをトラッキングしているHSRPを示しています。トラッキング対象の各オブジェクトには独自の減少値が必要であるため、HSRPは、そのオブジェクトがダウンしたときにルータの優先順位をどれだけ下げればよいかを認識できます。この出力では、R1はプライオリティ105で設定されており、トラックオブジェクト10はプライオリティを10減らし、トラックオブジェクト15はプライオリティを20減らします。両方のオブジェクトがダウンしているため、減分合計は30になり、R1の優先順位が105から75に下がります。R2のプライオリティが100のままであるため、R2がアクティブルータになり、R1はスタンバイステートに移行します。

R1#show running-config interface FortyGigabitEthernet0/2/0

Building configuration...

Current configuration : 245 bytes

!

interface FortyGigabitEthernet0/2/0

ip address 172.16.6.5 255.255.255.0

no ip redirects

standby 1 ip 172.16.6.100

standby 1 priority 105

standby 1 preempt

standby 1 track 10 decrement 10 standby 1 track 15 decrement 20

cdp enable

end

R1#show standby

FortyGigabitEthernet0/2/0 - Group 1

State is Standby

7 state changes, last state change 00:03:24

Virtual IP address is 172.16.6.100

Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)

Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec

Next hello sent in 1.008 secs

Preemption enabled

Active router is 172.16.6.6, priority 100 (expires in 9.856 sec)

Standby router is local

Priority 75 (configured 105) Track object 10 state Down decrement 10 Track object 15 state Down decrement 20

Group name is "hsrp-Fo0/2/0-1" (default)

FLAGS: 0/1

関連情報

- HSRP のサポート ページ

- テクニカル サポートとドキュメント – Cisco Systems