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などに応答するようにしたい
シナリオにおける設定のながれ
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にしたい
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機能が確認できました。