Lokalizowanie maszyn wirtualnych VMware według adresu IP lub MAC
W dużej infrastrukturze VMware vSphere może się zdarzyć, że znasz tylko adres IP maszyny wirtualnej, a potrzebujesz jej nazwy, lub odwrotnie. Na przykład możesz dysponować adresem IP, korzystając z zdalnego dostępu do systemu operacyjnego gościa za pośrednictwem protokołu SSH lub protokołu zdalnego pulpitu (RDP), ale potrzebujesz nazwy maszyny wirtualnej, aby zlokalizować ją na hoście ESXi w celu konfiguracji, migracji lub wykonania kopii zapasowej. Operacje te można wykonać za pomocą vSphere, ale nie za pomocą systemu operacyjnego gościa.
Może się również zdarzyć, że konieczne będzie zidentyfikowanie adresu MAC wirtualnej karty sieciowej używanej przez maszynę wirtualną. W tym wpisie na blogu wyjaśniamy, jak znaleźć adres IP lub adres MAC maszyny wirtualnej oraz jak ustalić nazwę maszyny wirtualnej, gdy znany jest adres IP lub adres MAC.
Sprawdzanie adresu IP w kliencie VMware vSphere
Najprostszym sposobem sprawdzenia adresu IP maszyny wirtualnej w środowisku VMware vSphere jest skorzystanie z klienta VMware vSphere.
- W przeglądarce internetowej wpisz adres IP serwera vCenter w pasku adresu, otwórz klienta vSphere i wprowadź swoje dane logowania, aby się zalogować.
- Przejdź do
Hosts and Clusters, wybierz potrzebną maszynę wirtualną według nazwy i sprawdź kartęSummary. Adresy IP maszyny wirtualnej VMware są wyświetlane w sekcjiIP addresses. Jedna maszyna wirtualna może mieć wiele wirtualnych kart sieciowych i wiele adresów IP. - Kliknij
View all N IP addresses, aby wyświetlić wszystkie adresy IP używane przez maszynę wirtualną. - Na poniższym zrzucie ekranu widać jeden adres IPv4 i jeden adres IPv6 używany przez maszynę wirtualną VMware. VMware Tools Aby wyświetlić adresy IP w interfejsie internetowym programu VMware vSphere Client, w systemie operacyjnym gościa (OS) musi być zainstalowany odpowiedni moduł. Maszyna wirtualna musi być włączona.

Sprawdzanie adresu MAC w programie vSphere Client
Adres MAC maszyny wirtualnej może być wykorzystywany do diagnostyki sieciowej i innych celów.
- Aby sprawdzić adres MAC, kliknij prawym przyciskiem myszy nazwę maszyny wirtualnej w panelu
Navigatorprogramu VMware vSphere Client, a następnie w menu kontekstowym kliknij opcjęEdit Settings. - W zakładce
Virtual HardwareoknaEdit Settingskliknij nazwę karty sieciowej, aby sprawdzić adres MAC wirtualnej karty sieciowej używanej przez maszynę wirtualną.
Sprawdzanie adresu IP maszyny wirtualnej w VMware Host Client
Jeśli korzystasz z samodzielnego hosta ESXi bez VMware vCenter, nie możesz używać VMware vSphere Client do zarządzania środowiskiem wirtualnym. Sytuacja ta ma miejsce, gdy korzystasz z ESXi – edycja bezpłatna na serwerze. W takiej sytuacji możesz użyć programu VMware Host Client do zarządzania hostem ESXi za pomocą interfejsu internetowego.
- Wpisz adres IP swojego hosta ESXi w pasku adresu przeglądarki internetowej, a następnie wprowadź nazwę użytkownika i hasło konta administratora ESXi.
- W panelu
NavigatorkliknijVirtual Machinesi wybierz maszynę wirtualną o adresie IP, który chcesz zidentyfikować. Podobnie jak w przypadku sprawdzania adresu IP maszyny wirtualnej VMware w programie vSphere Client, maszyna wirtualna musi być uruchomiona, a w systemie operacyjnym gościa muszą być zainstalowane narzędzia VMware Tools. - Na stronie z informacjami o maszynie wirtualnej znajdź sekcję o nazwie
General informationi kliknijNetworking, aby rozwinąć okienko i wyświetlić adresy IP używane przez maszynę wirtualną.
Sprawdzanie adresu MAC maszyny wirtualnej w VMware Host Client
- Aby sprawdzić adres MAC maszyny wirtualnej w VMware Host Client, wybierz maszynę wirtualną tak samo, jak podczas sprawdzania adresu IP.
- Przewiń stronę w dół do sekcji
Hardware Configurationw interfejsie internetowym. - Kliknij odpowiednią kartę sieciową maszyny wirtualnej, aby rozwinąć opcje i znaleźć adres MAC odpowiadającej jej wirtualnej karty sieciowej.

Uwaga: W tym przykładzie korzystamy z hosta ESXi zarządzanego przez vCenter Server, ale jesteśmy zalogowani do VMware Host Client. Maszyny wirtualne zostały utworzone w vCenter.
Wyszukiwanie maszyn wirtualnych w VMware vSphere umożliwia znalezienie maszyny wirtualnej po nazwie, ale nie po adresie IP ani adresie MAC.
Identyfikacja nazwy maszyny wirtualnej na podstawie adresu IP
Możesz zidentyfikować nazwę maszyny wirtualnej, jeśli znasz jej adres IP, korzystając z vSphere PowerCLI.
- Należy połączyć się z hostem ESXi lub vCenter i wprowadzić nazwę użytkownika oraz hasło do konta administratora:
Connect-VIServer ESXi_or_vCenter_IP -User root - W naszym przypadku łączymy się z hostem ESXi zarządzanym przez vCenter Server za pomocą polecenia:
Connect-VIServer 10.10.10.74 -User root - Najprostszym poleceniem służącym do wyświetlenia maszyny wirtualnej o określonym adresie IP jest:
Gdzie 192.168.17.137 to adres IP maszyny wirtualnej, którą chcemy zidentyfikować.Get-VM * |where-object{$_.Guest.IPAddress -match "192.168.17.137"}
Istnieje inna metoda identyfikacji nazwy maszyny wirtualnej, jeśli znany jest jej adres IP w PowerCLI. W tym przypadku należy uruchomić dwa polecenia.
- Określ adres IP maszyny wirtualnej, którą chcesz zidentyfikować:
$vmIP="192.168.17.137" - Uzyskaj informacje o maszynie wirtualnej:
Get-VM * |where-object{$_.Guest.IPAddress -eq $vmIP}|select Name, VMHost, PowerState,GuestId,@{N="IP Address";E={@($_.guest.IPAddress[0])}}|ft
- Jeśli znasz część adresu IP, możesz wyświetlić wszystkie maszyny wirtualne o adresach IP pasujących do wzorca wyszukiwania.
$vmIP="192.168."
Get-VM * |where-object{$_.Guest.IPAddress -match $vmIP}|select Name, VMHost, PowerState,@{N="IP Address";E={@($_.guest.IPAddress[0])}} ,@{N="OS";E={$_.Guest.OSFullName}},@{N="Hostname";E={$_.Guest.HostName}}|ft
- Oto polecenie służące do uzyskania listy wszystkich maszyn wirtualnych na hoście lub w klastrze oraz wyświetlenia adresów IP tam, gdzie jest to możliwe:
Get-VM | Select Name, @{N="IP Address";E={@($_.guest.IPAddress[0])}}
Wadą tej metody jest to, że czasami adres IP jest wyświetlany tylko częściowo.
- Istnieje również polecenie umożliwiające wyświetlenie wszystkich maszyn wirtualnych w klastrze (nazwa klastra zawiera ciąg znaków
“cluster”) oraz adresów IP tam, gdzie jest to możliwe:
Get-Cluster "*cluster*" | Get-VM | Select Name, Host, @{N="IP Address";E={@($_.guest.IPAddress[0])}}Zmień[0]na[1], jeśli chcesz wyświetlić drugi adres IP. Możesz usunąć te znaki z polecenia, aby zobaczyć różnicę w wyświetlanych wynikach.
Identyfikacja nazwy maszyny wirtualnej na podstawie adresu MAC
Możesz również użyć VMware PowerCLI do zidentyfikowania nazwy maszyny wirtualnej, jeśli znasz jej adres MAC.
- Połącz się z hostem ESXi lub vCenter w VMware PowerCLI. W moim przykładzie łączę się z hostem ESXi wspomnianym w poprzednim przykładzie:
Connect-VIServer 10.10.10.74 -User root - Określ adres MAC maszyny wirtualnej i znajdź nazwę tej maszyny wirtualnej:
$vmMAC="00:50:56:84:C4:5F"
Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq $vmMAC } | Select-Object Parent,Name,MacAddress
- Można połączyć się z hostem ESXi przez SSH i użyć Wiersz poleceń ESXi interfejs), aby zidentyfikować nazwę maszyny wirtualnej na podstawie jej adresu MAC.
find /vmfs/volumes | grep .vmx$ | while read i; do grep -i "00:50:56:84:C4:5F" "$i" && echo "$i"; done
Adresy MAC maszyn wirtualnych w środowiskach VMware
Adresy MAC nie są przypisywane losowo. Pierwsza połowa adresu MAC jest zazwyczaj powiązana z odpowiednim producentem sprzętu lub oprogramowania.
Adresy MAC zaczynające się od 00:50:56 są adresami MAC VMware, które należą do maszyn wirtualnych VMware, co widać w moich poprzednich przykładach, kiedy identyfikowaliśmy adresy MAC maszyn wirtualnych VMware.
Istnieją cztery sposoby przypisywania adresów MAC VMware: 00:50:56, 00:0C:29, 00:05:69, 00:1C:14. Przyjrzyjmy się niektórym typowym kategoriom zakresów adresów MAC VMware:
00:50:56– VMware Workstation, VMware vSphere, serwer VMware ESXi00:50:56:80:00:00 - 00:50:56:BF:FF:FF– vCenter, maszyny wirtualne VMware vSphere zarządzane przez vCenter00:0C:29– Samodzielne hosty ESXi, VMware Horizon, VMware Workstation00:05:69– VMware ESXi, VMware GSX00:1C:14– VMware
Unikalne identyfikatory organizacji (OUI) są wykorzystywane jako prefiksy adresów MAC w środowisku VMware zgodnie ze schematem przydziału OUI firmy VMware. VMware vCenter i hosty ESXi używają różnych prefiksów dla adresów MAC, aby uniknąć konfliktów adresów MAC w sytuacjach, gdy host nie jest podłączony do serwera vCenter, ale może zostać podłączony do niego później. Jeśli host ESXi jest zarządzany przez vCenter, wówczas vCenter generuje adresy MAC VMware vSphere dla maszyn wirtualnych VMware.
Gdy adres MAC maszyny wirtualnej jest ustawiany ręcznie (w ustawieniach maszyny wirtualnej), prefiks (pierwsze trzy oktety) jest zachowywany automatycznie. Drugą połowę adresu MAC można dostosować.
Jeśli chcesz ręcznie ustawić adres MAC dla maszyny wirtualnej VMware, skorzystaj z poniższego szablonu: 00:50:56:XX:YY:ZZ
- Zalecaną wartością szesnastkową zamiast
XXjest liczba z przedziału od00do3F. - Dopuszczalne liczby dla pól
YYiZZmieszczą się w przedziale od00doFF(cały zakres).
Stosowanie się do tych zaleceń pozwala uniknąć konfliktów między adresami MAC ustawionymi ręcznie a adresami MAC VMware generowanymi automatycznie przez VMware vCenter oraz adresami MAC przypisanymi do kart sieciowych VMkernel. Należy pamiętać, że maksymalną wartością adresu MAC VMware, którą można ustawić ręcznie, jest 00:50:56:3F:FF:FF , jeśli używany jest prefiks 00:50:56 (OUI). Takie podejście może również pomóc w identyfikacji ręcznie i automatycznie przypisanych adresów MAC VMware. Należy pamiętać, że wszystkie adresy MAC w sieci muszą być unikalne.
Obliczanie unikalnego identyfikatora vCenter
Przyjrzyjmy się innym aspektom identyfikacji adresu MAC VMware vCenter.
Jak wyjaśniono powyżej, adres MAC dla vCenter jest przypisywany z zakresu (00:50:56:80:00:00 - 00:50:56:BF:FF:FF) w formacie 00:50:56:XX:YY:ZZ .
W tym przypadku wartość XX jest obliczana na podstawie unikalnego identyfikatora vCenter.
XX=80+vCenterID
Jeśli znasz adres MAC vCenter, możesz obliczyć unikalny identyfikator serwera vCenter (może wynosić od 0 do 63).
Przyjrzyjmy się przykładowi, w którym serwer vCenter jest wdrażany jako maszyna wirtualna, której interfejs sieciowy ma adres MAC VMware:
00:50:56:9B:48:55
Od 80 odjąć 9B (w systemie szesnastkowym). Można skorzystać z kalkulatora HEX .
0x9B - 0x80 = 0x1B
Przekonwertować wartość HEX na wartość dziesiętną:
0x1B = 27
W tym przypadku unikalny identyfikator vCenter to 27 .
Adresy MAC VMware dla maszyn wirtualnych na hostach autonomicznych
Przyjrzyjmy się teraz przykładowi generowania adresów MAC dla maszyn wirtualnych na autonomicznym hoście ESXi, aby zobaczyć, w jaki sposób generowane są adresy MAC maszyn wirtualnych na autonomicznym hoście ESXi, i zrozumieć zasadę tego procesu. Ostatnie sześć znaków unikalnego identyfikatora maszyny wirtualnej (UUID) służy do wypełnienia trzech ostatnich oktetów adresu MAC VMware tej maszyny wirtualnej. Pierwsze trzy oktety adresu MAC VMware dla maszyny wirtualnej utworzonej na samodzielnym hoście ESXi to 00:0C:29.
Na poniższym zrzucie ekranu widać maszynę wirtualną o następujących parametrach:
Adres MAC: 00:0C:29:B0:3E:1D
Nazwa maszyny wirtualnej: Windows-VM
Sprawdźmy UUID maszyny wirtualnej i porównajmy ostatnie znaki UUID z adresem MAC maszyny wirtualnej.
UUID maszyny wirtualnej można sprawdzić za pomocą następującego polecenia w PowerCLI:
Get-VM Windows-VM | %{(Get-View $_.Id).config.uuid}
W naszym przypadku UUID to 564df9a2-261e-869e-5a1d-d118abb03e1d
, a adres MAC to <em>00:0C:29:B0:3E:1D</em>
Wniosek
Adres MAC i adres IP maszyny wirtualnej można sprawdzić w graficznym interfejsie użytkownika programów VMware vSphere Client i VMware Host Client. Alternatywnie, jeśli znasz nazwę maszyny wirtualnej, możesz skorzystać z wiersza poleceń ESXi lub PowerCLI w celu wykrycia jej adresu MAC. Możesz również użyć VMware PowerCLI do zidentyfikowania nazwy maszyny wirtualnej, jeśli znasz jej adres IP lub adres MAC. Znajomość zasad przypisywania adresów MAC VMware do maszyn wirtualnych i innych urządzeń w infrastrukturze wirtualnej VMware może pomóc w odróżnieniu urządzeń związanych z VMware od innych urządzeń w sieci podczas sprawdzania adresów MAC podłączonych urządzeń.
Nie zapomnij wykonać kopii zapasowej maszyn wirtualnych działających w środowisku VMware vSphere. Aby zapewnić niezawodną ochronę danych, skorzystaj z sprawdzonego oprogramowania do tworzenia kopii zapasowych VMware ESXi, takiego jak NAKIVO Backup & Replication. Rozwiązanie to obsługuje tworzenie kopii zapasowych maszyn wirtualnych, serwerów fizycznych, baz danych oraz Microsoft 365.

