社内のPCが使っているデフォルトゲートウェイのルーターが1台だけ壊れたら、そのフロア全体はどうなるでしょう?
デフォルトゲートウェイは、社内から外の世界へ出ていく唯一の出口です。その出口が1つしかなければ、そこが壊れた瞬間に通信は止まってしまいます。この弱点を、どう補えばよいでしょうか。
デフォルトゲートウェイという「唯一の出口」の弱点
これまでのレッスンで、PCは自分のセグメント外へ通信するとき、必ずデフォルトゲートウェイ(多くはルーターやL3スイッチ)を経由すると学んできました。しかし、PC側の設定は基本的に1つのIPアドレスしか指定できません。そのゲートウェイ役のルーターが1台しかないと、故障やメンテナンスのたびにそのフロア全体が通信不能になってしまいます。
これは、ビルの唯一の非常口が塞がれてしまうようなものです。安全のためには、非常口をもう1つ用意しておきたいところです。この「ゲートウェイの冗長化」を実現する仕組みがFHRP(First Hop Redundancy Protocol)です。
FHRPの基本発想:複数のルーターを1つの「仮想ルーター」に見せる
FHRPの考え方はシンプルです。物理的には2台(またはそれ以上)のルーターがあっても、PC側からは1つの仮想的なゲートウェイだけが見えるようにします。PCは常にこの仮想IPアドレスをデフォルトゲートウェイとして使い続け、裏側でどちらの実機が実際に転送を担当しているかは意識しなくて済みます。
FHRPにはHSRP(Cisco独自)、VRRP(標準規格)、GLBP(Cisco独自、負荷分散対応)などの種類がありますが、CCNAで中心となるのはHSRP(Hot Standby Router Protocol)です。
HSRPの仕組み:仮想IPと仮想MAC
HSRPグループでは、複数台のルーターが1つの仮想IPアドレスと1つの仮想MACアドレスを共有します。仮想MACアドレスは0000.0c07.acXXという形式を取り、末尾のXXはHSRPグループ番号(16進数)になります。
グループの中では、実際にトラフィックを転送するアクティブルーターが1台と、アクティブがダウンしたときに即座に引き継ぐスタンバイルーターが1台選ばれます。PCは常に仮想IP・仮想MACだけを見ているため、アクティブが切り替わったこと自体に気づきません。受付カウンターの担当者が交代しても、来客からは同じカウンターに見え続けるようなイメージです。
HSRPの設定コマンド
設定はインターフェースコンフィグレーションモードで行います。
Router(config)# interface GigabitEthernet0/0
Router(config-if)# standby 1 ip 192.168.1.1
Router(config-if)# standby 1 priority 110
Router(config-if)# standby 1 preempt
standby 1 ip 192.168.1.1… グループ1の仮想IPアドレスを指定standby 1 priority 110… このルーターの優先度(デフォルトは100)。数値が大きいほうがアクティブになるstandby 1 preempt… 自分がより高い優先度を持つ場合、後からでもアクティブの座を奪い返す(プリエンプト)
ここがOSPFのDR選出と対照的な点です。HSRPではpreemptを明示的に設定しない限り、優先度の高いルーターが後から復旧してもアクティブには戻りません。「一度アクティブを譲ったら、明示的な指示がない限りそのまま」という動きになります。
HSRPで、いったんスタンバイに回ったルーターが、後から高い優先度を理由にアクティブを取り戻すために必要な設定はどれでしょう?
答えを見る
standby [グループ番号] preempt です。HSRPはデフォルトでプリエンプトが無効なので、優先度を上げただけではアクティブは切り替わりません。preemptを明示的に設定して初めて、優先度の高いルーターが後から復旧してもアクティブの座を奪い返せます。
状態の確認:show standby
現在どちらがアクティブかはshow standbyで確認します。
Router# show standby
GigabitEthernet0/0 - Group 1
State is Active
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Priority 110 (configured 110)
Preemption enabled
State is Activeであればこのルーターが現在の転送担当、Standbyであれば待機中であることが分かります。
HSRPの仮想MACアドレスの形式として正しいものはどれでしょう?
答えを見る
0000.0c07.acXX(XXはHSRPグループ番号を16進数で表したもの)です。Ciscoベンダーコードを含むこの仮想MACを、アクティブ・スタンバイの両ルーターで共有することで、PC側はアクティブの切り替わりを意識せずに通信を続けられます。
試験でのポイント
CCNA試験では、「優先度は数値が大きいほうが有利」という点と、「preemptがないと優先度が高くても自動的にアクティブへ戻らない」という点がセットで問われやすいポイントです。OSPFのDR選出(プリエンプトなし固定)と混同しないよう、HSRPは設定次第でプリエンプトを有効にできるという違いを整理しておきましょう。また仮想MACのacはHSRPを示す識別子として覚えておくと安心です。
ゲートウェイを2台構えて、仮想IPと仮想MACで1台に見せかけるのがHSRPの発想。優先度は数値が大きい方が勝ち、でもpreemptがないと自動では戻らない、ここがテストの狙われどころだよ。次はNATの仕組み、社内のプライベートIPを外の世界とどうつなげるかを見ていくよ。