もともとMACを自動発番にしていたけど、とある理由により現在振られているMACアドレスから動かないようにする必要が出てきたのでメモ。
【ダメなパターン】GUIから普通に設定
仮想マシンの詳細設定を開き、該当マシンのNIC設定からMACアドレスを手動に変えて保存します。
設定変更自体は完了するのですが、仮想マシンを起動しようとするとこんなエラーが出てしまいました。
仮想マシン <マシン名> のパワーオンに失敗しました。固定イーサネットアドレス「XX:XX:XX:XX:XX:XX」は許可されません。VMwareが予約したMACと競合しています。
よくよく調べると「00:0C:29」で始まるMACアドレスはVMwareの自動発番予約MACとして定義されていて仮想マシン起動時にチェックされているみたいでした。
##【これでOK】仮想マシン定義(.vmx)を直接編集
対象の仮想マシンはシャットダウンしておきましょう。
仮想ホスト(ESXi)にSSH接続後、定義ファイルを修正していきます
# cd /vmfs/volumes/<データストア名>/<仮想マシン名> # ディレクトリ移動
# cp -p <仮想マシン名>.vmx <仮想マシン名>.vmx.bak # 念のためバックアップ
# vi <仮想マシン名>.vmx
# 追記(あれば修正)
ethernet<NIC番号>.checkMACAddress = "false" # 予約アドレスかどうかのチェックを無効化
ethernet<NIC番号>.addressType = "static" # MACを手動設定
ethernet<NIC番号>.Address = "XX:XX:XX:XX:XX:XX" # 設定したいMACアドレス
# 削除
ethernet<NIC番号>.generatedAddress = "XX:XX:XX:XX:XX:XX" # 自動生成されたMACアドレス
上記作業後に仮想マシンを起動すればエラーなく起動するはずです。
メモ
本来、VMware仮想マシンでMACを固定にするのであれば「00:50:56」から始まるMACにするのが正しいみたいです。
MACを固定にするのがあらかじめわかっているVMware仮想マシンであればそのようにしましょう。
参考
- 仮想 NIC の静的 MAC アドレスを設定する: https://kb.vmware.com/s/article/219?lang=ja