HSRPの基本設定

HSRPの基本的な設定は以下の手順です。

  1. HSRPグループと仮想IPアドレスの設定
  2. HSRPプライオリティの設定

以降で、それぞれの手順のコマンドを解説します。

HSRPグループと仮想IPアドレスの設定

HSRPは、PCやサーバなどが接続されていて、デフォルトゲートウェイとして動作するインタフェースのインタフェースコンフィグレーションモードで設定します。まず、以下のコマンドでHSRPグループと仮想ルータのIPアドレスを設定します。

HSRPグループ/仮想IPアドレス コマンドフォーマット

(config)#interface <interface-name>
(config-if)#standby <group-num> ip <ip-address>

<interface-name> : インタフェース名
<group-num> : HSRPグループ番号。0~255
<ip-address> : 仮想ルータのIPアドレス

HSRPグループ番号と仮想ルータのIPアドレスは、複数のルータで同じ設定をしなければいけないことに注意をしてください。グループ番号や仮想ルータのIPアドレスが不一致だと正しく動作しません。

レイヤ3スイッチの場合は、SVI(VLANインタフェース)でHSRPの設定を行います。SVIについては、「レイヤ3スイッチによるVLAN間ルーティング」をご覧ください。

HSRPプライオリティの設定

デフォルトのHSRPプライオリティは100です。そのため、デフォルトではアクティブルータはIPアドレスが大きいルータです。明示的にアクティブルータを決めるために次のコマンドでHSRPプライオリティを指定します。

HSRPプライオリティの設定コマンドフォーマット

(config)#interface <interface-name>
(config-if)#standby <group-num> priority <priority>

<interface-name> : インタフェース名
<group-num> : HSRPグループ番号。0~255
<priority> : プライオリティ値。0~255

HSRPのその他の設定

基本的な設定に加えて、その他の設定として、以下について解説します。

  • インタフェーストラッキング
  • 認証
  • HSRPタイマ

インタフェーストラッキング

HSRPインタフェーストラッキングの設定は、HSRPを有効にしているインタフェースのインタフェースコンフィグレーションモードで次のコマンドを入力します。

HSRPインタフェーストラッキング コマンドフォーマット

(config)#interface <interface-name>
(config-if)#standby <group-num> track <interface> [<decrement>]
(config-if)#standby <group-num> preempt

<interface-name> : インタフェース名
<group-num> : HSRPグループ番号。0~255
<interface> : 監視するインタフェース
<decrement> : プライオリティを下げる値。デフォルト10

トラッキングを行うためには、プリエンプトも有効にしておくことを忘れないようにしてください。

プリエンプトはスタンバイルータ側に入っていればよいのですが、インタフェースが復旧したときにフェイルバックさせるためにもともとのアクティブルータでもプリエンプトを有効にしておきます。プリエンプトは有効化するものだと考えておいたほうがよいです。

関連記事

ルータローカルのインタフェース以外の状態をトラッキングするには、オブジェクトトラッキングの設定を行います。オブジェクトトラッキングについて、以下の記事を参照してください。

HSRP認証

HSRP認証は、HSRPでやり取りするルータが正規のルータであることを確認します。同じパスワードが設定されていることをもって、正規のルータであるとみなします。HSRPの認証は、平文のパスワードによる認証とパスワードのMD5チェックサムによる認証が可能です。

平文パスワードの認証の設定は以下のコマンドを利用します。

HSRP認証 平文

(config)#interface <interface-name>
(config-if)#standby <group-num> authentication text <password>

<interface-name> : インタフェース名
<group-num> : HSRPグループ番号。0~255
<password> : パスワード

MD5認証は以下のコマンドを利用します。

HSRP認証 MD5

(config)#interface <interface-name>
(config-if)#standby <group-num> authentication md5 key-string <password>

<interface-name> : インタフェース名
<group-num> : HSRPグループ番号。0~255
<password> : パスワード

MD5認証の設定では、キーチェインを利用する設定もできます。

HSRPタイマ

HSRPタイマは、Helloメッセージを送信する間隔とダウンしたとみなすホールドタイマの設定です。HSRPが有効なインタフェースコンフィグレーションモードで以下のコマンドを利用します。

HSRPタイマ

(config)#interface <interface-name>
(config-if)#standby <group-num> timers <hello-time> <hold-time>

<interface-name> : インタフェース名
<hello-time> : Helloメッセージの送信間隔。デフォルト3秒
<hold-time> : ホールドタイム。デフォルト10秒

ホールドタイムはHelloインターバルの3倍程度が目安です。

障害の検出をより迅速に行うためにmsec単位でのタイマの設定も可能です。

HSRPの確認コマンド

HSRPの動作を確認するためには主に次のコマンドを利用します。

showコマンド内容

#show standby brief

HSPRグループに対するアクティブルータ、スタンバイルータ、仮想IPアドレスなどの要約情報を確認します。

#show standby

show standby briefで確認できる情報に加えて、HSRPのタイマや仮想MACアドレスなども含めた詳細情報を確認します。

表 主なHSRPの確認コマンド

HSRPの設定例

以下のネットワーク構成のR1/R2でHSRPによって、デフォルトゲートウェイの冗長化を行います。

HSRPの設定例
図 HSRPの設定例

設定する条件は以下にまとめています。

  • PCのデフォルトゲートウェイとして、192.168.1.3を指定する
  • R1をアクティブルータとして動作させる
  • R1 Fa0/1がダウンするとアクティブルータをR2に切り替える
  • アクティブルータの切り替えを3秒で行う

設定

PCのデフォルトゲートウェイを192.168.1.3とすることから、仮想ルータのIPアドレスとして192.168.1.3を利用します。R1をアクティブルータにするために、プライオリティをデフォルトよりも大きい110とします。

また、R1 Fa0/1の状態を監視します。R1 Fa0/1がダウンしたら、プライオリティを20下げてR2にアクティブルータが切り替わるようにします。トラッキングを機能させるには、preemptの設定も必要です。

アクティブルータの切り替えを3秒で行うには、ホールドタイムを3秒に設定します。それに合わせてHelloインターバルを1秒とします。

R1

interface FastEthernet0/0
 standby 1 ip 192.168.1.3
 standby 1 priority 110
 standby 1 track FastEtehernet0/1 20
 standby 1 preempt
 standby 1 timers 1 3

R2

interface FastEthernet0/0
 standby 1 ip 192.168.1.3
 standby 1 preempt
 standby 1 timers 1 3

HSRPの設定例
図 HSRPの設定例

確認

R1でshow standby briefコマンドの出力は以下のようになります。

R1

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp Prio P State    Active          Standby         Virtual IP
Fa0/0       1   110  P Active   local           192.168.1.2     192.168.1.3

R1がアクティブルータでR2(192.168.1.2)がスタンバイルータになっていることがわかります。

また、show standbyコマンドの出力は以下のようになります。

R1

R1#show standby
FastEthernet0/0 - Group 1
  State is Active
    2 state changes, last state change 00:06:00
  Virtual IP address is 192.168.1.3
  Active virtual MAC address is 0000.0c07.ac01
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 1 sec, hold time 3 sec
    Next hello sent in 0.364 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.1.2, priority 100 (expires in 2.236 sec)
  Priority 110 (configured 110)
    Track interface FastEthernet0/1 state Up decrement 20
  IP redundancy name is "hsrp-Fa0/0-1" (default)

show standbyコマンドでは、仮想MACアドレスやHelloタイム、ホールドタイムやトラッキングの設定の状態を確認することができます。

そして、R1のFa0/1をshutdownすると、トラッキングによってプライオリティが90に下げられて、R2が新しいアクティブルータに切り替わります。

R1

R1(config)#interface FastEthernet 0/1
R1(config-if)#shutdown
R1(config-if)#do show standby
FastEthernet0/0 - Group 1
  State is Standby
    4 state changes, last state change 00:00:05
  Virtual IP address is 192.168.1.3
  Active virtual MAC address is 0000.0c07.ac01
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 1 sec, hold time 3 sec
    Next hello sent in 0.132 secs
  Preemption enabled
  Active router is 192.168.1.2, priority 100 (expires in 2.120 sec)
  Standby router is local
  Priority 90 (configured 110)
    Track interface FastEthernet0/1 state Down decrement 20
  IP redundancy name is "hsrp-Fa0/0-1" (default)

IPルーティングのキホン