FortiGate設定マニュアル - HA徹底入門
【第4回】HAの同期と切り替え
スプリットブレイン(Split Brain)
ハートビート間では、お互いの機器が正常に稼働しているかどうかを常に監視しています。システムの「死活監視」などとも呼ばれます。ハートビートからのパケット(デフォルトで200ミリ秒間隔で6回送出)を受信できない時、FortiGateは対向の機器がダウンしたと見なして、自らがプライマリへと昇格します。この時、両方がプライマリになっている状態のことを「スプリットブレイン」と呼びます。
機器自体が正常であってもハートビートが全てダウンしている場合、スプリットブレインに陥ります。スプリットブレインの状態では通信が不安定になり、クライアントが通信できなくなる場合があるため、早急なハートビートの復旧が求められます。ハートビートが1本の場合、スプリットブレイン発生のリスクが高まります。ハートビートは2本で設定することを推奨します。
ハートビートのパラメータ変更方法
ハートビートのパケットは、デフォルトでは200ミリ秒(2×100ミリ秒)間隔で送信されます。計6回失敗するとダウンとみなします。
(ha) # set hbdev a 100 b 50 << インターフェースと優先度の設定
(ha) # set hb-interval 2 << ハートビートパケットの送信間隔
(ha) # set hb-interval-in-milliseconds 100ms << ハートビートパケットの送信間隔時間
(ha) # set hb-lost-threshold 6 << ダウンとみなす失敗回数
(ha) # end
| 種類 | 解説 |
|---|---|
| hbdev | 機器間の設定やセッション情報を同期するためのハートビートインターフェースを選択します。インターフェースは複数選択でき、それぞれに優先度の値を入力します。値の大きいインターフェースが優先されます。値が同じ場合は登録順です。範囲は[0-512]です。 |
| hb-interval | ハートビートパケットの送信間隔です。この値を増やすことで誤検知を減らせます。デフォルトは2で、範囲は[1-20]です。 |
| hb-interval-in-milliseconds | ハートビートパケットの送信間隔時間(単位は100ミリまたは10ミリ秒)を選択します。デフォルトは100ミリ秒です。 |
| hb-lost-threshold | ダウンとみなす失敗回数です。デフォルトは6回で、範囲は[1-60]です。 |
仮想MACアドレス(Virtual MAC Address)
FGCPでは、フェイルオーバー発生によって機器の切り替えが起こっても通信を継続できるようにするため、両方の機器で共通のIPアドレスと「仮想MACアドレス」を使用します。
ただし、共通のIPアドレスと仮想MACアドレスを持っているだけでは、スムーズな通信の切り替えは実現できません。機器が切り替わったことを周辺機器へ迅速に「学習」させるため、GARPが併用されます(GARPについては後述)。

仮想MACアドレスの書式とルール
仮想MACアドレスは、デフォルトで次の書式に基づいて割り当てられます。この例では、グループIDを「150」に設定しています。
【書式】

| 種類 | 解説 | |
|---|---|---|
| group-prefix | 前の6桁は製造メーカー番号です。group-idによって変化します。 | |
| group-id_hexが[0–255]の時 | 00:09:0f:09(Fortinet社の番号です)。 | |
| group-id_hexが[256-511]の時 | e0:23:ff:fc(Fortinet社の番号です)。 | |
| group-id_hexが[512-767]の時 | e0:23:ff:fd(Fortinet社の番号です)。 | |
| group-id_hexが[768-1023]の時 | e0:23:ff:fe(Fortinet社の番号です)。 | |
| group-id_hex | HA設定で入力したグループIDの数値を16進数に変換した文字列の下桁2つが表示されます。範囲は[0-1023]です。 | |
| vcluster_integer | バーチャルクラスタ番号です。VDOM機能を利用する時、HAへ参加させるVDOMを設定する際に利用されます。 | |
| idx | インターフェースのインデックス番号[0-x]です。xはインターフェース数によって増えていきます。 | |
仮想MACアドレスの確認方法
インターフェースの設定画面で仮想MACアドレスを表示できます。
下記の例では、「interface2」が管理インターフェースのため、仮想MACアドレスのルールからは外されています。
[ネットワーク] >[インターフェース] を選択し、上部のカラムを右クリック → 「MACアドレス」を選択して[適用]すると表示されます。

下記コマンドで仮想MACアドレスを表示できます。「get hardware nic」でも同様の結果を得られます。「Current_HWaddr」が仮想MACアドレス、「Permanent_HWaddr」物理インターフェースのMACアドレスです。
下記の例では、「interface2」が管理インターフェースのため、仮想MACアドレスのルールからは外されています。
The following NICs are available:
a
b
dmz
internal1
internal2
internal3
internal4
internal5
wan1
wan2
# diagnose hardware deviceinfo nic wan1 | grep addr << MACアドレス表示
Current_HWaddr 00:09:0f:09:96:00 << 仮想MACアドレス
Permanent_HWaddr 84:39:8f:93:fa:66 << 物理MACアドレス
# diagnose hardware deviceinfo nic internal2 | grep addr << 管理インターフェースのMACアドレス表示
Current_HWaddr 84:39:8f:93:fa:6a << 仮想MACアドレス(物理MACアドレスと同じ)
Permanent_HWaddr 84:39:8f:93:fa:6a << 物理MACアドレス
下記コマンドで全ての仮想MACアドレスを一覧表示できます。「mac」が物理インターフェースのMACアドレス、「vmac」が仮想MACアドレスです。セカンダリ機は仮想MACアドレスを持ちません。下記の例では、「interface2」が管理インターフェースのため、仮想MACアドレスのルールからは外されています。
HA mac msg
serial#=FGT70FTKXXXXXXXX Primary
prio=0, phy_index= 0,itf_name=wan1, mac=84.39.8f.93.fa.66, vmac=00.09.0f.09.96.00, linkfail=0
prio=0, phy_index= 1, itf_name=wan2, mac=84.39.8f.93.fa.67, vmac=00.09.0f.09.96.01, linkfail=1
prio=0, phy_index= 2, itf_name=dmz, mac=84.39.8f.93.fa.68, vmac=00.09.0f.09.96.02, linkfail=1
prio=0, phy_index= 3, itf_name=internal1, mac=84.39.8f.93.fa.69, vmac=00.09.0f.09.96.03, linkfail=0
prio=0, phy_index= 4, itf_name=internal2, mac=84.39.8f.93.fa.6a, vmac=--.--.--.--.--.--, linkfail=0 ; << 管理インターフェース
prio=0, phy_index= 5, itf_name=internal3, mac=84.39.8f.93.fa.6b, vmac=00.09.0f.09.96.05, linkfail=1
prio=0, phy_index= 6, itf_name=internal4, mac=84.39.8f.93.fa.6c, vmac=00.09.0f.09.96.06, linkfail=1
(中略)
serial#=FGT70FTKYYYYYYYY Secondary
prio=1, phy_index= 0, itf_name=wan1, mac=84.39.8f.94.11.04, vmac=--.--.--.--.--.--, linkfail=0
prio=1, phy_index= 1, itf_name=wan2, mac=84.39.8f.94.11.05, vmac=--.--.--.--.--.--, linkfail=1
prio=1, phy_index= 2, itf_name=dmz, mac=84.39.8f.94.11.06, vmac=--.--.--.--.--.--, linkfail=1
prio=1, phy_index= 3, itf_name=internal1, mac=84.39.8f.94.11.07, vmac=--.--.--.--.--.--, linkfail=0
prio=1, phy_index= 4, itf_name=internal2, mac=84.39.8f.94.11.08, vmac=--.--.--.--.--.--, linkfail=0
prio=1, phy_index= 5, itf_name=internal3, mac=84.39.8f.94.11.09, vmac=--.--.--.--.--.--, linkfail=1
prio=1, phy_index= 6, itf_name=internal4, mac=84.39.8f.94.11.0a, vmac=--.--.--.--.--.--, linkfail=1
(後略)
HA徹底入門 シリーズ一覧
著者
関連製品
-
FortiGate/FortiGateCloud強固なセキュリティ機能を一台で提供する統合脅威管理(UTM)アプライアンスです。
- Cloud / SaaS
- Network Security
- OT Security
