VRRP設定

動作確認バージョン:vSRX Version22.4R1

ファイアウォール(vSRX) では、VRRP機能を使ってネットワークの冗長化設定が可能です。

VRRP(Virtual Router Redundancy Protocol)とは2台のルーター(ここではファイアウォール)を仮想的に1台のルーターとして動作させて接続される端末等からは、1台のルーターとして認識させるプロトコルになります。 これにより、2台のファイアウォールはMASTERとBACKUPと呼ばれる状態で役割が分担されます。 接続される端末からは、ファイアウォールインターフェイスの本当のIPアドレスを設定しなくてもVRRPで作成した仮想IPアドレスに対してデフォルトゲートウェイを指定して通信をさせることが可能です。 MASTER側が異常によりパケット転送ができなくなった場合にも、自動的にBACKUP側がMASTERに状態が変化して端末からの通信は継続させることが可能になります。

注釈

  • VRRP機能を利用するためには、ゾーンベースファイアウォール設定でVRRPを設定したゾーンもしくはインターフェイスで、VRRPパケットを許可しておく必要があります。
  • VRRP利用時は、接続するロジカルネットワークのDHCP機能(アドレス設定機能)を「有効」としていただくようお願い致します。DHCP機能が「無効」の場合には、弊社ネットワークにおいてソースのアドレスが0.0.0.0でARPリクエストが実施されます。この場合、弊社提供のロードバランサーの一部のバージョン、Managed FW/UTM等にてARPリプライを返さないことが確認されており、VRRPによる冗長化に影響し、切替わり時に通信断が継続する可能性があります。
  • ファイアウォール(vSRX) にてVRRP機能をご利用いただくために、SDPFのカスタマーポータルで作成したvSRXの「 許可されたアドレスペアの編集 」を実施いただく必要があります。VRIDの欄にはvSRX側に設定するVRIDと同じ値を設定してください。
  • その他の機能とVRRP機能を組み合わせて設定される場合には、動作確認済み利用モデル が参考になりますので合わせてご確認ください。
  • ファイアウォール(vSRX) のVRRPの切り替わり時間として、Advertise Interval×3回に加え4秒程度必要であるため、Advertise Intervalを5秒に設定した場合、障害発生からトラフィックの切り替わり完了までに19秒程度必要となる想定です。

VRRPによるネットワーク冗長化設定(VRRPグループ設定・プライオリティ設定)

2台のファイアウォールにてVRRP設定を実施しネットワークの冗長構成を作ります。

サンプル設定のシナリオ

  • 2台のファイアウォールのVRRPグループ設定を実施したい
  • 仮想IPアドレスを192.168.1.100にしたい
  • VRRPプライオリティ設定を実施し、1号機(vSRX-01)を正常時MASTER、2号機(vSRX-02)を正常時BACKUPにしたい
  • 設定した仮想IPアドレスはPINGなどに応答するようにしたい
vsrx_vrrp_fig1

シナリオにおける設定のながれ

1.VRRPグループ1と仮想IPアドレス(192.168.1.100)を決定しカスタマーポータルから 許可されたアドレスペアの編集 で登録する
2.インターフェイス(ge-0/0/0)が属するzoneに対して、VRRPパケットを許可する
3.インターフェイス(ge-0/0/0)にてVRRPを設定し、VRRPグループを 1 で設定
4.1号機(vSRX-01)をMASTERにするためプライオリティ値を 200 に設定
5.2号機(vSRX-02)をBACKUPにするためプライオリティ値を 150 に設定

CLIにて入力するコマンド

ファイアウォール1号機(vSRX-01)

user01@vSRX-01# set security zones security-zone trust host-inbound-traffic protocols all
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 virtual-address 192.168.1.100
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 priority 200
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 accept-data
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 advertise-interval 5

ファイアウォール2号機(vSRX-02)

user01@vSRX-02# set security zones security-zone trust host-inbound-traffic protocols all
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 virtual-address 192.168.1.100
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 priority 150
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 accept-data
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 advertise-interval 5

注釈

  • サーバーインスタンスは、仮想IPアドレス(192.168.1.100)をデフォルトゲートウェイに設定することでVRRP機能によるネットワーク冗長化機能を利用できます。
  • accept-dataコマンドはvSRXが仮想IPアドレス宛ての通信(ping等)に応答する設定になります。
  • advertise-intervalコマンドは、VRRP の切り替わりが発生しやすい場合に、keepalive timer を長くすることで、切り替わり発生を抑制することができます。VRRPの切り替わりによりTCPセッションが切断されないようにしたい場合は、こちら をご参照ください。

正しく設定が完了したときのコンフィグレーションは次のとおりです。

ファイアウォール1号機(vSRX-01)

interfaces {
    ge-0/0/0 {
        unit 0 {
            family inet {
                address 192.168.1.101/24 {
                    vrrp-group 1 {
                        virtual-address 192.168.1.100;
                        priority 200;
                        advertise-interval 5;
                        accept-data;
                    }
                }
            }
        }
    }
}

ファイアウォール2号機(vSRX-02)

interfaces {
    ge-0/0/0 {
        unit 0 {
            family inet {
                address 192.168.1.102/24 {
                    vrrp-group 1 {
                        virtual-address 192.168.1.100;
                        priority 150;
                        advertise-interval 5;
                        accept-data;
                    }
                }
            }
        }
    }
}

動作確認結果

2台のファイアウォールで、設定したプライオリティ値にしたがってvSRX-01がMASTER/vSRX-02がBACKUP状態になることが確認できました。 また、接続するサーバーインスタンスから仮想IPアドレス(ここでは、192.168.1.100)に対して通信が可能であることを確認できましたので、上記で設定したVRRPが正しく機能していることを確認できました。

ファイアウォール1号機(vSRX-01)

user01@vSRX-01# run show vrrp
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up              1   master   Active      A  0.074 lcl    192.168.1.101
                                                                vip    192.168.1.100

ファイアウォール2号機(vSRX-02)

user01@vSRX-02# run show vrrp
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up              1   backup   Active      D  3.128 lcl    192.168.1.102
                                                                vip    192.168.1.100
                                                                mas    192.168.1.101

図のサーバーインスタンスからVRRPで設定した仮想IPアドレス宛の通信結果

[user01@centsv1 ~]$ ping 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=2.45 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.464 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.720 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=0.732 ms
64 bytes from 192.168.1.100: icmp_seq=5 ttl=64 time=0.556 ms
^C
--- 192.168.1.100 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.464/0.984/2.451/0.740 ms
[user01@centsv1 ~]$

VRRPのPreempt設定

Preempt機能が有効になっている場合にVRRPグループ内のプライオリティ値に従ってMASTER/BACKUP状態を自動で遷移させることができます。 障害等で切り替わりが発生した後、元MASTERだったvSRXが復旧すると、Preempt機能により初期のMASTER/BACKUP状態に自動復旧します。 SDPFでは、Preempt機能を有効にして利用いただくことを推奨しております。

設定状態 動作説明
設定をしない場合(デフォルト) Preempt機能が有効です。設定された状態と同様の動作をいたします。
preempt 設定をした場合 Preempt機能が有効です。Priority値に従ってMASTER/BACKUPの状態が自動で切り替わります。
no-preempt 設定した場合 Preempt機能が無効です。Priority値による自動切り替わり動作をしません。

サンプル設定のシナリオ

  • Preemptを有効にしてプライオリティ値が高いvSRXを自動MASTERにしたい
vsrx_vrrp_fig2

CLIにて入力するコマンド

vSRX-01側のVRRP設定とPreempt設定

user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 virtual-address 192.168.1.100
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 priority 200
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 accept-data
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 preempt
user01@vSRX-01# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.101/24 vrrp-group 1 advertise-interval 5

vSRX-02側のVRRP設定とPreempt設定

user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 virtual-address 192.168.1.100
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 priority 150
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 accept-data
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 preempt
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.102/24 vrrp-group 1 advertise-interval 5

注釈

チュートリアルでは、明示的に設定をしていますが、設定を入れない場合でもPreempt機能はデフォルトで有効になっております。

Preempt機能を有効にし、正しくVRRP設定が完了したときのコンフィグレーションは次のとおりです。

vSRX-01(Master)コンフィグレーション

interfaces {
    ge-0/0/0 {
        unit 0 {
            family inet {
                address 192.168.1.101/24 {
                    vrrp-group 1 {
                        virtual-address 192.168.1.100;
                        priority 200;
                        advertise-interval 5;
                        preempt;
                        accept-data;
                    }
                }
            }
        }
    }
}

vSRX-02(BACKUP)コンフィグレーション

interfaces {
    ge-0/0/0 {
        unit 0 {
            family inet {
                address 192.168.1.102/24 {
                    vrrp-group 1 {
                        virtual-address 192.168.1.100;
                        priority 150;
                        advertise-interval 5;
                        preempt;
                        accept-data;
                    }
                }
            }
        }
    }
}

Preempt機能確認

MASTER側が障害や通信できない状況であることを擬似してvSRX-01を一度切断し、vSRX-02だけが通信可能な環境をつくります。(図の中央の状態)この状態からvSRX-01を接続させた場合に、Priority値に従ってvSRX-01がMASTER、vSRX-02がBACKUPに状態が変更されるようになります。(図の右側の状態)

初期状態のvSRX-01(障害発生中の想定)

user01@vSRX-01> show vrrp
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    down            1   init     Active      N  0.000 lcl    192.168.1.101
                                                                vip    192.168.1.100

初期状態のvSRX-02(MASTER)

user01@vSRX-01> show vrrp
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up              1   master   Active      A  0.267 lcl    192.168.1.102
                                                                vip    192.168.1.100

ここで障害発生中を想定してネットワークから切り離されていたvSRX-01をネットワークに接続させてVRRPグループに参加させます。

vSRX-01(障害状態->MASTER)

user01@vSRX-01> show vrrp
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up              1   master   Active      A  0.258 lcl    192.168.1.101
                                                                vip    192.168.1.100

vSRX-02(MASTER->BACKUP)

user01@vSRX-02> show vrrp
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up              1   backup   Active      D  2.703 lcl    192.168.1.102
                                                                vip    192.168.1.100
                                                                mas    192.168.1.101

上記VRRP状態確認結果より、vSRX-01がMASTER、vSRX-02がBACKUPに自動で状態が変更されましたのでPreempt機能が確認できました。