VRRP

目次

VRRPとは

VRRP(Virtual Router Redundancy Protocol)は、デフォルトゲートウェイを冗長化するための標準プロトコルで、RFC3768で規定されています。Cisco独自のHSRPと違い、IETF標準であるためマルチベンダー環境でも利用できるのが大きな特徴です。

この仕組みでは、複数のルータで「仮想IPアドレス」と「仮想MACアドレス」を共有し、ホストからは1台のルータに見えるように動作します。実際にパケットを転送するのは「マスタールータ」と呼ばれる機器で、その他は「バックアップルータ」として待機します。ホストが設定するデフォルトゲートウェイは物理ルータのIPアドレスではなく仮想IPアドレスになります。

HSRPとの違い

VRRPの特徴的な違いは、仮想IPアドレスにルータの物理IPアドレスをそのまま指定できることです。この場合、そのルータは「仮想IPアドレスオーナー」と呼ばれ、自動的にマスタールータとなりプライオリティは255に固定されます。

さらに、HSRPではアクティブとスタンバイの両方がHelloをやり取りするのに対し、VRRPではマスタールータだけがアドバタイズメントを送信し、バックアップルータはそれを受信して待機するだけです。つまり、マスタールータは「誰がバックアップなのか」を把握しない仕様になっています。

VRRPの基本動作

マスタールータは1秒ごとにアドバタイズメントを送信します。バックアップルータはそれを3秒以内に受け取れなければ、マスタールータがダウンしたと判断し自分がマスタールータに昇格します。

プライオリティは0から255まで設定可能で、デフォルトは100です。値が高いルータがマスターとなり、同じ値ならインターフェースのIPアドレスが大きい方が選ばれます。

VRRPの用語整理

仮想IPアドレスはホストのデフォルトゲートウェイに設定するアドレスです。
仮想MACアドレスはARP応答で通知され、形式は常に「0000.5e00.01xx」となり、末尾のxxがグループ番号に対応します。
仮想ルータは仮想IPと仮想MACを持ち、複数のルータで構成されます。
マスタールータは実際にパケットを処理する機器、バックアップルータは待機していてマスターが故障すれば引き継ぎます。
アドバタイズメントはマルチキャスト(224.0.0.18、プロトコル番号112)で送られる制御情報です。
VRRPグループとは仮想ルータを構成する集合体で、セグメントごとに作成します。

VRRPの実装例

R1とR2を同じVRRPグループに設定し、R1のプライオリティを高くすればR1がマスター、R2がバックアップになります。ホストのデフォルトゲートウェイを172.16.1.254に設定すると、ARP応答はR1が返すため、実際のパケット転送もR1で処理されます。

また、VRRPの運用では、仮想IPにマスターにしたいルータの物理アドレスを設定することが多く、この場合そのルータが自動的にマスターとなります。Cisco機器ではこの時プライオリティは255に設定されます。

VRRPの仮想MACアドレス

VRRPで使用される仮想MACアドレスは以下の規則で決まります。

  • グループ1の場合 → 0000.5e00.0101
  • グループ5の場合 → 0000.5e00.0105
  • グループ10の場合 → 0000.5e00.010a

この仮想MACがホストのARPテーブルに保存され、以降の通信で利用されます。

試験対策:「VRRPは標準プロトコル」「アドバタイズメントはマスターのみが送信」「仮想IPに物理IPを指定できる点」「仮想MACの規則」がよく問われるため、必ず押さえておく必要があります。

VRRPの基本設定

VRRPを導入する際には、グループに参加するすべてのルータに対して設定を行う必要があります。まず、VRRPを有効にしたいL3インターフェースを選び、グループ番号と仮想IPアドレスを指定します。インターフェースは、L3スイッチのSVIでも、ルータの物理インターフェースでも構いません。

VRRPの有効化

(config)# interface vlan 10
(config-if)# vrrp 10 ip 192.168.10.254

この例では、VLAN10に対してVRRPグループ10を設定し、仮想IPアドレス192.168.10.254を割り当てています。ホストはこのアドレスをデフォルトゲートウェイとして利用します。

プライオリティの設定

VRRPのマスタールータは、グループ内で最も高いプライオリティを持つルータになります。プライオリティは1から255まで指定可能で、デフォルトは100です。

もし複数のルータが同じプライオリティを持つ場合には、インターフェースに設定されているIPアドレスが大きいルータがマスターとして選ばれます。また、仮想IPアドレスに物理インターフェースのIPアドレスを指定したルータは「仮想IPアドレスオーナー」となり、自動的にプライオリティ255でマスタールータになります。

設定例

(config-if)# vrrp 10 priority 105

この設定により、グループ10でプライオリティ105を持つルータは、他のルータより優先してマスターになれます。

プリエンプトの設定

VRRPでは、デフォルトでプリエンプトが有効になっています。これは、より高いプライオリティを持つルータが復旧した際に、自動的にマスターの役割を取り戻す機能です。

もし手動で設定を確認したい場合は次のように記述します。

(config-if)# vrrp 10 preempt

設定例

SW1の設定

SW1(config)# interface vlan 5
SW1(config-if)# ip address 172.16.5.1 255.255.255.0
SW1(config-if)# vrrp 5 ip 172.16.5.1

SW2の設定

SW2(config)# interface vlan 5
SW2(config-if)# ip address 172.16.5.2 255.255.255.0
SW2(config-if)# vrrp 5 ip 172.16.5.1

この例では、仮想IPアドレスにSW1の物理IPアドレスを指定しています。そのためSW1が自動的にマスターとなり、SW2はバックアップとして待機します。シンプルで分かりやすい構成例です。

設定が完了したら、show vrrp brief コマンドを使って各グループの状態を確認できます。

VRRPのデフォルト値

機能デフォルト値
VRRPグループ未設定
仮想MACアドレス0000.5e00.01XX
VRRPプライオリティ100
スタンバイ遅延0(遅延なし)
インターフェイス プライオリティの追跡10
VRRPアドバタイズ間隔(Helloタイマー)1秒
VRRPマスタダウン間隔(Holdタイマー)3秒
VRRPプリエンプト有効

試験対策:「VRRPはデフォルトでプリエンプトが有効」という点や、「仮想IPアドレスオーナーはプライオリティ255になる」という仕組みが問われやすいため、必ず覚えておきましょう。

VRRPのタイマー設定

VRRPでは、マスタールータが送信するアドバタイズメントの間隔と、マスタールータがダウンしたとみなすまでの時間をタイマーで制御します。デフォルト値は以下の通りです。

  • アドバタイズメント間隔(Helloタイマー):1秒
  • マスタダウン間隔(Holdタイマー):3秒

アドバタイズメント間隔を変更すると、マスタダウン間隔もその3倍に自動的に調整されます。そのため、設定できるのはアドバタイズメント間隔のみです。

設定例

(config-if)# vrrp 5 timers advertise 3

この設定では、グループ5のアドバタイズメント間隔を3秒に変更します。

また、バックアップルータはマスタールータから送られるタイマー値を学習することが可能です。

タイマー値の学習

(config-if)# vrrp 5 timers learn

ただし、VRRPはデフォルト値(Hello 1秒、Hold 3秒)が最も実用的であり、試験でもこの値が基本として問われます。実務でも通常は調整不要です。

プリエンプトディレイの設定

VRRPはデフォルトでプリエンプト機能が有効になっています。つまり、より高いプライオリティを持つルータが復旧すると、自動的にマスタールータに戻ります。

しかし、復旧直後はルーティングプロトコルがまだ収束していない可能性があり、その状態で切り替わるとパケットロスが発生します。そこで「プリエンプトディレイ」を設定することで、復旧後に一定時間待ってからマスタールータへ復帰させることができます。

設定例

(config-if)# vrrp 1 preempt delay minimum 60

この例では、マスタールータが復旧してもすぐには切り替わらず、60秒経過後に切り替えが行われます。

オブジェクトトラッキング

VRRPは、インターフェースの状態だけでなく、ルーティング状態や到達性を監視して切り替えを行うことも可能です。これを「オブジェクトトラッキング」と呼びます。

インターフェースの状態を監視

(config)# track 101 interface GigabitEthernet0/0 line-protocol

VRRPへの適用

(config-if)# vrrp 5 track 101 decrement 20

この例では、GigabitEthernet0/0がダウンした場合、プライオリティを20減算し、結果的に別のルータがマスタールータになる可能性が高くなります。

認証の設定

VRRPでは、不正なルータがグループに参加するのを防ぐために認証を設定することが可能です。認証方式は「平文」と「MD5」の2種類があります。

平文認証

(config-if)# vrrp 5 authentication text mypass

MD5認証(キー文字列を直接指定)

(config-if)# vrrp 5 authentication md5 key-string mypass

MD5認証(キーチェーンを使用)

(config)# key chain VRRP-KEY
(config-keychain)# key 1
(config-keychain-key)# key-string mypass

(config)# interface vlan 10
(config-if)# vrrp 5 authentication md5 key-chain VRRP-KEY

セキュリティを考慮すると、平文認証よりもMD5認証が推奨されます。試験でも「VRRPでの認証方式の違い」を問われることがあるため、両方の方法をしっかり押さえておく必要があります。

ICMPリダイレクトとは

ICMPリダイレクトは、ルータやL3スイッチといったL3デバイスが送信元ホストに対して「より適切なゲートウェイ」を通知するための仕組みです。これによりホストは効率的な経路を選び、無駄な転送を避けることができます。

この動作は、L3デバイスがパケットを受信したインターフェースと、転送先のインターフェースが同じである場合に発生します。その際、L3デバイスはパケットを転送すると同時に、送信元ホストにICMPリダイレクトメッセージを返します。ホストはその情報をもとにルーティングテーブルへ一時的な経路を追加します。

動作の流れ

ホストA(192.168.1.10)がホストB(172.16.2.10)に通信するケースを考えます。

  1. ホストAはデフォルトゲートウェイとしてSW1を利用し、宛先Bへのパケットを送信する。
  2. SW1のルーティングテーブルを見ると、宛先172.16.2.0/24の次ホップがSW2(192.168.1.2)である。
  3. SW1はパケットをSW2に転送すると同時に、ホストAへICMPリダイレクトを送信する。
  4. このメッセージには「172.16.2.0/24宛てはSW2に直接送るべき」との情報が含まれる。
  5. ホストAは一時的にその経路をルーティングテーブルに登録し、以降は直接SW2に送信するようになる。

Windowsの環境では、このリダイレクトルートは10分間保持されます。

注意点

WindowsのファイアウォールがICMPをブロックしている場合は、リダイレクトメッセージを受信できないため、この仕組みは動作しません。

また、HSRPが有効なインターフェースでICMPリダイレクトが動作すると、冗長構成が正しく機能しない場合があります。そのためCisco機器では、HSRPを有効化するとICMPリダイレクトが自動的に無効化されます。手動で設定する場合は次のように入力します。

(config-if)# no ip redirect

試験対策:「ICMPリダイレクトが発生する条件」「ホスト側での経路保持の仕組み」「HSRPとの関係」が重要なポイントです。

HSRPとVRRPの比較表

比較項目HSRPVRRP
規格シスコ独自RFC3768
グループ構成アクティブ機 – 1台スタンバイ機 – その他全てマスター機 – 1台バックアップ機 – その他全て
グループ最大数255255
パケット転送アクティブルータマスタールータ
ARP要求の応答アクティブルータマスタールータ
仮想IPアドレス未使用IPアドレス物理I/FのIP または 未使用IPアドレス
仮想MACアドレス0000.0c07.acXXXX = グループ番号0000.5e00.01XXXX = グループ番号
選出基準プライオリティ値が大きいルータがアクティブルータ仮想IPに物理I/FのIPを設定しているルータがマスタールータ
Helloパケットのマルチキャスト224.0.0.2224.0.0.18
デフォルトタイマーHello – 3秒Hold – 10秒Advertise – 1秒Master-down – 3秒
認証方式プレーンテキスト or MD5プレーンテキスト or MD5
preemptのデフォルト無効有効
動作するプロトコルUDP上で動作IP/UDPでカプセル化IP上で動作IPでカプセル化
メッセージ送信で使用するポート番号UDPポート番号:1985IPプロトコル番号:112

このように、HSRPはCisco独自実装であるのに対し、VRRPは標準化されているためマルチベンダー環境で利用できる点が大きな違いです。

試験対策:「選出基準」「デフォルトタイマー」「preemptの有効・無効の違い」が頻出ポイントとなります。

◆まとめスライド

目次