Определение виртуальных машин VMware по IP-адресу или MAC-адресу

В крупной инфраструктуре VMware vSphere вы можете знать только IP-адрес виртуальной машины и нуждаться в имени или наоборот. Например, у вас может быть IP-адрес с удаленным доступом к гостевой ОС через SSH или протокол удаленного рабочего стола (RDP), но вам нужно имя ВМ для ее локализации на хосте ESXi для настройки, миграции или резервного копирования. Вы можете выполнить эти операции с помощью vSphere, но не с гостевой ОС.

Также может потребоваться определить MAC-адрес виртуального сетевого адаптера, который использует ВМ. В этом блоге мы объясним, как найти IP- или MAC-адрес виртуальной машины и как узнать имя ВМ, когда вы знаете IP- или MAC-адрес.

Проверка IP-адреса в клиенте VMware vSphere

Самым простым способом проверки IP-адреса ВМ в VMware vSphere является использование клиента VMware vSphere.

  1. В веб-браузере введите IP-адрес вашего сервера vCenter в адресной строке, откройте клиент vSphere и введите учетные данные для входа.
  2. Перейдите к Хосты и кластеры, выберите нужную ВМ по имени и проверьте вкладку Сводка. IP-адреса виртуальной машины VMware отображаются в разделе IP-адреса. У одной ВМ может быть несколько виртуальных сетевых адаптеров и несколько IP-адресов.
  3. Нажмите Просмотреть все N IP-адресов, чтобы отобразить все используемые ВМ IP-адреса.
  4. На скриншоте ниже вы можете увидеть один IPv4 и один IPv6-адрес, используемые виртуальной машиной VMware. VMware Tools должны быть установлены в гостевой операционной системе (OS), чтобы просматривать IP-адреса в веб-интерфейсе клиента VMware vSphere. Виртуальная машина должна быть включена.

Проверка MAC-адреса в клиенте vSphere

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

  1. Для проверки MAC-адреса щелкните правой кнопкой мыши имя ВМ в панели Навигатор клиента VMware vSphere, а затем в контекстном меню щелкните Изменить настройки.
  2. На вкладке Виртуальное оборудование окна Изменить настройки щелкните имя сетевого адаптера, чтобы проверить MAC-адрес виртуального сетевого адаптера, используемого ВМ.

Проверка IP-адреса ВМ в клиенте VMware Host.

Если вы используете автономный хост ESXi без VMware vCenter, вы не можете использовать клиент VMware vSphere для управления виртуальной средой. Это происходит, когда вы используете ESXi Free Edition на сервере. В этой ситуации вы можете использовать клиент хоста VMware для управления хостом ESXi в веб-интерфейсе.

  1. Введите IP-адрес вашего хоста ESXi в адресной строке вашего веб-браузера и введите имя пользователя и пароль администратора ESXi.
  2. В панели Навигатор щелкните Виртуальные машины и выберите ВМ с IP-адресом, который нужно определить. Как и при определении IP-адреса VMware ВМ в клиенте vSphere, ВМ должна быть запущена, а на гостевой операционной системе должны быть установлены инструменты VMware.
  3. На странице с информацией о ВМ найдите раздел Общая информация и щелкните Сеть, чтобы развернуть панель и просмотреть используемые ВМ IP-адреса.

Проверка MAC-адреса ВМ в клиенте хоста VMware

  1. Чтобы проверить MAC-адрес ВМ в клиенте хоста VMware, выберите ВМ, как вы это делали при проверке IP-адреса.Прокрутите страницу вниз до раздела Конфигурация оборудования в веб-интерфейсе.
  2. Прокрутите страницу до раздела Конфигурация оборудования на веб-интерфейсе.
  3. Щелкните по сетевому адаптеру ВМ, чтобы развернуть параметры и найти MAC-адрес соответствующего виртуального сетевого адаптера.

Примечание: В этом примере мы используем хост ESXi, управляемый сервером vCenter, но мы вошли в VMware Host Client. ВМ были созданы в vCenter.

Поиск ВМ в VMware vSphere позволяет находить ВМ по имени, но не по IP-адресу или MAC-адресу.

Определение имени ВМ по IP-адресу

Вы можете определить имя ВМ, если знаете IP-адрес, используя vSphere PowerCLI.

  1. Подключитесь к хосту ESXi или vCenter и введите имя пользователя и пароль для учетной записи администратора:
    Connect-VIServer ESXi_or_vCenter_IP -User root
  2. В нашем случае мы подключаемся к хосту ESXi, управляемому сервером vCenter, с помощью команды:
    Connect-VIServer 10.10.10.74 -User root
  3. Самая простая команда для отображения ВМ с заданным IP-адресом:
    Get-VM * |where-object{$_.Guest.IPAddress -match “192.168.17.137”}

    Где 192.168.17.137 – это IP-адрес идентифицируемой ВМ.

Есть еще один метод для определения имени ВМ, если известен IP-адрес ВМ в PowerCLI. В этом случае нужно выполнить две команды.

  1. Определите IP-адрес ВМ для идентификации:
    $vmIP=”192.168.17.137″
  2. Получить информацию о ВМ:
    Get-VM * | where-object{$_.Guest.IPAddress -eq $vmIP} | select Name, VMHost, PowerState, GuestId, @{N=”IP-адрес”; E={@($_.guest.IPAddress[0])}} | ft
  3. Если вы знаете часть IP-адреса, вы можете отобразить все ВМ с IP-адресами, соответствующими образцу поиска.
    $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. Вот команда для получения списка всех ВМ на хосте или кластере и отображения IP-адресов, где это возможно:
    Get-VM | Select Name, @{N=”IP-адрес”; E={@($_.guest.IPAddress[0])}}

Недостаток этого метода заключается в том, что иногда IP-адрес отображается только частично.

  • Есть также команда для просмотра всех виртуальных машин в кластере (название кластера содержит строку “cluster”) и отображения IP-адресов, если это возможно:
    Get-Cluster “*cluster*” | Get-VM | Select Name, Host, @{N=”IP Address”;E={@($_.guest.IPAddress[0])}}

    Измените [0] на [1], если вы хотите отобразить второй IP-адрес. Вы можете удалить эти символы из команды, чтобы увидеть разницу в отображаемых результатах.

Определение имени виртуальной машины по MAC-адресу

Вы также можете использовать VMware PowerCLI для определения имени виртуальной машины, если вы знаете MAC-адрес виртуальной машины.

  1. Подключитесь к хосту ESXi или vCenter в VMware PowerCLI. В моем примере я подключаюсь к хосту ESXi, упомянутому в предыдущем примере:
    Connect-VIServer 10.10.10.74 -User root
  2. Определите MAC-адрес виртуальной машины и найдите имя этой виртуальной машины:
    $vmMAC=”00:50:56:84:C4:5F”

    Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq $vmMAC } | Select-Object Parent,Name,MacAddress
  3. Вы можете подключиться к хосту ESXi через SSH и использовать интерфейс командной строки ESXi, чтобы идентифицировать имя виртуальной машины по ее MAC-адресу.
    find /vmfs/volumes | grep .vmx$ | while read i; do grep -i “00:50:56:84:C4:5F” “$i” && echo “$i”; done

MAC-адреса виртуальных машин в среде VMware

MAC-адреса не назначаются произвольно. Первая половина MAC-адреса обычно связана с соответствующим производителем оборудования или программного обеспечения.

MAC-адреса, начинающиеся с 00:50:56, являются MAC-адресами VMware, принадлежащими виртуальным машинам VMware, как видно из предыдущих примеров, когда мы идентифицировали MAC-адреса виртуальных машин VMware.

Существует четыре назначения для MAC-адресов VMware: 00:50:56, 00:0C:29, 00:05:69, 00:1C:14. Давайте рассмотрим некоторые общие категории диапазонов MAC-адресов VMware:

  • 00:50:56 – VMware Workstation, VMware vSphere, сервер VMware ESXi
  • 00:50:56:80:00:00 – 00:50:56:BF:FF:FF – vCenter, виртуальные машины VMware vSphere, управляемые vCenter
  • 00:0C:29 – Отдельные хосты ESXi, VMware Horizon, VMware Workstation
  • 00:05:69 – VMware ESXi, VMware GSX
  • 00:1C:14 – VMware

Организационные уникальные идентификаторы (OUI) используются в качестве префиксов для MAC-адресов VMware в соответствии с схемой выделения OUI VMware. VMware vCenter и хосты ESXi используют разные префиксы для MAC-адресов, чтобы избежать конфликтов MAC-адресов в ситуациях, когда хост не подключен к серверу vCenter, но может быть подключен к vCenter позже. Если хост ESXi управляется vCenter, то vCenter генерирует MAC-адреса VMware vSphere для виртуальных машин VMware.

Когда MAC-адрес назначается виртуальной машине вручную (в настройках виртуальной машины), префикс (первые три октета) автоматически сохраняется. Вторая половина MAC-адреса может быть настроена по желанию.

Если вы хотите назначить MAC-адрес виртуальной машине VMware вручную, используйте этот шаблон:

00:50:56:XX:YY:ZZ

  • Рекомендуемое шестнадцатеричное значение вместо XX – число от 00 до 3F.
  • Допустимые значения для полей YY и ZZ находятся в диапазоне от 00 до FF (полный диапазон).

Использование этих рекомендаций поможет избежать конфликтов между MAC-адресами, установленными вручную, с MAC-адресами VMware, генерируемыми автоматически vCenter VMware, и MAC-адресами, назначенными адаптерам VMkernel. Обратите внимание, что максимальное значение для MAC-адреса VMware, который можно установить вручную, составляет 00:50:56:3F:FF:FF при использовании префикса 00:50:56 (OUI). Этот подход также поможет идентифицировать MAC-адреса VMware, назначенные вручную и автоматически. Не забывайте, что все MAC-адреса в сети должны быть уникальными.

Расчет уникального идентификатора vCenter

Давайте рассмотрим другие аспекты идентификации MAC-адреса VMware vCenter.

Как уже объяснялось выше, MAC-адрес для vCenter назначается из диапазона (00:50:56:80:00:00 – 00:50:56:BF:FF:FF) в формате 00:50:56:XX:YY:ZZ.

В этом случае значение XX рассчитывается на основе уникального идентификатора vCenter.

XX=80+vCenterID

Если известен MAC-адрес vCenter, можно рассчитать уникальный идентификатор сервера vCenter (может быть от 0 до 63).

Давайте рассмотрим пример с развернутым сервером vCenter в качестве виртуальной машины с MAC-адресом сетевого интерфейса VMware:

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

Вычитаем 80 из 9B (шестнадцатеричное). Можно использовать HEX-калькулятор.

0x9B – 0x80 = 0x1B

Преобразуем значение HEX в десятичное значение:

0x1B = 27

Уникальный идентификатор vCenter в этом случае равен 27.

MAC-адреса VMware для виртуальных машин на автономных хостах

Теперь давайте рассмотрим пример генерации MAC-адреса для виртуальных машин на автономном хосте ESXi, чтобы увидеть, как генерируются MAC-адреса виртуальных машин на автономном хосте ESXi и понять принцип генерации. Последние шесть символов уникального идентификатора (UUID) виртуальной машины используются для заполнения последних трех октетов MAC-адреса VMware виртуальной машины. Первые три октета MAC-адреса VMware для виртуальной машины, созданной на автономном хосте ESXi, равны 00:0C:29.

На скриншоте ниже вы можете видеть параметры виртуальной машины:

MAC-адрес: 00:0C:29:B0:3E:1D

Имя ВМ: Windows-VM

Давайте проверим UUID ВМ и сравним последние символы UUID и MAC-адреса ВМ.

Вы можете проверить UUID ВМ с помощью этой команды в PowerCLI:

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

В нашем случае UUID – 564df9a2-261e-869e-5a1d-d118abb03e1d

, а MAC-адрес – 00:0C:29:B0:3E:1D

Как видите, правило работает.

Вывод

Вы можете проверить MAC-адрес и IP-адрес ВМ в графическом интерфейсе клиента VMware vSphere и клиента VMware Host. В качестве альтернативы используйте командную строку ESXi или PowerCLI для определения MAC-адреса ВМ, если вы знаете имя ВМ. Вы также можете использовать VMware PowerCLI, чтобы определить имя ВМ, если вы знаете IP-адрес или MAC-адрес ВМ. Знание принципов назначения VMware MAC-адресов виртуальным машинам и другим устройствам в виртуальной инфраструктуре VMware может помочь вам определить устройства, связанные с VMware, среди других устройств в сети при проверке MAC-адресов подключенных устройств.

Не забудьте создать резервные копии ваших ВМ, работающих в VMware vSphere. Используйте надежное программное обеспечение для резервного копирования VMware ESXi, такое как NAKIVO Backup & Replication, для надежной защиты данных. Решение поддерживает резервное копирование ВМ, резервное копирование физических серверов, резервное копирование баз данных и резервное копирование Microsoft 365.

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