社内ネットワークや拠点ネットワークでは、「ルーターが停止したら通信が止まる」状態は、できるだけ避けたいところです。特に、端末やサーバーのデフォルトゲートウェイ(最初に出ていく出口)が単一障害点になっていると、ルーター1台の故障や再起動だけで、多数の端末が一斉に通信できなくなることがあります。
そこで使われる代表的な仕組みが、CiscoのHSRP(Hot Standby Router Protocol)です。HSRPは、複数台のルーターを「ひとつの仮想ルーター」として動作させ、出口(デフォルトゲートウェイ)を冗長化します。障害やメンテナンスが発生しても、端末側の設定を変えずに通信を継続できる状態を目指します。
HSRP(Hot Standby Router Protocol)は、Ciscoが提供するファーストホップ冗長化(FHRP: First Hop Redundancy Protocol)の一つです。端末が最初にパケットを送る相手(デフォルトゲートウェイ)を冗長化し、片方のルーターが使えなくなっても、もう一方が自動的に引き継げるようにします。
HSRPの特徴は、端末が参照するゲートウェイを「実ルーターのIP」ではなく、仮想IPアドレス(Virtual IP)として提供する点にあります。端末は仮想IPをデフォルトゲートウェイとして設定しておけばよく、どのルーターが実際に転送を担当しているかを意識する必要はありません。
冗長性とは、ある機器や経路に障害が起きても、サービスを止めずに動かし続けるための設計です。ネットワークの場合は、ルーター、スイッチ、回線、電源など、どこかが故障しても通信を継続できる状態を指します。
ただし冗長性は「機器が2台ある」だけでは成立しません。切り替えの判断、引き継ぎの方法、誤動作時の影響範囲などを踏まえ、運用できる形に落とし込んで初めて意味を持ちます。HSRPは、その中でも「デフォルトゲートウェイの冗長化」を担う仕組みです。
HSRPの役割は、端末から見たデフォルトゲートウェイを「仮想ルーター」として提供し、次の2点を実現することです。
切り替えの瞬間も、端末から見ると「同じ仮想IP(同じゲートウェイ)」のままなので、端末設定は変えずに済みます。実際には、Active/Standbyの選出や状態監視、切り替えはルーター同士がHSRPのメッセージ(Helloなど)で行います。
なお、HSRPはルーティングプロトコル(OSPFやBGPなど)そのものの代替ではありません。HSRPはあくまで「端末にとっての最初の出口」を冗長化する仕組みであり、上流側の経路制御は別途(静的ルートや動的ルーティングなど)で設計します。
HSRPは、基本的に「同じL2セグメント(同じVLANなど)にいる複数台のルーター」が、1つのHSRPグループを作って動作します。端末は、そのグループが提供する仮想IPをデフォルトゲートウェイとして使います。
HSRPの基本要素は次の通りです。
切り替えをイメージするうえでは、仮想IPだけでなく、L2で使われる仮想MACアドレスも重要です。端末はARPで仮想IPに対応するMACを学習し、そこにパケットを送ります。HSRPはActiveが交代したときに、端末が「新しいActive」に到達できるよう、仮想MACの扱いや通知(Gratuitous ARPなど)を使って切り替えを成立させます。
HSRPの設定は、通常「LAN側のインターフェース(SVIや物理IFなど)」に対して行います。流れとしては次の順で整理すると把握しやすいでしょう。
同じグループに参加するルーターは、少なくともグループ番号と仮想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
この例の読み方は次の通りです。
実運用では、preemptは「有効にすればよい」というものではありません。再起動直後のルーターは、上流ルートがまだ安定していないことがあります。そこで、preempt delay(復帰後に一定時間待ってからActiveに戻る)や、後述のtrack(上流障害時に優先度を下げる)と組み合わせると、不要な切り替え(フラップ)を抑えやすくなります。
HSRPには主にVersion 1とVersion 2があります。基本の考え方(Active/Standbyで仮想ゲートウェイを提供する)は同じですが、いくつか重要な違いがあります。運用上の注意点として、v1とv2は互換性がありません。同一セグメント内で混在すると、同じグループとしては動作しません。
HSRP v1は古くから使われてきた基本形です。小規模な構成でも扱いやすい一方、設計によっては制約が気になることがあります。
既存ネットワークでv1が動いている場合は、安易にv2へ切り替えるのではなく、影響範囲(端末のARP、スイッチのMAC学習、監視、設定整合)を確認し、計画的に進めるのが安全です。
HSRP v2は、v1の制約を緩和し、より大規模な構成やIPv6などに対応しやすくしたバージョンです。一般的に次の点がメリットになります。
運用面の注意は、v1と同じで「同一グループ内の整合」です。特に、片側だけがv2、もう片側がv1という状態だと、期待した冗長化になりません。設定変更時は、両系統のバージョンとグループ設定をセットで確認します。
HSRPの基本は「デフォルトゲートウェイの冗長化」ですが、実務では「切り替えを安定させる」「障害時の動作を設計に寄せる」「複数VLANで役割を分担する」といった工夫がよく行われます。
単にActive/Standbyを作るだけでなく、運用で効いてくるのは次のような設計です。
「ルーターは稼働しているが、上流が断になっている」状態は起こり得ます。この場合、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設定そのもの」だけとは限りません。L2(VLAN、トランク、マルチキャスト到達性)、IP重複、ACL、監視設計など、周辺要素が絡みます。ここでは、切り分けの基本となるポイントをまとめます。
よくある問題は、概ね次のパターンに集約されます。
対策の基本は、まず「同じグループとして会話できているか」を確認し、その次に「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だけでなく、trackやpreempt delay、タイマー設計を組み合わせて、切り替えが不安定になりにくい状態を作るのがポイントです。また、HSRPは基本的に1グループ1Activeであり、負荷分散を狙う場合は「VLANごとにActiveを分ける」といった設計上の工夫や、要件に応じた別方式の検討が必要です。
HSRPが期待通りに動かないときは、設定だけでなく、VLAN/トランク、HSRPバージョンの整合、ARP/MAC学習、上流障害時のふるまいなど、周辺条件も含めて確認すると、原因にたどり着きやすくなります。
端末のデフォルトゲートウェイを冗長化し、ルーター障害時でも通信を継続しやすくするための仕組みです。
HSRPグループが提供する仮想IPアドレスをデフォルトゲートウェイとして設定します。
基本的に1つのHSRPグループではActiveの1台が転送を担当し、他はStandbyとして待機します。
同じグループとしては混在できません。v1とv2は互換性がないため、整合を取る必要があります。
必須ではありません。復帰直後の不安定な切り替えを避けるため、delayや運用方針とセットで検討します。
track機能で上流IFや監視対象が落ちた場合に優先度を下げ、Standbyへ切り替えやすくします。
HSRP単体は自動負荷分散の仕組みではありません。VLANごとにActiveを分けて役割分担する設計は可能です。
グループ番号・仮想IP・バージョン不一致、同一VLANでない、HSRPメッセージ到達不可などが多いです。
ARPやスイッチのMAC学習が追従していない、古いARPを保持しているなど、L2/L3の追従問題が考えられます。
show standby(またはshow standby brief)でActive/Standbyや仮想IP、優先度、タイマーなどを確認します。