【1/2】ルータ冗長プロトコルのVRRP/HSRPのグループ番号をMACアドレスから確認する
- 【1/2】ルータ冗長プロトコルのVRRP/HSRPのグループ番号をMACアドレスから確認する★本記事
- 【2/2】ルータ冗長プロトコルのVRRP/HSRPのグループ番号をMACアドレスから確認するPythonツールを作ってみた
ネットワークエンジニアにお馴染みのルータ冗長プロトコルであるVRRP(Virtual Router Redundancy Protocol)とHSRP(Hot Standby Router Protocol)のグループ番号をMACアドレスから確認する方法を説明します。
同じネットワークセグメントにルータ冗長プロトコルを利用して複数の冗長グループを作った場合、 しばしばグループ番号が重複して通信障害を引き起こしてしまうことがあると思います1。 そしてもれなく障害報告書の出番です。
本記事では、不幸な事故が二度と起こらないように、ルータ冗長プロトコルのグループ番号を事前に使われていないか確認する方法を説明します。
確認方法
ルータ冗長プロトコルはグループ番号ごとに決められた仮想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進数に変換することで、グループ番号を確認できます。
実機確認
Catalystでshow mac address-table
を実行した例が下図です。
VLANでセグメントを分割して、VLANごとにVRRPv2(IPv4)・VRRPv3(IPv4/v6)・ HSRPv1(IPv4)・ HSRPv2(IPv4/v6)を作動させています。
上図の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はIPv4とIPv6を両方同時に利用する場合、 同じグループ番号を同時に使用可能 |
Vlan103 | 0000.0c07.ac67 | HSRPv1(IPv4) | 103 | |
Vlan104 | 0000.0c9f.f068 | HSRPv2(IPv4) | 104 | |
Vlan104 | 0005.73a0.0069 | HSRPv2(IPv6) | 105 | HSRPv2はIPv4とIPv6を両方同時に利用する場合、 同じグループ番号を同時に使用できない |
まとめ
- ルータ冗長プロトコルのグループ番号は、ルータ冗長プロトコルが利用する仮想MACアドレスに埋め込まれている
- 仮想MACアドレスの下2桁または下3桁からグループ番号を確認できる
- MACアドレスは、ルータに接続されたレイヤ2スイッチのMACアドレステーブルから確認できる
- MACアドレスごとに目視で確認するのはミスが多くなる。確認用のツールがあった方が良いので、記事を書く予定