作業環境
- FortiGate-VM64 7.0.5
HA の VIP と MAC アドレスの話
ネットワーク機器で HA を構成する場合 VIP が使用されますが、このとき VIP に対応する MAC アドレスが何になるか、ということが割と重要になります。
MAC アドレスのパターンとしては機種や設定によって主に以下の 2 パターンがあります。
- アクティブ機の実 MAC アドレスが使用されるパターン
- 仮想 MAC アドレスが使用されるパターン
FortiGate では仮想 MAC アドレスが使用される
FortiGate で HA を構成する場合、MAC アドレスとしては仮想 MAC アドレスが使用されます。
HA を構成する各メンバは各インターフェースで実 MAC アドレスを持ちますが、プライマリ機では MAC アドレスとして仮想 MAC アドレスを持ってそれを使用することになります。
プライマリ機が切り替わると仮想 MAC アドレスは新プライマリ機に移ります。
各インターフェースの仮想 MAC アドレスはプライマリ機で以下コマンドを実行することで確認できます。
get hardware nic <interface 名>
以下出力例の Hwaddr:
の部分に仮想 MAC アドレスが表示されます。
FortiGate01 # get hardware nic port1
Name: port1
...
Hwaddr: 00:09:0f:09:00:00
Permanent Hwaddr:00:0c:29:72:bc:02
...
なお Permanent Hwaddr:
は実 MAC アドレスです。
セカンダリ機では Hwaddr:
と Permanent Hwaddr:
の両方に実 MAC アドレスが表示されます。
FortiGate02 # get hardware nic port1
Name: port1
...
Hwaddr: 00:0c:29:f3:9a:de
Permanent Hwaddr:00:0c:29:f3:9a:de
...
仮想 MAC アドレスの決定規則
仮想 MAC は以下の規則で決定されます。
00:09:0f:09:<group-id(16進数)>:(<vcluster_integer> + <idx>)
group-id
: グループ ID(config system ha
内set group-id
)、デフォルトは 0vcluster_integer
: バーチャルクラスタ ID(VDOM 使用時に関係)idx
: インターフェース・インデックス番号(0,1,2,…)
FortiGate-VM での仮想 MAC アドレスの例:
Interface | 仮想 MAC アドレス |
port1 | 00:09:0f:09:00:00 |
port2 | 00:09:0f:09:00:01 |
port3 | 00:09:0f:09:00:02 |
port4 | 00:09:0f:09:00:03 |
port5 | 00:09:0f:09:00:04 |
port6 | 00:09:0f:09:00:05 |
port7 | 00:09:0f:09:00:06 |
port8 | 00:09:0f:09:00:07 |
port9 | 00:09:0f:09:00:08 |
port10 | 00:09:0f:09:00:09 |
「管理インターフェース」では仮想 MAC は無い
HA 設定における「管理インターフェース」と設定されているインターフェースでは仮想 MAC アドレスは使用されず、各メンバで実 MAC アドレスが使用されます。
port8 を管理インターフェースに設定している場合:
FortiGate01 # get hardware nic port8
Name: port8
...
Hwaddr: 00:0c:29:72:bc:48
Permanent Hwaddr:00:0c:29:72:bc:48
...
FortiGate02 # get hardware nic port8
Name: port8
...
Hwaddr: 00:0c:29:f3:9a:24
Permanent Hwaddr:00:0c:29:f3:9a:24
...
仮想 MAC が重複するケース
ネットワーク環境によっては、仮想 MAC が重複することがあります。
具体的には、同じセグメント内に 2 つ以上の FortiGate HA クラスタが存在し、グループ ID をデフォルトの 0 のままにしている場合です。
このような場合には、仮想 MAC が重複しないようにグループ ID を変更するなどの対応が必要となります。
プライマリ機切り替わり時の GARP の話
一般的に HA 構成がされている機器クラスタでは、アクティブ機が切り替わると新アクティブ機から GARP が送信され、隣接機器に VIP の MAC アドレスが変わったことを知らせます。
FortiGate の HA の場合、VIP の MAC アドレスには仮想 MACが使用されるため、プライマリ機の切り替わり前後で VIP の MAC アドレスが変わることはありません。ただ、プライマリ機切り替わり後に新プライマリ機からの GARP 送信は実施されます。
デフォルトでは 8 秒間隔で 5 回、GARP が送信されます。
config system ha
set gratuitous-arps enable
set arps 5
set arps-interval 8
end
GARP のパケットキャプチャ:
