Localiser les machines virtuelles VMware par adresse IP ou adresse MAC

Dans une grande infrastructure VMware vSphere, vous ne connaissez peut-être que l’adresse IP d’une VM et avez besoin du nom ou vice versa. Par exemple, vous pouvez avoir l’adresse IP avec un accès distant à un système invité via SSH ou Remote Desktop Protocol (RDP) mais avoir besoin du nom de la VM pour localiser cette VM sur un hôte ESXi pour la configuration, la migration ou le backup. Vous pouvez effectuer ces opérations avec vSphere mais pas avec un système invité.

De plus, vous devrez peut-être identifier une adresse MAC d’un adaptateur réseau virtuel utilisé par une VM. Dans cet article de blog, nous expliquons comment trouver l’adresse IP ou MAC d’une machine virtuelle et comment découvrir le nom d’une VM lorsque vous connaissez l’adresse IP ou MAC.

Vérifier une adresse IP dans VMware vSphere Client

La façon la plus simple de vérifier l’adresse IP d’une VM dans VMware vSphere est d’utiliser VMware vSphere Client.

  1. Dans un navigateur web, entrez l’adresse IP de votre serveur vCenter dans la barre d’adresse, ouvrez vSphere Client et entrez vos informations d’identification pour vous connecter.
  2. Allez à Hôtes et Clusters, sélectionnez la VM nécessaire par nom et vérifiez l’onglet Résumé. Les adresses IP VMware de la machine virtuelle sont affichées dans la section Adresses IP. Une VM peut avoir plusieurs adaptateurs réseau virtuels et plusieurs adresses IP.
  3. Cliquez sur Afficher toutes les N adresses IP pour afficher toutes les adresses IP utilisées par la VM.
  4. Dans la capture d’écran ci-dessous, vous pouvez voir une adresse IPv4 et une adresse IPv6 utilisées par une VM VMware. VMware Tools doivent être installés sur un système d’exploitation (SE) invité pour afficher les adresses IP dans l’interface web du client VMware vSphere. La VM doit être allumée.

Vérification d’une adresse MAC dans le client vSphere

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

  1. Pour vérifier l’adresse MAC, cliquez avec le bouton droit sur le nom de la VM dans le volet Navigateur du client VMware vSphere, et dans le menu contextuel, cliquez sur Modifier les paramètres.
  2. Dans l’onglet Matériel virtuel de la fenêtre Modifier les paramètres, cliquez sur le nom de l’adaptateur réseau pour vérifier l’adresse MAC de l’adaptateur réseau virtuel utilisé par la VM.

Vérification de l’adresse IP d’une VM dans le client VMware Host.

Si vous utilisez un hôte ESXi autonome sans VMware vCenter, vous ne pouvez pas utiliser VMware vSphere Client pour gérer l’environnement virtuel. Cela se produit lorsque vous utilisez ESXi Free Edition sur un serveur. Dans cette situation, vous pouvez utiliser VMware Host Client pour gérer un hôte ESXi dans une interface web.

  1. Entrez l’adresse IP de votre hôte ESXi dans la barre d’adresse de votre navigateur Web et entrez un nom d’utilisateur et un mot de passe de compte administrateur ESXi.
  2. Dans le volet Navigateur, cliquez sur Machines virtuelles et sélectionnez la VM avec l’adresse IP à identifier. Comme pour l’identification de l’adresse IP VMware d’une VM dans vSphere Client, la VM doit être démarrée et VMware Tools doit être installé sur le système d’exploitation invité.
  3. Sur la page avec les informations de la VM, repérez la section avec Informations générales et cliquez sur Réseau pour développer le volet et afficher les adresses IP utilisées par la VM.

Vérification de l’adresse MAC d’une VM dans VMware Host Client

  1. Pour vérifier l’adresse MAC d’une VM dans VMware Host Client, sélectionnez la VM comme vous le feriez pour vérifier l’adresse IP.Faites défiler la page jusqu’à la section Configuration matérielle dans l’interface web.
  2. Faites défiler la page jusqu’à la section Configuration matérielle dans l’interface web.
  3. Cliquez sur l’adaptateur réseau VM nécessaire pour développer les options et trouvez l’adresse MAC de l’adaptateur réseau virtuel correspondant.

Remarque : Dans cet exemple, nous utilisons un hôte ESXi géré par vCenter Server, mais nous sommes connectés à VMware Host Client. Les VM ont été créées dans vCenter.

La recherche de VM dans VMware vSphere vous permet de trouver une VM par nom mais pas par adresse IP ou adresse MAC.

Identification du nom de la VM par adresse IP

Vous pouvez identifier le nom de la VM si vous connaissez l’adresse IP en utilisant vSphere PowerCLI.

  1. Connectez-vous à un hôte ESXi ou à vCenter et saisissez le nom d’utilisateur et le mot de passe du compte administratif :
    Connect-VIServer ESXi_or_vCenter_IP -User root
  2. Dans notre cas, nous nous connectons à l’hôte ESXi géré par vCenter Server avec la commande :
    Connect-VIServer 10.10.10.74 -User root
  3. Le moyen le plus simple d’afficher une machine virtuelle ayant l’adresse IP définie est :
    Get-VM * | where-object{$_.Guest.IPAddress -match « 192.168.17.137 »}

    192.168.17.137 est l’adresse IP de la machine virtuelle à identifier.

Il existe une autre méthode pour identifier un nom de machine virtuelle si vous connaissez l’adresse IP d’une machine virtuelle dans PowerCLI. Dans ce cas, vous devriez exécuter deux commandes.

  1. Définissez l’adresse IP de la machine virtuelle à identifier :
    $vmIP= »192.168.17.137″
  2. Obtenez des informations sur la VM :
    Get-VM * | where-object{$_.Guest.IPAddress -eq $vmIP} | select Name, VMHost, PowerState, GuestId, @{N=”Adresse IP”;E={@($_.guest.IPAddress[0])}} | ft
  3. Si vous connaissez une partie de l’adresse IP, vous pouvez afficher toutes les VM avec des adresses IP correspondant au motif de recherche.
    $vmIP=”192.168.”

    Get-VM * | where-object{$_.Guest.IPAddress -match $vmIP} | select Name, VMHost, PowerState, @{N=”Adresse IP”;E={@($_.guest.IPAddress[0])}}, @{N=”OS”;E={$_.Guest.OSFullName}}, @{N=”Nom d’hôte”;E={$_.Guest.HostName}} | ft
  4. Voici une commande pour obtenir une liste de toutes les VM sur un hôte ou un cluster et afficher les adresses IP si possible :
    Get-VM | Select Name, @{N=”Adresse IP”;E={@($_.guest.IPAddress[0])}}

L’inconvénient de cette méthode est que parfois l’adresse IP n’est affichée que partiellement.

  • Il existe également une commande pour afficher toutes les VMs dans un cluster (le nom du cluster contient la chaîne “cluster”) et afficher les adresses IP lorsque c’est possible:
    Get-Cluster « *cluster* » | Get-VM | Select Name, Host, @{N= »IP Address »;E={@($_.guest.IPAddress[0])}} 

    Changez [0] en [1] si vous souhaitez afficher la deuxième adresse IP. Vous pouvez supprimer ces caractères de la commande pour voir la différence dans les résultats affichés.

Identifier le nom de la VM par l’adresse MAC

Vous pouvez également utiliser VMware PowerCLI pour identifier le nom d’une VM si vous connaissez l’adresse MAC d’une VM.

  1. Connectez-vous à un hôte ESXi ou vCenter dans VMware PowerCLI. Dans mon exemple, je me connecte à l’hôte ESXi mentionné dans l’exemple précédent:
    Connect-VIServer 10.10.10.74 -User root
  2. Définissez l’adresse MAC de la machine virtuelle et trouvez le nom de cette VM:
    $vmMAC= »00:50:56:84:C4:5F »

    Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq $vmMAC } | Select-Object Parent,Name,MacAddress
  3. Vous pouvez vous connecter à l’hôte ESXi via SSH et utiliser l’interface en ligne de commande ESXi pour identifier un nom de machine virtuelle par son adresse MAC de machine virtuelle.
    find /vmfs/volumes | grep .vmx$ | while read i; do grep -i “00:50:56:84:C4:5F” “$i” && echo “$i”; done

Adresses MAC de machines virtuelles dans les environnements VMware

Les adresses MAC ne sont pas attribuées de manière aléatoire. La première moitié d’une adresse MAC est généralement associée au fabricant de matériel ou de logiciel approprié.

Les adresses MAC commençant par 00:50:56 sont des adresses MAC VMware appartenant aux machines virtuelles VMware, comme on peut le voir dans mes exemples précédents lorsque nous avons identifié les adresses MAC des machines virtuelles VMware.

Il existe quatre attributions pour les adresses MAC VMware : 00:50:56, 00:0C:29, 00:05:69, 00:1C:14. Regardons quelques catégories courantes de plages d’adresses MAC VMware :

  • 00:50:56 – VMware Workstation, VMware vSphere, serveur VMware ESXi
  • 00:50:56:80:00:00 – 00:50:56:BF:FF:FF – vCenter, machines virtuelles VMware vSphere gérées par vCenter
  • 00:0C:29 – Hôtes ESXi autonomes, VMware Horizon, VMware Workstation
  • 00:05:69 – VMware ESXi, VMware GSX
  • 00:1C:14 – VMware

Les identifiants uniques d’organisation (OUI) VMware sont utilisés en tant que préfixes pour les adresses MAC VMware selon le schéma d’allocation des OUI VMware. Les hôtes VMware vCenter et ESXi utilisent des préfixes différents pour les adresses MAC afin d’éviter les conflits d’adresses MAC dans les situations où un hôte n’est pas connecté au serveur vCenter mais peut être connecté à vCenter ultérieurement. Si un hôte ESXi est géré par vCenter, alors vCenter génère des adresses MAC VMware vSphere pour les VM VMware.

Lorsqu’une adresse MAC est définie manuellement pour une VM (dans les paramètres de la VM), le préfixe (trois premiers octets) est automatiquement préservé. La deuxième moitié de l’adresse MAC peut être personnalisée.

Si vous souhaitez définir manuellement une adresse MAC pour une VM VMware, utilisez ce modèle :

00:50:56:XX:YY:ZZ

  • La valeur hexadécimale recommandée à la place de XX est un nombre compris entre 00 et 3F.
  • Les nombres valides pour les champs YY et ZZ sont compris dans la plage entre 00 et FF (la plage complète).

En suivant ces recommandations, vous évitez les conflits entre les adresses MAC que vous avez définies manuellement, celles générées automatiquement par VMware vCenter et les adresses MAC attribuées aux adaptateurs VMkernel. Notez que la valeur maximale pour une adresse MAC VMware pouvant être définie manuellement est 00:50:56:3F:FF:FF si le préfixe 00:50:56 (OUI) est utilisé. Cette approche peut également aider à identifier les adresses MAC VMware attribuées manuellement et automatiquement. N’oubliez pas que toutes les adresses MAC dans le réseau doivent être uniques.

Calcul de l’identifiant unique vCenter

Explorons d’autres aspects de l’identification d’une adresse MAC de VMware vCenter.

Comme expliqué ci-dessus, une adresse MAC pour vCenter est attribuée à partir de la plage (00:50:56:80:00:00 – 00:50:56:BF:FF:FF) dans le format 00:50:56:XX:YY:ZZ.

Dans ce cas, la valeur XX est calculée en fonction de l’ID unique vCenter.

XX=80+vCenterID

Si vous connaissez l’adresse MAC de vCenter, vous pouvez calculer l’ID unique du serveur vCenter (peut être compris entre 0 et 63).

Examinons un exemple où le serveur vCenter est déployé en tant que VM dont l’interface réseau a une adresse MAC VMware:

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

Soustrayez 80 de 9B (hexadécimal). Vous pouvez utiliser la calculatrice HEX.

0x9B – 0x80 = 0x1B

Convertissez la valeur HEX en valeur décimale:

0x1B = 27

L’ID unique vCenter est 27 dans ce cas.

Adresses MAC VMware pour les VMs sur des hôtes autonomes

Examinons maintenant un exemple de génération d’adresse MAC pour les VMs sur un hôte ESXi autonome pour comprendre comment les adresses MAC des VMs sont générées sur un hôte ESXi autonome et comprendre le principe de génération. Les six derniers caractères de l’identificateur universel unique (UUID) de la VM sont utilisés pour remplir les trois derniers octets de l’adresse MAC VMware de la VM. Les trois premiers octets d’une adresse MAC VMware pour une VM créée sur un hôte ESXi autonome sont 00:0C:29.

Sur l’image ci-dessous, vous pouvez voir une VM avec les paramètres:

Adresse MAC: 00:0C:29:B0:3E:1D

Nom de la machine virtuelle : Windows-VM

Vérifions l’UUID de la machine virtuelle et comparons les derniers caractères de l’UUID et de l’adresse MAC de la machine virtuelle.

Vous pouvez vérifier l’UUID d’une machine virtuelle avec cette commande dans PowerCLI :

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

Dans notre cas, l’UUID est 564df9a2-261e-869e-5a1d-d118abb03e1d

et l’adresse MAC est 00:0C:29:B0:3E:1D

Comme vous pouvez le constater, la règle fonctionne.

Conclusion

Vous pouvez vérifier une adresse MAC et une adresse IP d’une machine virtuelle dans l’interface utilisateur graphique de VMware vSphere Client et VMware Host Client. En alternative, utilisez la ligne de commande ESXi ou PowerCLI pour détecter une adresse MAC d’une machine virtuelle si vous connaissez le nom de la machine virtuelle. Vous pouvez également utiliser VMware PowerCLI pour identifier un nom de machine virtuelle si vous connaissez l’adresse IP ou MAC de la machine virtuelle. Connaître les principes d’attribution des adresses MAC VMware aux machines virtuelles et autres machines dans une infrastructure virtuelle VMware peut vous aider à identifier les machines liées à VMware parmi les autres appareils du réseau lors de la vérification des adresses MAC des appareils connectés.

N’oubliez pas de sauvegarder vos machines virtuelles s’exécutant dans VMware vSphere. Utilisez un logiciel de sauvegarde fiable pour VMware ESXi comme NAKIVO Backup & Replication pour une protection robuste des données. La solution prend en charge les sauvegardes de machines virtuelles, les sauvegardes de serveurs physiques, les sauvegardes de bases de données et les sauvegardes de Microsoft 365.

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