VRRP

VRRPは、動的経路制御が利用できない環境で複数のルーターのバックアップを行うためのプロトコルです。

VRRPには仮想のIPアドレスとMACアドレスを持つ仮想ルーターが存在します。 VRRPが動作している複数のルーターのうちマスターとなっている1台が仮想ルーターのIPアドレス/MACアドレスを利用して動作します。他のルーターはバックアップとして動作し、マスターがダウンした場合には速やかに仮想IPアドレス/MAC アドレスを引き継いで仮想ルーターが存在し続けているように動作します。ホストは、仮想ルーターをデフォルトゲートウェイとして設定することでマスターがダウンしてもバックアップ経由で通信を続けることができます。

                  +-----+      +-----+
                  | MR1 |      | BR1 |
                  |     |      |     |
                  |     |      |     |
     VRID=1       +-----+      +-----+
     IP A ---------->*            *<--------- IP B
                     |            |
                     |            |
                     |            |
   ------------------+------------+-----+--------+--------+--------+--
                                        ^        ^        ^        ^
                                        |        |        |        |
                                      (IP A)   (IP A)   (IP A)   (IP A)
                                        |        |        |        |
                                     +--+--+  +--+--+  +--+--+  +--+--+
                                     |  H1 |  |  H2 |  |  H3 |  |  H4 |
                                     +-----+  +-----+  +--+--+  +--+--+

  • VRID=1のVRRPグループには2台のVRRPルーターが所属し、仮想ルーターのIPアドレスは(IP A)となる
  • ホストHxはすべて(IP A)をデフォルトゲートウェイとして設定する
  • 通常は、マスタールーターであるMR1がホストからのトラフィックを処理する
  • MR1がシャットダウンした時には、BR1がバックアップとして動作し、通信を継続する

用語

VRRPルーター
VRRPプロトコルをサポートし、動作させているルーター

仮想ルーター
VRRPプロトコルにより実現される、仮想的なルーター。VRRPを走らせている環境では、デフォルトゲートウェイとしてこの仮想ルーターを指定する

マスタールーター
仮想ルーターの役割を果たす複数のVRRPルーターのうち、実際にパケット配送を行うルーター

バックアップルーター
仮想ルーターの役割を果たす複数のVRRPルーターのうち、マスターが落ちた時にはそのバックアップになるルーター

VRRPグループ
VRRPルーターのグループ。VRRPグループ一つにつき仮想ルーターが1台となる

VRID
VRRPグループの識別子で、1〜255の整数

VRRP広告
マスタールーターがLANに送信するVRRPデータ。バックアップルーターはこれを受信することでマスタールーターが動作していることを知る

シャットダウン
マスタールーターがVRRP広告の送信を止めること

VRRPグループ

VRRPでは、VRRPルーターのグループをVRIDにより識別します。VRIDが同一であるVRRPルーターは同一グループに属し、その中の一台だけがマスターとしてパケットの配送を行います。他のルーターはバックアップとしてマスターがシャットダウンしたら即座に動作を引き継ぎます。

VRIDが異なると違うVRRPグループとみなされます。同一LAN上に複数のVRRPグループが存在することができ、お互いはまったく独立に動作します。また、一つのルーターが複数のVRRPグループに属することも可能です。例えば、2台のルーターa、bと2つのVRRPグループA、Bがあって、a、bともにA、Bの双方に所属し、Aのマスターがa、Bのマスターがbという設定にしておくことができます。この場合、PCのデフォルトゲートウェイとしてはA、Bいずれの仮想ルーターでも設定でき、2台のVRRPルーターはお互いのバックアップを兼ねつつ、トラフィックをロードバランシングして処理することができます。

                  +-----+      +-----+
                  | MR1 |      | MR2 |
                  |  &  |      |  &  |
                  | BR2 |      | BR1 |
     VRID=1       +-----+      +-----+         VRID=2
     IP A ---------->*            *<---------- IP B
                     |            |
                     |            |
                     |            |
   ------------------+------------+-----+--------+--------+--------+--
                                        ^        ^        ^        ^
                                        |        |        |        |
                                      (IP A)   (IP A)   (IP B)   (IP B)
                                        |        |        |        |
                                     +--+--+  +--+--+  +--+--+  +--+--+
                                     |  H1 |  |  H2 |  |  H3 |  |  H4 |
                                     +-----+  +-----+  +--+--+  +--+--+
  • VRRPルーターである2台のルーターはVRID=1、2の2つのVRRPグループに所属し、仮想ルーターのIPアドレスはそれぞれ(IP A)、(IP B)となる
  • ホストも2つのグループに分かれ、H1/H2は(IP A)を、H3/H4は(IP B)をデフォルトゲートウェイとして設定する
  • 通常はMR1/MR2がホストからの通信を処理し、負荷分散を行う
  • MR1がダウンした時にはBR1がバックアップとして、MR2がダウンした時にはBR2がバックアップとして動作する

仮想ルーター

仮想ルーターのIPアドレスは自由に設定できるので、以下の2つのケースが考えられます。

  1. 仮想ルーターのIPアドレスとして、VRRPグループに所属するVRRPルーターのうちの1台のIPアドレスを利用する。

    この場合、仮想ルーターのIPアドレスを持つVRRPルーターが必ずマスターとなり、他のルーターはバックアップになる。

  2. 仮想ルーターのIPアドレスとして、まったく別のIPアドレスを利用する。

    この場合、マスタールーターはあらかじめVRRPルーターに設定された優先度に応じて自動的に決定される。優先度は1〜254の整数で、大きい方が優先される。優先度が同じVRRPルーターの間ではIPアドレスの大きい方が優先される。

仮想ルーターのMACアドレスは、VRRPグループ毎に決められたユニキャストアドレスを利用します。

マスタールーターのシャットダウン

マスタールーターはLANから切り離されたり、電源が落ちたりした場合には不可避的にシャットダウンしますが、回線側での通信が何らかの理由でできなくなった場合に積極的にシャットダウンし、バックアップルーターに切り替えることもできます。

優先度

VRRPルーターはそれぞれ優先度を持ち、優先度の高いルーターがマスタールーターとなり、他のルーターはバックアップとなります。優先度は1〜255の数値で設定しますが、スムーズなマスター/バックアップ切り替えのためにはできるだけ優先度は大きな差をつけておくのがいいでしょう。

また、優先度はまったく同じ値を設定してもよいことになっていますが、その場合、各VRRPルーターのLANインターフェイスのIPアドレスの大小によって優先されるべきVRRPルーターが決まりますが、複数のルーターが同時にマスタールーターになろうとしますので、その間の調整でマスタールーターがばたばたすることが起こりえます。やはり優先度はできるだけ大きな差をつけて設定すべきです。

プリエンプトモード

VRRPの動作モードの一つに、プリエンプトモードがあります。プリエンプトモードか否かでマスタールーター選出の方法が変わってきます。

非プリエンプトモードでは、先に優先度の低いVRRPルーターがマスタールーターとなっていた場合には、そこに後から優先度の高いVRRPルーターが参加してもマスタールーターの切り替わりは起こらず、従来からのマスタールーターがマスターとして動作し続けます。一方、プリエンプトモードで動作している場合には、優先度の高いVRRPルーターが加わると必ずそちらにマスタールーターが切り替わります。

通常は、プリエンプトモードで運用します。非プリエンプトモードは、マスタールーターが頻繁にダウンする場合に利用できます。

動的経路制御

VRRPを設定しているLANインターフェイスでは動的経路制御は動作させない方がよいでしょう。一方、VRRPを設定していないインターフェイスで動的経路制御を動作させ、その状態によってマスタールーターを切り替えるという形はありえます。

コマンド

VRRPを利用する

[入力形式]
ip INTERFACE vrrp VRID IP-ADDRESS [priority=PRIORITY] [preempt=PREEMPT] [auth=AUTH]
no ip INTERFACE vrrp VRID [...]
[パラメータ]
  • INTERFACE ... LANインターフェイス名
  • VRID ... VRRPグループID、1〜255
  • IP-ADDRESS ... 仮想ルーターのIPアドレス
  • PRIORITY ... 優先度、1〜254
  • PREEMPT ... プリエンプトモード、'on'または'off'
  • AUTH ... 8文字以内のテキスト認証文字列
[説明]

指定したVRRPグループを利用することを設定する。
同じVRRPグループに所属するルーターの間では、VRID及び仮想ルーターのIPアドレスを一致させておかなくてはいけない。これらが食い違った時の動作は予測できない。
"auth="パラメータを指定しない時には、認証なしとして動作する。

[ノート]

PRIORITYおよびPREEMPTの指定は、仮想ルーターのIPアドレスとして自分自身のLANインターフェイスに付与されているアドレスを指定している場合には無視される。この場合、優先度は最高の255となり、常にプリエンプトモードで動作する。

[デフォルト]
PRIORITY=100
PREEMPT=on
AUTH: 認証なし

マスタールーター動作時のシャットダウントリガを設定する

[入力形式]
ip INTERFACE vrrp shutdown trigger VRID LAN-INTERFACE
ip INTERFACE vrrp shutdown trigger VRID pp PP-NUMBER [dlci=DLCI]
ip INTERFACE vrrp shutdown trigger VRID route NETWORK [NEXTHOP]
no ip INTERFACE vrrp shutdown trigger VRID LAN-INTERFACE
no ip INTERFACE vrrp shutdown trigger VRID pp PP-NUMBER [...]
no ip INTERFACE vrrp shutdown trigger VRID route NETWORK
[パラメータ]
  • INTERFACE ... LANインターフェイス名
  • VRID ... VRRPグループID、1〜255
  • LAN-INTERFACE ... LANインターフェイス名
  • PP-NUMBER ... PP番号
  • DLCI ... DLCI番号
  • NETWORK ... ネットワークアドレス、"IPアドレス/マスク長"または'default'
  • NEXTHOP ... インターフェイス名、もしくはIPアドレス
[説明]

指定したVRRPグループでマスタールーターとして動作している時に、指定した条件によってシャットダウンすることを設定する。

  • LANインターフェイス形式

    指定したLANインターフェイスのリンクが落ちるとシャットダウンする。

  • pp形式

    指定したPP番号に該当する回線で通信できなくなった時にシャットダウンする。通信できなくなるとは、ケーブルが抜けるなどレイヤ1が落ちた場合と、以下の場合である。

    • 回線がISDN回線である場合は、呼が接続されていない時
    • 回線が専用線である場合には、LCPキープアライブによって通信相手が落ちたと判断した時
    • 回線がFRであってdlci=DLCIを指定している場合には、PVC状態確認手順によって指定したDLCI番号が通信できないと判断した時
  • route形式

    指定した経路が経路テーブルに存在しないか、NEXTHOPで指定したインターフェイスもしくはIPアドレスで指定するゲートウェイに向いていない時に、シャットダウンする。NEXTHOPを省略した場合には、経路がどのような先を向いていても存在する限りはシャットダウンしない。

自分側セキュリティ・ゲートウェイのIPアドレスの設定

[入力形式]
ipsec ike local address GATEWAY_ID IP_ADDRESS
ipsec ike local address GATEWAY_ID vrrp INTERFACE VRID
no ipsec ike local address GATEWAY_ID [...]
[パラメータ]
  • GATEWAY_ID ... セキュリティ・ゲートウェイの識別子となる1以上の数値
  • IP_ADDRESS ... 自分側セキュリティゲートウェイのIPアドレス
    • any ... 自動選択
  • INTERFACE ... LANインターフェイス名
  • VRID ... VRRPグループID、1〜255
[説明]
  • 自分側セキュリティ・ゲートウェイアドレスのIPアドレスを設定する。
    • vrrpタイプの指定方式では、VRRPマスターとして動作している時のみ、指定したLANインターフェイス/VRRPグループIDの仮想IPアドレスを自分側セキュリティ・ゲートウェイアドレスとして利用する。VRRPマスターでない時には鍵交換は行わない。

VRRPの情報を表示する

[入力形式]
show status vrrp [INTERFACE [VRID]]
[パラメータ]
  • INTERFACE ... LANインターフェイス名
  • VRID ... VRRPグループID、1〜255
[説明]

VRRPの情報を表示する。

NATとの連携

ヤマハルーターの仕様としてはVRRPの仮想IPアドレスとNATの外側アドレスが同一であれば連携する(マスタ状態である場合にだけARPに応答する)ように なっています。静的NATについても同じで、VRRPの仮想IPアドレスと一致する外側アドレスをもつエントリ1つだけがVRRPと連携します。VRRPの仮想IPアドレスと一致しない静的NATの外側アドレスまでもVRRPに連携させることはできません。

ページトップへ戻る