IPアドレスまたはMACアドレスによるVMware VMの特定

VMware vSphereインフラストラクチャでは、VMのIPアドレスだけを知っている場合やその逆の場合があります。たとえば、SSHやリモートデスクトッププロトコル(RDP)を介してゲストOSにリモートアクセスしているIPアドレスを持っていて、そのVMの名前を知る必要がある場合があります。このような操作はvSphereで完了できますが、ゲストOSではできません。

また、VMが使用している仮想ネットワークアダプタのMACアドレスを特定する必要がある場合があります。このブログ投稿では、仮想マシンのIPアドレスやMACアドレスを見つける方法、およびIPアドレスやMACアドレスを知っている場合にVMの名前を発見する方法について説明します。

VMware vSphere ClientでIPアドレスを確認する

VMware vSphereでVMのIPアドレスを確認する最も簡単な方法は、VMware vSphere Clientを使用することです。

  1. Webブラウザで、vCenter ServerのIPアドレスをアドレスバーに入力し、vSphere Clientを開き、資格情報を入力してログインします。
  2. ホストとクラスタを選択し、必要なVMを名前で選択し、概要タブを確認します。仮想マシンのVMware IPアドレスは、IPアドレスセクションに表示されます。1つのVMには複数の仮想ネットワークアダプタと複数のIPアドレスが含まれる場合があります。
  3. すべてのN個のIPアドレスを表示をクリックして、VMが使用するすべてのIPアドレスを表示します。
  4. 以下のスクリーンショットで、VMware VM で使用されている1つのIPv4アドレスと1つのIPv6アドレスが見えます。VMware vSphere ClientのWebインターフェースでIPアドレスを表示するには、ゲストオペレーティングシステム(OS)にVMware Toolsをインストールする必要があります。VMは電源が入っている必要があります。

vSphere Client で MAC アドレスを確認する

A VM’s MAC address can be used for network diagnostics and other purposes.

  1. MAC アドレスを確認するには、VMware vSphere Clientのナビゲーターペインで VM の名前を右クリックし、コンテキストメニューで設定を編集をクリックします。
  2. 設定を編集ウィンドウの仮想ハードウェアタブで、VMが使用している仮想ネットワークアダプタのMACアドレスを確認するために、ネットワークアダプタの名前をクリックします。

VMware Host Client で VM の IP アドレスを確認

VMware vCenterを使用しないスタンドアロンのESXiホストを使用している場合、サーバー上でESXi Free Editionを使用していると、仮想環境を管理するために

  1. VMware vSphere Clientを使用できません。このような状況では、VMware Host Clientを使用して、WebインターフェースでESXiホストを管理できます。
  2. WebブラウザのアドレスバーにESXiホストのIPアドレスを入力し、ESXi管理者アカウントのユーザー名とパスワードを入力します。ナビゲータペインで、仮想マシンをクリックし、IPアドレスが識別される必要があるVMを選択します。vSphere ClientでVMware IPアドレスを識別する場合と同様に、VMは起動しており、ゲストオペレーティングシステムにVMware Toolsがインストールされている必要があります。
  3. VM情報が表示されるページで、一般情報セクションを見つけ、ネットワーキングをクリックしてパネルを展開し、VMが使用するIPアドレスを表示します。

VMware Host ClientでVM MACアドレスを確認する

  1. VMware Host ClientでVMのMACアドレスを確認するには、IPアドレスを確認するときと同様に、VMを選択します。Webインターフェースのページをスクロールして、ハードウェア構成セクションに移動します。
  2. ウェブインターフェースのハードウェア構成セクションまでページをスクロールしてください。
  3. 必要なVMネットワークアダプタをクリックしてオプションを展開し、対応する仮想ネットワークアダプタのMACアドレスを見つけます。

注意: この例では、vCenter Serverで管理されているESXiホストを使用していますが、VMware Host Clientにログインしています。 VMはvCenterで作成されました。

VMウェアvSphereでのVM検索を使用すると、VMの名前をIPアドレスではなくMACアドレスで検索できます。

IPアドレスによるVM名の特定

IPアドレスを知っている場合は、vSphere PowerCLIを使用してVM名を特定できます。

  1. ESXiホストまたはvCenterに接続し、管理アカウントのユーザー名とパスワードを入力してください:
    Connect-VIServer ESXi_or_vCenter_IP -User root
  2. この場合、次のコマンドを使用してvCenter Serverで管理されているESXiホストに接続します:
    Connect-VIServer 10.10.10.74 -User root
  3. 定義されたIPアドレスを持つVMを表示する最も簡単なコマンドは次のとおりです:
    Get-VM * |where-object{$_.Guest.IPAddress -match “192.168.17.137”}

    ここで、192.168.17.137は特定されるVMのIPアドレスです。

PowerCLIでVMのIPアドレスを知っている場合、VM名を特定する別の方法があります。この場合、2つのコマンドを実行する必要があります。

  1. 特定されるVMのIPアドレスを定義します:
    $vmIP=”192.168.17.137″
  2. VMに関する情報を取得します:
    Get-VM * |where-object{$_.Guest.IPAddress -eq $vmIP}|select Name, VMHost, PowerState,GuestId,@{N=”IP アドレス”;E={@($_.guest.IPAddress[0])}}|ft
  3. IPアドレスの一部を知っている場合、検索パターンに一致するIPアドレスを持つすべてのVMを表示できます。
    $vmIP=”192.168.”

    Get-VM * |where-object{$_.Guest.IPAddress -match $vmIP}|select Name, VMHost, PowerState,@{N=”IP アドレス”;E={@($_.guest.IPAddress[0])}} ,@{N=”OS”;E={$_.Guest.OSFullName}},@{N=”Hostname”;E={$_.Guest.HostName}}|ft
  4. ホストまたはクラスタ上のすべてのVMのリストを取得し、可能な場合はIPアドレスを表示するコマンドは次のとおりです:
    Get-VM | Select Name, @{N=”IP アドレス”;E={@($_.guest.IPAddress[0])}}

この方法の欠点は、時々IPアドレスが部分的にしか表示されないことです。

  • クラスタ内のすべてのVMを表示するコマンドもあります(クラスタ名に“cluster”という文字列が含まれています)。可能であればIPアドレスも表示します。
    Get-Cluster “*cluster*” | Get-VM | Select Name, Host, @{N=”IP Address”;E={@($_.guest.IPAddress[0])}} 

    2番目のIPアドレスを表示したい場合は、[0][1]に変更してください。これらの文字をコマンドから削除することで、表示される結果の違いを確認できます。

MACアドレスによるVM名の特定

VMのMACアドレスがわかっている場合は、VMware PowerCLIを使用してVM名を特定することもできます。

  1. VMware PowerCLIでESXiホストまたはvCenterに接続します。前の例で述べたESXiホストに接続する例を示します。
    Connect-VIServer 10.10.10.74 -User root
  2. 仮想マシンのMACアドレスを定義し、このVMの名前を見つけます。
    $vmMAC=”00:50:56:84:C4:5F”

    Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq $vmMAC } | Select-Object Parent,Name,MacAddress
  3. ESXiホストにSSH経由で接続し、仮想マシンのMACアドレスからその仮想マシンの名前を特定するためにESXiコマンドラインインターフェースを使用できます。
    find /vmfs/volumes | grep .vmx$ | while read i; do grep -i “00:50:56:84:C4:5F” “$i” && echo “$i”; done

VMware環境における仮想マシンのMACアドレス

MACアドレスは無作為に割り当てられません。MACアドレスの前半部分は通常、適切なハードウェアまたはソフトウェアメーカーに関連付けられています。

MACアドレスが00:50:56で始まる場合、それはVMware仮想マシンに属するVMware MACアドレスであり、以前の例でVMware VMのMACアドレスを特定した際に確認できました。

VMware MACアドレスには4つの割り当てがあります: 00:50:56, 00:0C:29, 00:05:69, 00:1C:14。 一般的なVMware MACアドレス範囲のカテゴリを見てみましょう:

  • 00:50:56 – VMware Workstation、VMware vSphere、VMware ESXiサーバー
  • 00:50:56:80:00:00 – 00:50:56:BF:FF:FF – vCenter、vCenterで管理されるVMware vSphere VM
  • 00:0C:29 – スタンドアロンESXiホスト、VMware Horizon、VMware Workstation
  • 00:05:69 – VMware ESXi、VMware GSX
  • 00:1C:14 – VMware

組織固有識別子(OUI)は、VMware OUI割り当てスキームに従って、VMware MACアドレスの接頭辞として使用されます。VMware vCenterとESXiホストは、MACアドレスのプレフィックスを異ならせており、ホストがvCenter Serverに接続されていないが後でvCenterに接続できる状況でMACアドレスの競合を回避します。ESXiホストがvCenterによって管理されている場合、vCenterはVMware VMのためにVMware vSphere MACアドレスを生成します。

VMにMACアドレスを手動で設定する場合(VMの設定で)、プレフィックス(最初の3つのオクテット)は自動的に保持されます。MACアドレスの後半部分はカスタマイズできます。

VMware VMにMACアドレスを手動で設定したい場合は、このテンプレートを使用してください:

00:50:56:XX:YY:ZZ

  • XXの代わりに推奨される16進数の値は00から3Fの間の数値です。
  • YYおよびZZフィールドの有効な数値は00からFF(完全な範囲)の間にあります。

これらの推奨事項を使用すると、手動で設定したMACアドレスと、VMware vCenterによって自動的に生成されたVMware MACアドレス、およびVMkernelアダプタに割り当てられたMACアドレスとの間の競合を回避できます。手動で設定できるVMware MACアドレスの最大値は、00:50:56プレフィックス(OUI)が使用されている場合、00:50:56:3F:FF:FFです。このアプローチは、手動および自動的に割り当てられたVMware MACアドレスを識別するのにも役立ちます。ネットワーク内のすべてのMACアドレスが一意であることを忘れないでください。

vCenter固有IDの計算

他の VMware vCenter の MAC アドレスを特定する側面を探ってみましょう。

上記のように、vCenter の MAC アドレスは、00:50:56:80:00:00 – 00:50:56:BF:FF:FF の範囲から 00:50:56:XX:YY:ZZ の形式で割り当てられます。

この場合、XX の値は vCenter の固有 ID に基づいて計算されます。

XX=80+vCenterID

vCenter の MAC アドレスを知っている場合、vCenter サーバーの固有 ID (0 から 63 まで) を計算できます。

VMware MAC アドレスを持つ vCenter サーバーが展開された場合の例を見てみましょう。そのネットワークインターフェースには VMware MAC アドレスがあります。

00:50:56:9B:48:55

9B から 80 を引きます (16 進数)。16 進数計算機を使用できます。

0x9B – 0x80 = 0x1B

16 進数値を 10 進数値に変換します。

0x1B = 27

この場合、vCenter の固有 ID は 27 です。

スタンドアロンホスト上の VM の VMware MAC アドレス

さて、スタンドアロン ESXi ホスト上の VM の MAC アドレス生成の例を見て、スタンドアロン ESXi ホスト上で VM の MAC アドレスがどのように生成され、生成原則を理解しましょう。VM の VMware MAC アドレスの最後の 6 文字 (UUID) は、VMware MAC アドレスの最後の 3 オクテットを埋めるために使用されます。スタンドアロン ESXi ホスト上で作成された VM の VMware MAC アドレスの最初の 3 オクテットは 00:0C:29 です。

以下のスクリーンショットでは、次のパラメータを持つ VM を見ることができます:

MAC アドレス: 00:0C:29:B0:3E:1D

VM名: Windows-VM

VMのUUIDを確認し、UUIDとVMのMACアドレスの最後の文字を比較しましょう。

PowerCLIで次のコマンドを使用してVMのUUIDを確認できます。

Get-VM Windows-VM | %{(Get-View $_.Id).config.uuid}

この場合、UUIDは564df9a2-261e-869e-5a1d-d118abb03e1d

で、MACアドレスは00:0C:29:B0:3E:1D

となります。ルールが適用されていることがわかります。

結論

VMware vSphere ClientやVMware Host ClientのグラフィカルユーザーインターフェースでVMのMACアドレスとIPアドレスを確認できます。代替として、ESXiコマンドラインやPowerCLIを使用して、VMのMACアドレスを特定することができます。VMの名前を知っている場合は、VMware PowerCLIを使用して、VMのIPアドレスやMACアドレスを特定することもできます。VMwareのMACアドレスを仮想マシンや他のデバイスに割り当てる原則を知ることで、ネットワーク内の他のデバイスからVMware関連のマシンを識別する際にMACアドレスを確認するのに役立ちます。

VMware vSphereで実行されているVMをバックアップすることを忘れないでください。信頼性のあるVMware ESXiバックアップソフトウェアであるNAKIVO Backup & Replicationを使用して、堅牢なデータ保護を行います。このソリューションは、VMのバックアップ、物理サーバーのバックアップ、データベースのバックアップ、Microsoft 365のバックアップをサポートしています。

Source:
https://www.nakivo.com/blog/locating-vmware-vms-by-ip-or-mac-address/