kooshinlab / コーシンラボ

現役ネットワークエンジニアが、ネットワーク運用で必要になった技術の記事を書くブログです。

【1/2】ルータ冗長プロトコルのVRRP/HSRPのグループ番号をMACアドレスから確認する

f:id:KOOSHIN:20211016215758p:plain

ネットワークエンジニアにお馴染みのルータ冗長プロトコルであるVRRP(Virtual Router Redundancy Protocol)HSRP(Hot Standby Router Protocol)のグループ番号をMACアドレスから確認する方法を説明します。

同じネットワークセグメントにルータ冗長プロトコルを利用して複数の冗長グループを作った場合、 しばしばグループ番号が重複して通信障害を引き起こしてしまうことがあると思います1。 そしてもれなく障害報告書の出番です。

本記事では、不幸な事故が二度と起こらないように、ルータ冗長プロトコルのグループ番号を事前に使われていないか確認する方法を説明します。

f:id:KOOSHIN:20211016203304p:plain
ルータ冗長プロトコルのグループ番号の重複事故

確認方法

ルータ冗長プロトコルはグループ番号ごとに決められた仮想MACアドレスを利用します。 このため、仮想MACアドレスを確認することで、グループ番号を確認できます。

ルータ冗長プロトコルは必ず2台のルータを接続するために、ルータの先にレイヤ2スイッチが接続されています。 レイヤ2スイッチが学習しているMACアドレステーブルを参照することで、MACアドレスを確認できます。

ここでは、レイヤ2スイッチとしてシスコCatalystスイッチを想定しています。 Catalystの場合、show mac address-tableコマンドで、学習しているMACアドレステーブルを表示できます。 表示されたMACアドレスからルータ冗長プロトコルの仮想MACアドレスからグループ番号を確認します。

グループ番号を確認することで、他のルータで使われていないか事前に判断でき、重複する事故を防げます。

仮想MACアドレスとグループ番号の関係

ルータ冗長プロトコルに対応する仮想MACアドレスは下表のとおりです。

仮想MACアドレス末尾の下2桁または下3桁の赤字部分がグループ番号を示します。 16進数で表現されているため、16進数から10進数へ変換することでグループ番号を確認できます。

HSRPv2以外は下2桁がグループ番号です。 HSRPv2のみ、4096個のグループを利用できるため、下3桁がグループ番号です。

ルータ冗長
プロトコル
IPバージョン グループ
番号範囲
仮想MACアドレス
(Cisco表記)
仮想MACアドレス
(:表記)
仮想MACアドレス
(-表記)
VRRPv2/v3 IPv4 1-255 0000.5e00.01xx 00:00:5e:00:01:xx 00-00-5E-00-01-XX
VRRPv3 IPv6 1-255 0000.5e00.02xx 00:00:5e:00:02:xx 00-00-5E-00-02:XX
HSRPv1 IPv4 0-255 0000.0c07.acxx 00:00:0c:07:ac:xx 00-00-0C-07-AC-XX
HSRPv2 IPv4 0-4095 0000.0c9f.fxxx 00:00:0c:9f:fx:xx 00-00-0C-9F-FX-XX
HSRPv2 IPv6 0-4095 0005.73a0:0xxx 00:05:73:a0:0x:xx 00-05-73-A0-0X-XX

グループ番号の計算方法

MACアドレスの下2桁または下3桁がグループ番号です。

下図の通り、MACアドレスは16進数表記のため、16進数から10進数に変換することで、グループ番号を確認できます。

f:id:KOOSHIN:20211016182105p:plain
下2桁の計算方法
f:id:KOOSHIN:20211016182127p:plain
下3桁の計算方法

実機確認

Catalystshow mac address-tableを実行した例が下図です。

VLANでセグメントを分割して、VLANごとにVRRPv2(IPv4)・VRRPv3(IPv4/v6)・ HSRPv1(IPv4)・ HSRPv2(IPv4/v6)を作動させています。

f:id:KOOSHIN:20211016183414p:plain
show mac address-tableの実行例

上図のshow mac address-tableの結果から、下表のようになっていることがわかります。

VLAN MACアドレス ルータ冗長
プロトコル
グループ番号 備考
Vlan101 0000.5e00.0165 VRRPv2/v3(IPv4) 101
Vlan102 0000.5e00.0166 VRRPv2/v3(IPv4) 102
Vlan102 0000.5e00.0266 VRRPv3(IPv6) 102 VRRPv3はIPv4IPv6を両方同時に利用する場合、
同じグループ番号を同時に使用可能
Vlan103 0000.0c07.ac67 HSRPv1(IPv4) 103
Vlan104 0000.0c9f.f068 HSRPv2(IPv4) 104
Vlan104 0005.73a0.0069 HSRPv2(IPv6) 105 HSRPv2はIPv4IPv6を両方同時に利用する場合、
同じグループ番号を同時に使用できない

まとめ

付録