IT用語集

HSRPとは? わかりやすく10分で解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

はじめに

社内ネットワークや拠点ネットワークでは、「ルーターが停止したら通信が止まる」状態は、できるだけ避けたいところです。特に、端末やサーバーのデフォルトゲートウェイ(最初に出ていく出口)が単一障害点になっていると、ルーター1台の故障や再起動だけで、多数の端末が一斉に通信できなくなることがあります。

そこで使われる代表的な仕組みが、CiscoのHSRP(Hot Standby Router Protocol)です。HSRPは、複数台のルーターを「ひとつの仮想ルーター」として動作させ、出口(デフォルトゲートウェイ)を冗長化します。障害やメンテナンスが発生しても、端末側の設定を変えずに通信を継続できる状態を目指します。

HSRPとは?

HSRP(Hot Standby Router Protocol)は、Ciscoが提供するファーストホップ冗長化(FHRP: First Hop Redundancy Protocol)の一つです。端末が最初にパケットを送る相手(デフォルトゲートウェイ)を冗長化し、片方のルーターが使えなくなっても、もう一方が自動的に引き継げるようにします。

HSRPの特徴は、端末が参照するゲートウェイを「実ルーターのIP」ではなく、仮想IPアドレス(Virtual IP)として提供する点にあります。端末は仮想IPをデフォルトゲートウェイとして設定しておけばよく、どのルーターが実際に転送を担当しているかを意識する必要はありません。

冗長性とは?

冗長性とは、ある機器や経路に障害が起きても、サービスを止めずに動かし続けるための設計です。ネットワークの場合は、ルーター、スイッチ、回線、電源など、どこかが故障しても通信を継続できる状態を指します。

ただし冗長性は「機器が2台ある」だけでは成立しません。切り替えの判断、引き継ぎの方法、誤動作時の影響範囲などを踏まえ、運用できる形に落とし込んで初めて意味を持ちます。HSRPは、その中でも「デフォルトゲートウェイの冗長化」を担う仕組みです。

HSRPの役割

HSRPの役割は、端末から見たデフォルトゲートウェイを「仮想ルーター」として提供し、次の2点を実現することです。

  • 通常時:複数台のルーターのうち、選ばれた1台(Active)が転送を担当する
  • 障害時:Activeが使えなくなったら、待機している別の1台(Standby)が引き継ぐ

切り替えの瞬間も、端末から見ると「同じ仮想IP(同じゲートウェイ)」のままなので、端末設定は変えずに済みます。実際には、Active/Standbyの選出や状態監視、切り替えはルーター同士がHSRPのメッセージ(Helloなど)で行います。

なお、HSRPはルーティングプロトコル(OSPFやBGPなど)そのものの代替ではありません。HSRPはあくまで「端末にとっての最初の出口」を冗長化する仕組みであり、上流側の経路制御は別途(静的ルートや動的ルーティングなど)で設計します。

HSRPの構成

HSRPは、基本的に「同じL2セグメント(同じVLANなど)にいる複数台のルーター」が、1つのHSRPグループを作って動作します。端末は、そのグループが提供する仮想IPをデフォルトゲートウェイとして使います。

HSRPの基本要素は次の通りです。

  • HSRPグループ番号:同じ仮想ゲートウェイを構成する単位
  • 仮想IPアドレス:端末がデフォルトゲートウェイとして参照するIP
  • Activeルーター:通常時に転送を担当するルーター
  • Standbyルーター:Activeに障害が起きたときに引き継ぐルーター

切り替えをイメージするうえでは、仮想IPだけでなく、L2で使われる仮想MACアドレスも重要です。端末はARPで仮想IPに対応するMACを学習し、そこにパケットを送ります。HSRPはActiveが交代したときに、端末が「新しいActive」に到達できるよう、仮想MACの扱いや通知(Gratuitous ARPなど)を使って切り替えを成立させます。

基本的な設定手順

HSRPの設定は、通常「LAN側のインターフェース(SVIや物理IFなど)」に対して行います。流れとしては次の順で整理すると把握しやすいでしょう。

  1. 対象インターフェースを決める(端末がデフォルトゲートウェイとして接続するセグメント)
  2. 仮想IPを決める(端末に配るデフォルトゲートウェイのIP)
  3. グループ番号を決める(同じ仮想IPを共有するルーター間で揃える)
  4. Activeにしたいルーターの優先度(priority)を調整する
  5. 必要ならpreempt(優先度が高いルーターがActiveを取り戻す)を設計する
  6. 必要ならトラッキング(track)で「上流が落ちたら優先度を下げる」などを入れる

同じグループに参加するルーターは、少なくともグループ番号仮想IP、そしてHSRPバージョンの整合を取る必要があります。ここがずれると、互いを同じグループとして認識できず、フェイルオーバーが成立しません。

実際の設定例

代表的な設定例です(HSRP v2を使い、優先度を上げ、preemptを有効化するケース)。

interface GigabitEthernet0/0
 description LAN Interface
 ip address 192.168.1.2 255.255.255.0
 standby version 2
 standby 1 ip 192.168.1.1
 standby 1 priority 110
 standby 1 preempt

この例の読み方は次の通りです。

  • standby version 2:このインターフェースでHSRP v2を使う
  • standby 1 ip 192.168.1.1:グループ1の仮想IPを192.168.1.1にする(端末のゲートウェイ)
  • standby 1 priority 110:優先度を110にする(デフォルトは100)
  • standby 1 preempt:優先度が高い状態になったらActiveを取り戻す

実運用では、preemptは「有効にすればよい」というものではありません。再起動直後のルーターは、上流ルートがまだ安定していないことがあります。そこで、preempt delay(復帰後に一定時間待ってからActiveに戻る)や、後述のtrack(上流障害時に優先度を下げる)と組み合わせると、不要な切り替え(フラップ)を抑えやすくなります。

HSRPのバージョン

HSRPには主にVersion 1とVersion 2があります。基本の考え方(Active/Standbyで仮想ゲートウェイを提供する)は同じですが、いくつか重要な違いがあります。運用上の注意点として、v1とv2は互換性がありません。同一セグメント内で混在すると、同じグループとしては動作しません。

HSRP Version 1

HSRP v1は古くから使われてきた基本形です。小規模な構成でも扱いやすい一方、設計によっては制約が気になることがあります。

  • グループ番号の範囲が比較的小さい
  • v2と比べると拡張性(例:グループ数)が限定される
  • v2と互換性がない(同じグループとしては動作しない)

既存ネットワークでv1が動いている場合は、安易にv2へ切り替えるのではなく、影響範囲(端末のARP、スイッチのMAC学習、監視、設定整合)を確認し、計画的に進めるのが安全です。

HSRP Version 2

HSRP v2は、v1の制約を緩和し、より大規模な構成やIPv6などに対応しやすくしたバージョンです。一般的に次の点がメリットになります。

  • より多いグループ番号を扱える(設計の自由度が上がる)
  • IPv6などの要件に対応しやすい
  • パケット形式やマルチキャストアドレスなどがv1と異なるため互換性がない

運用面の注意は、v1と同じで「同一グループ内の整合」です。特に、片側だけがv2、もう片側がv1という状態だと、期待した冗長化になりません。設定変更時は、両系統のバージョンとグループ設定をセットで確認します。

HSRPの応用

HSRPの基本は「デフォルトゲートウェイの冗長化」ですが、実務では「切り替えを安定させる」「障害時の動作を設計に寄せる」「複数VLANで役割を分担する」といった工夫がよく行われます。

ネットワークの冗長性向上(安定したフェイルオーバー)

単にActive/Standbyを作るだけでなく、運用で効いてくるのは次のような設計です。

  • トラッキング(track):上流回線や重要インターフェースが落ちたら優先度を下げ、Standbyへ切り替えやすくする
  • preempt delay:復帰直後の不安定な状態でActiveを取り戻さないようにする
  • タイマー設計:Hello/Holdの調整は、切り替え速度と誤検知リスクのバランスで決める

「ルーターは稼働しているが、上流が断になっている」状態は起こり得ます。この場合、HSRPだけだとActiveの交代が起きないことがあります。そこでtrackを使って「上流が落ちたら優先度を下げる」ようにしておくと、障害時のふるまいを設計に寄せやすくなります。

トラフィックの分担(負荷分散の“考え方”)

ここは誤解されやすいポイントです。HSRPは、基本的に1つのHSRPグループにつきActiveは1台です。HSRP自体が「1つの仮想ゲートウェイを動的に負荷分散する」仕組みではありません。

一方で、実務では「複数のVLAN(複数のHSRPグループ)」を使い、VLANごとにActiveを分けることで、結果としてルーター間でトラフィックの役割分担をすることがあります。たとえば、VLAN10はR1をActive、VLAN20はR2をActiveにしておけば、平常時から2台を活用できます。

ただし、これは「設計による分担」であり、トラフィック状況を見て自動で均等配分するような動作ではありません。もし「ゲートウェイ冗長化+負荷分散」を要件として強く求めるなら、Ciscoの別方式(例:GLBP)など、要件に合う仕組みの検討が必要になります。

HSRPのトラブルシューティング

HSRPがうまく動かないときは、原因が「HSRP設定そのもの」だけとは限りません。L2(VLAN、トランク、マルチキャスト到達性)、IP重複、ACL、監視設計など、周辺要素が絡みます。ここでは、切り分けの基本となるポイントをまとめます。

一般的な問題とその解決策

よくある問題は、概ね次のパターンに集約されます。

  • フェイルオーバーしない:グループ番号/仮想IP/HSRPバージョンが一致していない、同一VLANでない、HSRPメッセージが届いていない
  • 意図しないActive交代(フラップ):タイマーが短すぎる、回線やCPU負荷でHelloが欠落する、preempt設計が適切でない
  • 切り替わったのに通信が戻らない:ARP/MAC学習が追いつかない、スイッチ側の学習が遅い、端末が古いARPを保持している
  • Activeは生きているが上流が死んでいる:trackがないため、HSRP上はActiveのままになっている

対策の基本は、まず「同じグループとして会話できているか」を確認し、その次に「Active/Standbyの選出が設計通りか」、最後に「切り替え後にL2/L3が追従できているか」を見ます。

設定の確認とデバッグ

確認でよく使うコマンド例です(機種やOSで差はありますが、考え方は同じです)。

  • show standby:HSRPの状態(Active/Standby、仮想IP、優先度、タイマーなど)を確認
  • show standby brief:概要を短く確認
  • show running-config interface ...:対象IFの設定整合を確認
  • show ip arp:仮想IPに対するARPがどう見えているかを確認
  • show mac address-table(スイッチ側): 仮想MACやルーターMACの学習状況を確認

デバッグとしては debug standby(または機種に応じたHSRPデバッグ)を使いますが、ルーターに負荷をかけることがあります。運用中の本番ネットワークでは、必要な時間だけ影響を理解したうえで実施するのが安全です。可能なら、まずはshow系で状況を整理し、必要最小限でデバッグに入ります。

また、切り分けを早くするコツは、「Active/Standbyは設計通りだが通信が戻らない」のか、「そもそもActive/Standbyが設計通りでない」のかを分けることです。前者ならARP/MACや上流経路、後者なら設定整合やHello到達性が焦点になります。

まとめ

HSRPは、端末にとってのデフォルトゲートウェイを冗長化し、ルーター障害やメンテナンス時でも通信を継続しやすくするファーストホップ冗長化の仕組みです。端末は仮想IPをゲートウェイとして使い、ルーター側でActive/Standbyを自動的に切り替えます。

実務では、priority/preemptだけでなく、trackpreempt delay、タイマー設計を組み合わせて、切り替えが不安定になりにくい状態を作るのがポイントです。また、HSRPは基本的に1グループ1Activeであり、負荷分散を狙う場合は「VLANごとにActiveを分ける」といった設計上の工夫や、要件に応じた別方式の検討が必要です。

HSRPが期待通りに動かないときは、設定だけでなく、VLAN/トランク、HSRPバージョンの整合、ARP/MAC学習、上流障害時のふるまいなど、周辺条件も含めて確認すると、原因にたどり着きやすくなります。

Q.HSRPとは何のための仕組みですか?

端末のデフォルトゲートウェイを冗長化し、ルーター障害時でも通信を継続しやすくするための仕組みです。

Q.端末側で設定するゲートウェイは何になりますか?

HSRPグループが提供する仮想IPアドレスをデフォルトゲートウェイとして設定します。

Q.HSRPでは何台のルーターが同時に転送を担当しますか?

基本的に1つのHSRPグループではActiveの1台が転送を担当し、他はStandbyとして待機します。

Q.HSRP v1とv2は混在できますか?

同じグループとしては混在できません。v1とv2は互換性がないため、整合を取る必要があります。

Q.preemptは必ず有効にすべきですか?

必須ではありません。復帰直後の不安定な切り替えを避けるため、delayや運用方針とセットで検討します。

Q.上流回線が落ちたときに自動で切り替えたいです。どうしますか?

track機能で上流IFや監視対象が落ちた場合に優先度を下げ、Standbyへ切り替えやすくします。

Q.HSRPでトラフィックを自動で負荷分散できますか?

HSRP単体は自動負荷分散の仕組みではありません。VLANごとにActiveを分けて役割分担する設計は可能です。

Q.フェイルオーバーしないときの典型原因は何ですか?

グループ番号・仮想IP・バージョン不一致、同一VLANでない、HSRPメッセージ到達不可などが多いです。

Q.切り替わったのに通信が戻らないのはなぜですか?

ARPやスイッチのMAC学習が追従していない、古いARPを保持しているなど、L2/L3の追従問題が考えられます。

Q.HSRPの状態確認でよく使うコマンドは何ですか?

show standby(またはshow standby brief)でActive/Standbyや仮想IP、優先度、タイマーなどを確認します。

記事を書いた人

ソリトンシステムズ・マーケティングチーム