IP / VRRP

VRRP(Virtual Router Redundancy Protocol)は、複数のルーターをグループ化し、あたかも1台のルーターであるかのように見せかけることで、デフォルトゲートウェイを冗長化し、IPネットワークに冗長性を与えるプロトコルです。

本製品は、IPv4/IPv6両対応のVRRPv3をサポートしています。

プロトコル概要

VRRPの基本的な考え方は次のとおりです。

基本設定

次に、実際に2台のルーターを用いてIPv4/IPv6のデフォルトゲートウェイを冗長化するための設定方法を示します。
IPv4用の設定とIPv6用の設定は下記の箇所を除いて同一です。


IPv4

ここでは、次のようなネットワーク構成を例にIPv4用のVRRP設定手順を示します。


この例では通常ルーターAが使用されますが、ルーターAが故障すると、同ルーターが定期的に送信しているVRRP AdvertisementパケットをルーターBが受信できなくなります。この場合、ルーターBはルーターAがダウンしたものと見なしてバックアップルーターからマスタールーターに移行し、両方のセグメントに対するデフォルトゲートウェイアドレスを引き継ぎます。ルーターAが復旧すると、ルーターBは元のバックアップルーターに戻ります。

なお、以下の各例では、VLANの作成とIPアドレスの設定は完了しているものとします。VLANの設定については、「L2スイッチング」の「バーチャルLAN」をご覧ください。IPアドレスの設定については、「IP」の「IPインターフェース」をご覧ください。

ルーターA

  1. VRRPの動作に必要なVRRPサービスを有効にします。これにはservice vrrpコマンドを使います。
    RouterA(config)# service vrrp
    

  2. router vrrpコマンドを実行して、vlan100インターフェース上にVRID=100のバーチャルルーター(以下、VR100)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterA(config)# router vrrp 100 vlan100
    

  3. virtual-ipコマンドでVR100のバーチャルIPアドレスを設定します。ここではバーチャルIPアドレス10.100.100.32がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterA(config-router)# virtual-ip 10.100.100.32 backup
    

  4. priorityコマンドでVR100における優先度を設定します。こちらをデフォルトのマスタールーターにするため、優先度を初期値の100よりも高い101に設定します。
    RouterA(config-router)# priority 101
    

  5. circuit-failoverコマンドを用いて、vlan200(VR200)がダウンした場合にvlan100側(VRID=100)の優先度を引き下げ、ルーターBがマスタールーターになるよう設定します。
    RouterA(config-router)# circuit-failover vlan200 2
    

  6. enableコマンドを実行してVR100の動作を有効化します。これでVR100の設定は完了です。exitコマンドでグローバルコンフィグモードに戻り、次にVR200の設定に移ります。
    RouterA(config-router)# enable
    RouterA(config-router)# exit
    

  7. router vrrpコマンドを実行して、vlan200インターフェース上にVRID=200のバーチャルルーター(以下、VR200)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterA(config)# router vrrp 200 vlan200
    

  8. virtual-ipコマンドでVR200のバーチャルIPアドレスを設定します。ここではバーチャルIPアドレス10.100.200.32がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterA(config-router)# virtual-ip 10.100.200.32 backup
    

  9. priorityコマンドでVR200における優先度を設定します。こちらをデフォルトのマスタールーターにするため、優先度を初期値の100よりも高い101に設定します。
    RouterA(config-router)# priority 101
    

  10. circuit-failoverコマンドを用いて、vlan100(VR100)がダウンした場合にvlan200側(VR200)の優先度を引き下げ、ルーターBがマスタールーターになるよう設定します。
    RouterA(config-router)# circuit-failover vlan100 2
    

  11. enableコマンドを実行してVR200の動作を有効化します。
    RouterA(config-router)# enable
    

ルーターB

  1. VRRPの動作に必要なVRRPサービスを有効にします。これにはservice vrrpコマンドを使います。
    RouterB(config)# service vrrp
    

  2. router vrrpコマンドを実行して、vlan100インターフェース上にVRID=100のバーチャルルーター(以下、VR100)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterB(config)# router vrrp 100 vlan100
    

  3. virtual-ipコマンドでVR100のバーチャルIPアドレスを設定します。ここではバーチャルIPアドレス10.100.100.32がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterB(config-router)# virtual-ip 10.100.100.32 backup
    

  4. priorityコマンドでVR100における優先度を設定します。こちらをデフォルトのバックアップルーターにするため、優先度は初期値100のままとします。
    RouterB(config-router)# priority 100
    

  5. enableコマンドを実行してVR100の動作を有効化します。これでVR100の設定は完了です。exitコマンドでグローバルコンフィグモードに戻り、次にVR200の設定に移ります。
    RouterB(config-router)# enable
    RouterB(config-router)# exit
    

  6. router vrrpコマンドを実行して、vlan200インターフェース上にVRID=200のバーチャルルーター(以下、VR200)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterB(config)# router vrrp 200 vlan200
    

  7. virtual-ipコマンドでVR200のバーチャルIPアドレスを設定します。ここではバーチャルIPアドレス10.100.200.32がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterB(config-router)# virtual-ip 10.100.200.32 backup
    

  8. priorityコマンドでVR200における優先度を設定します。こちらをデフォルトのバックアップルーターにするため、優先度は初期値100のままとします。
    RouterB(config-router)# priority 100
    

  9. enableコマンドを実行してVR200の動作を有効化します。
    RouterB(config-router)# enable
    

基本設定は以上です。

LAN上の各IPv4ホストには、デフォルトゲートウェイとして、バーチャルルーターのIPアドレス(バーチャルIPアドレス)を設定します。通常時には、ルーターAがマスタールーターとして機能し、VLAN間のトラフィックを転送します。ルーターAのインターフェースのどちらか(vlan100、vlan200)がリンクダウンした場合は、ルーターBがマスタールーターとなりバーチャルルーターとしての役割を引き継ぎます。このとき、バーチャルルーターのIPアドレスとMACアドレスは変化しないため、LAN上のホストがルーターの切り替えを意識することはありません。



IPv6

ここでは、次のようなネットワーク構成を例にIPv6用のVRRP設定手順を示します。


この例では通常ルーターAが使用されますが、ルーターAが故障すると、同ルーターが定期的に送信しているVRRP AdvertisementパケットをルーターBが受信できなくなります。この場合、ルーターBはルーターAがダウンしたものと見なしてバックアップルーターからマスタールーターに移行し、両方のセグメントに対するデフォルトゲートウェイアドレスを引き継ぎます。ルーターAが復旧すると、ルーターBは元のバックアップルーターに戻ります。

なお、以下の各例では、VLANの作成とIPv6アドレスの設定は完了しているものとします。VLANの設定については、「L2スイッチング」の「バーチャルLAN」をご覧ください。IPv6アドレスの設定については、「IPv6」の「IPv6インターフェース」をご覧ください。

ルーターA

  1. VRRPの動作に必要なVRRPサービスを有効にします。これにはservice vrrpコマンドを使います。
    RouterA(config)# service vrrp
    

  2. router ipv6 vrrpコマンドを実行して、vlan100インターフェース上にVRID=100のバーチャルルーター(以下、VR100)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterA(config)# router ipv6 vrrp 100 vlan100
    

  3. virtual-ipv6コマンドでVR100のバーチャルIPv6アドレスを設定します。ここではバーチャルIPv6アドレス fe80::1 がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterA(config-router)# virtual-ipv6 fe80::1 backup
    

  4. priorityコマンドでVR100における優先度を設定します。こちらをデフォルトのマスタールーターにするため、優先度を初期値の100よりも高い101に設定します。
    RouterA(config-router)# priority 101
    

  5. circuit-failoverコマンドを用いて、vlan200(VR200)がダウンした場合にvlan100側(VRID=100)の優先度を引き下げ、ルーターBがマスタールーターになるよう設定します。
    RouterA(config-router)# circuit-failover vlan200 2
    

  6. enableコマンドを実行してVR100の動作を有効化します。これでVR100の設定は完了です。exitコマンドでグローバルコンフィグモードに戻り、次にVR200の設定に移ります。
    RouterA(config-router)# enable
    RouterA(config-router)# exit
    

  7. router ipv6 vrrpコマンドを実行して、vlan200インターフェース上にVRID=200のバーチャルルーター(以下、VR200)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterA(config)# router ipv6 vrrp 200 vlan200
    

  8. virtual-ipv6コマンドでVR200のバーチャルIPv6アドレスを設定します。ここではバーチャルIPアドレス fe80::1 がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterA(config-router)# virtual-ipv6 fe80::1 backup
    

  9. priorityコマンドでVR200における優先度を設定します。こちらをデフォルトのマスタールーターにするため、優先度を初期値の100よりも高い101に設定します。
    RouterA(config-router)# priority 101
    

  10. circuit-failoverコマンドを用いて、vlan100(VR100)がダウンした場合にvlan200側(VR200)の優先度を引き下げ、ルーターBがマスタールーターになるよう設定します。
    RouterA(config-router)# circuit-failover vlan100 2
    

  11. enableコマンドを実行してVR200の動作を有効化します。
    RouterA(config-router)# enable
    

ルーターB

  1. VRRPの動作に必要なVRRPサービスを有効にします。これにはservice vrrpコマンドを使います。
    RouterB(config)# service vrrp
    

  2. router ipv6 vrrpコマンドを実行して、vlan100インターフェース上にVRID=100のバーチャルルーター(以下、VR100)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterB(config)# router ipv6 vrrp 100 vlan100
    

  3. virtual-ipv6コマンドでVR100のバーチャルIPv6アドレスを設定します。ここではバーチャルIPv6アドレス fe80::1 がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterB(config-router)# virtual-ipv6 fe80::1 backup
    

  4. priorityコマンドでVR100における優先度を設定します。こちらをデフォルトのバックアップルーターにするため、優先度は初期値100のままとします。
    RouterB(config-router)# priority 100
    

  5. enableコマンドを実行してVR100の動作を有効化します。これでVR100の設定は完了です。exitコマンドでグローバルコンフィグモードに戻り、次にVR200の設定に移ります。
    RouterB(config-router)# enable
    RouterB(config-router)# exit
    

  6. router ipv6 vrrpコマンドを実行して、vlan200インターフェース上にVRID=200のバーチャルルーター(以下、VR200)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterB(config)# router ipv6 vrrp 200 vlan200
    

  7. virtual-ipv6コマンドでVR200のバーチャルIPv6アドレスを設定します。ここではバーチャルIPv6アドレス fe80::1 がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterB(config-router)# virtual-ipv6 fe80::1 backup
    

  8. priorityコマンドでVR200における優先度を設定します。こちらをデフォルトのバックアップルーターにするため、優先度は初期値100のままとします。
    RouterB(config-router)# priority 100
    

  9. enableコマンドを実行してVR200の動作を有効化します。
    RouterB(config-router)# enable
    

基本設定は以上です。

LAN上の各IPv6ホストには、デフォルトゲートウェイとして、バーチャルルーターのIPv6リンクローカルアドレス(バーチャルIPv6アドレス)を設定します。通常時には、ルーターAがマスタールーターとして機能し、VLAN間のトラフィックを転送します。ルーターAのインターフェースのどちらか(vlan100、vlan200)がリンクダウンした場合は、ルーターBがマスタールーターとなりバーチャルルーターとしての役割を引き継ぎます。このとき、バーチャルルーターのIPv6リンクローカルアドレスとMACアドレスは変化しないため、LAN上のホストがルーターの切り替えを意識することはありません。



バイパスポートを利用した冗長構成(HAモードVRRP)

AT-AR4050S、AT-AR3050Sは、2つのWANポート(10/100/1000BASE-T)のそれぞれに対して、1系統ずつバイパスポートを備えています。
バイパスポートを利用した冗長構成を組むには、VRRPの設定を行い、HA(High Availability)モードを有効にする必要があります。

以下、実現可能な冗長構成と設定方法を説明します。




1本のWAN回線を2台のルーターで冗長化

ここでは、次のようなネットワーク構成を例にHAモードVRRPの基本的設定手順を示します。


この構成における、バーチャルルーターVRID=10(vlan10)の初期状態は次のとおりです。
このとき、ルーターAのHA LEDは橙色に点灯、ルーターBのHA LEDは緑色に点灯します。

この状態から各種障害が発生した場合の動作は次のとおりです。


以下の設定例では、VLANやIPアドレスの設定は完了しているものとします。VLANの設定については、「L2スイッチング」の「バーチャルLAN」をご覧ください。IPアドレスの設定については、「IP」の「IPインターフェース」をご覧ください。

ルーターA

  1. VRRPの動作に必要なVRRPサービスを有効にします。これにはservice vrrpコマンドを使います。
    RouterA(config)# service vrrp
    

  2. router vrrpコマンドを実行して、vlan10インターフェース上にVRID=10のバーチャルルーター(以下、VR10)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterA(config)# router vrrp 10 vlan10
    

  3. virtual-ipコマンドでVR10のバーチャルIPアドレスを設定します。ここではバーチャルIPアドレス192.168.10.32がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterA(config-router)# virtual-ip 192.168.10.32 backup
    

  4. priorityコマンドでVR10における優先度を設定します。こちらをデフォルトのバックアップルーターにするため、優先度は初期値100のままとします。
    RouterA(config-router)# priority 100
    

  5. ha associateコマンドでHAモードを有効にし、WANポート(eth1)に対応するバイパスポート「1」のリレー制御を有効にします。
    RouterA(config-router)# ha associate wan-bypass 1
    

  6. enableコマンドを実行してVR10の動作を有効化します。これでVR10の設定は完了です。
    RouterA(config-router)# enable
    

ルーターB

  1. VRRPの動作に必要なVRRPサービスを有効にします。これにはservice vrrpコマンドを使います。
    RouterB(config)# service vrrp
    

  2. router vrrpコマンドを実行して、vlan10インターフェース上にVRID=10のバーチャルルーター(以下、VR10)を作成し、該当バーチャルルーターの設定を行うためのVRRPモードに移行します。
    RouterB(config)# router vrrp 10 vlan10
    

  3. virtual-ipコマンドでVR10のバーチャルIPアドレスを設定します。ここではバーチャルIPアドレス192.168.10.32がインターフェースの実アドレスではないので、キーワードbackupを指定します。
    RouterB(config-router)# virtual-ip 192.168.10.32 backup
    

  4. priorityコマンドでVR10における優先度を設定します。こちらをデフォルトのマスタールーターにするため、優先度を初期値の100よりも高い101に設定します。
    RouterB(config-router)# priority 101
    

  5. ha associateコマンドでHAモードを有効にします。ルーターBではバイパスポートのリレー制御を行う必要がないため、wan-bypassパラメーターは不要です。
    RouterB(config-router)# ha associate
    

  6. circuit-failoverコマンドを用いて、ルーターAのバイパスポート1と接続している自身のWANポート(eth1)がリンクダウンしたときにVR10の優先度を引き下げ、ルーターAがマスタールーターになるよう設定します。
    RouterB(config-router)# circuit-failover eth1 2
    

  7. enableコマンドを実行してVR10の動作を有効化します。これでVR10の設定は完了です。
    RouterB(config-router)# enable
    

基本設定は以上です。

2本のWAN回線を2台のルーターで冗長化(対称型)

WAN回線を2本用いた、より高度な冗長構成については、設定例集をご覧ください。

バイパスポートのリレー状態

バイパスポートのリレーには、次の2つの状態があります。


以下に、バイパスポートのリレーが有効・無効になる条件をまとめます。