ランダム MAC アドレスジェネレーター
ユニキャスト/マルチキャストとローカル管理ビットを正しく設定したランダムな MAC アドレスを生成。ベンダー OUI プレフィックスと、コロン・ハイフン・Cisco 形式も選べます。
16 進数で 1〜5 バイト(例: 00:1A:2B)。残りはランダムです。
先頭バイトの下位 2 ビットを選択どおりに設定します: ビット 0 = マルチキャスト、ビット 1 = ローカル管理。ローカル管理のユニキャストアドレス(2 桁目が 2、6、A、E)は実機と衝突しません。
MAC アドレスジェネレーターとは?
仮想マシン、コンテナ、ネットワーク検証環境、テスト向けに、ランダムな 48 ビットの MAC(EUI-48)アドレスを生成します。既定では ローカル管理のユニキャスト アドレスになるため、メーカーが割り当てたアドレスと衝突することはありません。ベンダープレフィックス(OUI)を維持し、コロン、ハイフン、Cisco のドット、区切りなしの形式を選ぶこともできます。
MAC アドレスジェネレーターの使い方
- アドレスの 個数 と出力の 形式 を設定します。
- ローカル管理アドレス(推奨) にチェックを入れたままにし、デバイスのアドレスでは マルチキャスト のチェックを外したままにします。
- 必要なら
00:1A:2Bのような ベンダープレフィックス / OUI を入力します。ランダムになるのは残りのバイトだけです。 - 再生成 をクリックして新しいアドレスを作り、コピーまたはダウンロードします。
例
How many 3, Colons, Locally administered
2a:78:3b:41:ae:64 ea:6f:53:fc:13:5c a6:a1:3d:92:20:8c
どのアドレスも 2 桁目は 2、6、A、E のいずれかで、ローカル管理のユニキャストです。ランダムなので、実際の値は異なります。
MAC アドレスジェネレーターを使うべき場面
VM(KVM、VirtualBox、Proxmox)、Docker の macvlan ネットワーク、テストフィクスチャ、ネットワークシミュレーションに MAC アドレスを割り当てるときに使います。物理デバイスと衝突しうるネットワークで実在するベンダーの OUI を使わないでください。また、他のデバイスのなりすましには使わないでください。
MAC アドレスジェネレーターの仕組み
crypto.getRandomValues で 6 バイトの乱数を引きます。最初のバイトでは、ビット 0(I/G)がマルチキャストなら 1、ユニキャストなら 0 に、ビット 1(U/L)がローカル管理なら 1、グローバル管理なら 0 に設定されます。そのため、ローカル管理のユニキャストアドレスの 2 桁目の 16 進数は、常に 2、6、A、E のいずれかです(例:x2:…)。ベンダープレフィックスを指定した場合、そのバイトはそのままコピーされ、残りだけがランダムになります。
一般的な使用例
- 仮想マシンやコンテナに固定の MAC を割り当てる
- ネットワークインベントリや DHCP ソフトウェアのテストデータを作成する
- GNS3 や EVE-NG で検証用のトポロジーを構築する
- Cisco の xxxx.xxxx.xxxx 形式のサンプルアドレスを生成する
よくある質問
ローカル管理の MAC アドレスとは何ですか?
U/L ビット(最初のバイトのビット 1)が 1 のアドレスです。メーカーはこれを使わないため、仮想デバイスやテスト用デバイスに安全に使えます。
マルチキャストビットとは何ですか?
最初のバイトのビット 0 です。1 の場合、そのアドレスは受信者のグループを表すため、ネットワークカードにはユニキャスト(0)のアドレスを使う必要があります。
ベンダープレフィックスを付けると、その会社の MAC のように見えますか?
はい。OUI を検索するツールにはそのベンダーが表示されます。隔離されたテスト環境でのみ使ってください。