VRRPによる冗長設定¶
動作確認バージョン: | Brocade 5600vRouter Version4.2R1S1 |
---|
ここでは、VRRPを用いたネットワークの冗長化設定の紹介をします。
VRRP(Virtual Router Redundancy Protocol)とは
2台のルータ(ここではファイアウォール)を仮想的に1台のルータとして動作させて接続される端末等からは、1台のルータとして認識させるプロトコルになります。
これにより、2台のファイアウォールはMASTERとBACKUPと呼ばれる状態で役割が分担されます。
接続される端末からは、ファイアウォールインターフェイスの本当のIPアドレスを設定しなくてもVRRPで作成した仮想IPアドレスに対してデフォルトゲートウェイを指定して通信をさせることが可能です。
MASTER側が異常によりパケット転送ができなくなった場合にも、自動的にBACKUP側がMASTERに状態が変化して端末からの通信は継続させることが可能になります。
注釈
- |vfirewall| にてVRRPの設定を実施いただく前に、SDPFのカスタマーポータルから「VRRP用通信許可設定の登録」を実施いただく必要があります。
- VRRP設定をした場合は、ロジカルネットワークのDHCP(アドレス設定機能)は「有効」として頂くようお願い致します。DHCP設定が「無効」の場合には、弊社ネットワークにおいてソースのアドレスが0.0.0.0でARPリクエストが実施されます。この場合、一部のアプライアンスでARPリプライしないことが確認されています。
- VRRPのpreemptはデフォルトのまま有効(True)として頂くようお願い致します。preemptが無効になっている場合、全インターフェイスでステータスが一致せず、通信断が継続する場合があります。
- Packet Filtering機能と組み合わせて設定される場合、VRRPのやり取りのために必要な通信(protocolがvrrpである通信)がDROPされないように注意してください。
- 特に、パケットフィルタリングのdefault-actionをdropに設定されている場合には、明示的に以下のようなprotocol vrrpの通信を許可するルールを設定ください。
- set security firewall name [ルール名] rule [ルール番号] protocol vrrp
- set security firewall name [ルール名] rule [ルール番号] action accept
- 本サービスでは非対称通信はサポートしておりません。複数インターフェイスでVRRPを利用する際、[SYNC-GROUP NAME]に同じ値を指定することで、VRRPの切り替わりを同期させてください。
- VRRPのadvertise intervalは初期設定では基盤側においてVRRP通信が稀に不安定になることが確認されていたため20sec以上を推奨しておりましたが(2016年12月時点)、不安定事象が解消したためお客様のシステム構成に合わせ設計ください(2017年8月時点)。(3回連続でHello Packetを受信しなかった際に断検知します)。なお本設定を変更する場合、Backup側のファイアウォールから変更してください。Master側から変更すると、Backup側へのHelloパケット送信間隔が変わるため、Backup側もMasterに昇格し、両装置がMasterになる可能性があります。
- その他の機能とVRRP機能を組み合わせて設定される場合には、動作確認済み利用モデル が参考になりますので合わせてご確認ください。
VRRPによる冗長性確認¶
2台のファイアウォールにてVRRP設定を実施し、冗長構成を作ります。
サンプル設定のシナリオ
- 2台のファイアウォールのVRRP設定を実施したい
- 仮想IPアドレスを172.16.1.33にしたい
- IPアドレス172.16.1.31を持つ1号機側を正常時MASTERにしたい
- IPアドレス172.16.1.32を持つ2号機側を異常時切り替わってMASTERにしたい
- 切り替わりの検知時間を60秒にしたい
- 切り替わり発生後に1号機側が復旧時に自動で切り戻る設定にしたい
構成図
シナリオにおける設定のながれ
- 1. VRRPグループ10 と仮想IPアドレス172.16.1.33)を決定しカスタマポータルからVRRP設定する
- 2.インターフェイス(dp0s4)にてVRRPを設定し、VRRPグループを 10 で設定
- 3.1号機側がMASTERにするためプライオリティ値を 200 に設定
- 4.2号機側をBACKUPにするためプライオリティ値を 150 に設定
- 5.MASTER側障害検知時間を 60秒 (20秒x3回の応答待ち)に設定
- 6.2号機がMASTERの際に、1号機側の通信が復旧したら切り戻す設定
- 7.仮想IPアドレスで利用するMACアドレスはRFPで定義されているMACアドレスを利用したい
- 8.SYNC-GROUP NAMEを test に設定
CLIにて入力するコマンド
ファイアウォール1号機
set interface dataplane dp0s4 vrrp vrrp-group 10 virtual-address '172.16.1.33'
set interface dataplane dp0s4 vrrp vrrp-group 10 priority '200'
set interface dataplane dp0s4 vrrp vrrp-group 10 advertise-interval '20'
set interface dataplane dp0s4 vrrp vrrp-group 10 preempt 'true'
set interface dataplane dp0s4 vrrp vrrp-group 10 'rfc-compatibility'
set interface dataplane dp0s4 vrrp vrrp-group 10 sync-group 'test'
ファイアウォール2号機
set interface dataplane dp0s4 vrrp vrrp-group 10 virtual-address '172.16.1.33'
set interface dataplane dp0s4 vrrp vrrp-group 10 priority '150'
set interface dataplane dp0s4 vrrp vrrp-group 10 advertise-interval '20'
set interface dataplane dp0s4 vrrp vrrp-group 10 preempt 'true'
set interface dataplane dp0s4 vrrp vrrp-group 10 'rfc-compatibility'
set interface dataplane dp0s4 vrrp vrrp-group 10 sync-group 'test'
注釈
- 上記以外のインターフェイスでVRRPを設定する場合は、VRRPの切り替わりを同期させるため、sync-groupを上記と同一の値で設定してください。
- 各インターフェイス(dp0s4)のIPアドレスは、カスタマポータルから設定するのでCLIでの入力は必要ありません。
正しく設定が完了したときのコンフィグレーションは次のとおりです。
ファイアウォール1号機(MASTER側)
interfaces {
dataplane dp0s4 {
address 172.16.1.31/24
vrrp {
vrrp-group 10 {
advertise-interval 20
preempt true
priority 200
rfc-compatibility
sync-group test
virtual-address 172.16.1.33
}
}
}
}
ファイアウォール2号機(BACKUP側)
interfaces {
dataplane dp0s4 {
address 172.16.1.32/24
vrrp {
vrrp-group 10 {
advertise-interval 20
preempt true
priority 150
rfc-compatibility
sync-group test
virtual-address 172.16.1.33
}
}
}
}
動作確認結果
2台のファイアウォールで、それぞれ意図したとおりにStateがMASTER/BACKUP状態に
なっていることが確認できており、接続する端末から仮想IPアドレス(ここでは、172.16.1.33)
に対して通信が可能であることが端末側からも確認できましたので
VRRP設定は正しく機能していることが確認できました。
ファイアウォール1号機(MASTER側)
user-admin@FW-01:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
dp0s4 10 MASTER dp0vrrp1 no 10h19m18s test
ファイアウォール2号機(BACKUP側)
user-admin@FW-02:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
dp0s4 10 BACKUP dp0vrrp1 no 10h14m10s test
端末から仮想IPアドレス宛の通信
#172.16.1.2から172.16.1.33(VIP)通信 -> OK
test@localhost:~$ ping -c 5 172.16.1.33
PING 172.16.1.33 (172.16.1.33) 56(84) bytes of data.
64 bytes from 172.16.1.33: icmp_seq=1 ttl=64 time=1.66 ms
64 bytes from 172.16.1.33: icmp_seq=2 ttl=64 time=0.908 ms
64 bytes from 172.16.1.33: icmp_seq=3 ttl=64 time=0.855 ms
64 bytes from 172.16.1.33: icmp_seq=4 ttl=64 time=0.824 ms
64 bytes from 172.16.1.33: icmp_seq=5 ttl=64 time=0.685 ms
--- 172.16.1.33 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 0.685/0.987/1.667/0.349 ms
VRRPの切り替わり確認¶
先の設定内容で、MASTER側のVRRPを停止させBACKUP側がMASTERとなり
端末からは継続して通信ができることを確認します。
構成図
CLIにて入力するコマンド
切り替わりを強制的に発生させるため、VRRPをコンフィグで停止させます。
set interface dataplane dp0s4 vrrp vrrp-group 10 disable
各装置のVRRP状態
VRRPが設定され同期が取れた状態におけるVRRP情報は次のとおりです。
ファイアウォール1号機(MASTER側)
user01@FW01:~$ sho vrrp detail
--------------------------------------------------
Interface: dp0s4
--------------
Group: 10
----------
State: MASTER
Last transition: 7h37m47s
Version: 2
RFC Compliant
Virtual MAC interface: dp0vrrp1
Address Owner: no
Source Address: 172.16.1.31
Configured Priority: 200
Effective Priority: 200
Advertisement interval: 20 sec
Authentication type: none
Preempt: enabled
VIP count: 1
172.16.1.33/32
user01@FW01:~$
ファイアウォール2号機(BACKUP側)
user01@FW02:~$ show vrrp detail
--------------------------------------------------
Interface: dp0s4
--------------
Group: 10
----------
State: BACKUP
Last transition: 7h37m43s
Master router: 172.16.1.31
Master priority: 200
Version: 2
RFC Compliant
Virtual MAC interface: dp0vrrp1
Address Owner: no
Source Address: 172.16.1.32
Configured Priority: 150
Effective Priority: 150
Advertisement interval: 20 sec
Authentication type: none
Preempt: enabled
VIP count: 1
172.16.1.33/32
user01@FW02:~$
MASTER側停止後の各装置のVRRP状態
1号機側のVRRPを停止させたことで、MASTER側からのVRRPのアドバタイズが
途絶えてしまうので、BACKUP側はMASTER側障害と認識し切り替わりが発生します。
ステータス確認で、2号機側がMASTERになっていますが、端末からは
仮想IPアドレス宛に通信ができており、VRRPの切り替わりも確認できました。
ファイアウォール1号機(VRRP 停止中)
user01@FW01:~$ show vrrp detail
--------------------------------------------------
user01@FW01:~$
user01@FW01:~$
注釈
VRRPが停止しているので、ステータスの確認はできません。
ファイアウォール2号機(BACKUPからMASTER)
user01@FW02:~$ show vrrp detail
--------------------------------------------------
Interface: dp0s4
--------------
Group: 10
----------
State: MASTER
Last transition: 27s
Version: 2
RFC Compliant
Virtual MAC interface: dp0vrrp1
Address Owner: no
Source Address: 172.16.1.32
Configured Priority: 150
Effective Priority: 150
Advertisement interval: 20 sec
Authentication type: none
Preempt: enabled
VIP count: 1
172.16.1.33/32
user01@FW02:~$
端末から仮想IPアドレス宛の通信(切り替わり発生後)
#172.16.1.2から172.16.1.33(VIP)通信 -> OK
test@localhost:~$ ping -c 5 172.16.1.33
PING 172.16.1.33 (172.16.1.33) 56(84) bytes of data.
64 bytes from 172.16.1.33: icmp_seq=1 ttl=64 time=1.47 ms
64 bytes from 172.16.1.33: icmp_seq=2 ttl=64 time=0.738 ms
64 bytes from 172.16.1.33: icmp_seq=3 ttl=64 time=0.722 ms
64 bytes from 172.16.1.33: icmp_seq=4 ttl=64 time=0.739 ms
64 bytes from 172.16.1.33: icmp_seq=5 ttl=64 time=0.579 ms
--- 172.16.1.33 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 0.579/0.851/1.479/0.320 ms