Puis-je déterminer l'IP d'une machine virtuelle à l'aide de VMware Fusion sans réellement entrer dans le système d'exploitation exécuté sur la machine virtuelle? Je recherche une option de menu, une ligne de commande ou autre que je peux émettre contre l'image virtuelle avec le logiciel VMware Fusion lui-même.
Merci - Adron
Réponses:
Réponse courte: Non
Réponse longue: Non mais peut-être
Une adresse IP relève uniquement de la responsabilité d'un OS. Par conséquent, le cadre virtuel qui contient le système d'exploitation n'a aucune idée de la pile TCP / IP à moins qu'il n'y ait des ajouts symbiotiques au cadre tels que Hyper-V et les outils invités supplémentaires de VMware (grâce à todda.speot.is dans les commentaires ci-dessous) . Ce n'est pas très différent de vouloir parcourir les fichiers sur une machine virtuelle sans le démarrer d'abord.
Techniquement, si la machine virtuelle repose sur DHCP, vous pouvez rechercher sur votre serveur DHCP (probablement le routeur de votre réseau local) le dernier bail qui a été remis à l'adresse MAC de la carte réseau virtuelle pour avoir une bonne idée de ce que l'IP serait probablement le la prochaine fois qu'il sera lancé. Cela suppose que la même IP n'a pas été distribuée à un autre appareil entre le moment où vous avez regardé l'historique du bail et le démarrage de la machine virtuelle.
la source
VMWare fournit, sans surprise, un outil intégré pour cela
vmrun
,. C'est sous/Applications/VMware Fusion.app/Contents/Library/vmrun
bien qu'il ait un peu bougé dans d'autres versions de Fusion.la source
vmrun
est dans le CHEMIN de mon Mac par défaut, alorsvmrun getGuestIPAddress "$(vmrun list | grep vmx)"
, incluez les guillemets!Voici un conseil au cas où cela aiderait quelqu'un. Installez
avahi-daemon
sur la VM. Cela vous permet de vous connecter via le nom d'hôtevmname.local
, oùvmname
est le nom de votre machine virtuelle. Dans mon cas, le nom de la machine virtuelle estbaremetal
et sur l'hôte, je peux exécuter:Pas besoin de connaître l'IP de la VM. :)
la source
avahi-daemon
ne sont pas disponibles? Windows par exemple me vient à l'esprit ... :-)Il est possible - au moins, dans le cas courant, où un réseau de style NAT est configuré pour l'invité. Étant donné que VMWare fournit le NAT-ing, il devrait être en mesure de nous dire à quelles adresses il est actuellement NAT-ing. Quelque chose comme
vmrun list
devrait produire ces informations. Ce n'est pas le cas ...Mais, en tout cas, voici comment on peut le découvrir de toute façon. Tout d'abord, exécutez
ifconfig
sur votre Mac (peut-être,ipconfig
ferait la même chose sur Windows, mais je ne l'ai pas testé). Cela répertoriera toutes les interfaces réseau sur la machine - à la fois physiques et virtuelles. Recherchez les vmnet-ones. Sur mon Mac, cela produit:Ainsi, l'adresse IP de mon invité se trouve sur l'un de ces deux réseaux privés de machine virtuelle: 192.168.82.0/24 ou 192.168.123.0/24. Sur votre hôte, il peut y en avoir un seul, vous avez de la chance, ou plus de deux - nous devons tous les vérifier. Voici un script tcsh très simple, entré directement en ligne de commande, qui l'a fait pour moi. Il tente d'envoyer une requête ping à chaque adresse dans tous les réseaux privés de classe C gérés par vmnet et se termine, lorsqu'un ping réussit. L'
-W 500
option indique à ping d'attendre seulement une demi-seconde pour une réponse (pourrait, probablement, utiliser encore moins), et lui-c 1
dit d'envoyer exactement un paquet:Le petit script ci-dessus a fonctionné pendant un certain temps répertoriant toutes les tentatives infructueuses pour atteindre les adresses inexistantes:
Jusqu'à ce qu'il réussisse et se termine finalement:
Voilà, j'ai pu me connecter à mon invité:
Maintenant, je n'avais qu'un seul invité en cours d'exécution - donc la première adresse IP à répondre à un ping était la bonne. Si vous exécutez plusieurs invités à la fois, vous devrez peut-être utiliser la même commande ping ou une commande similaire pour créer une liste de toutes ces adresses IP privées valides, puis les essayer toutes jusqu'à ce que vous obteniez le bon invité ...
(Et, peut-être, .130 est une bonne supposition pour les adresses basées sur NAT de toute façon. Mais je ne peux pas dire avec certitude.)
la source
nmap -sP 192.168.123.*
Comme Mikhail T. l'a dit, "Parce que VMWare fournit le NAT-ing, il devrait être en mesure de nous dire à quelles adresses il est actuellement NAT-ing." En effet, il:
Dans mon installation VMware Fusion 6, le
vmnet-dhcpd
démon écrit ses baux dans les fichiers/var/db/vmware/vmnet-dhcpd-vmnetX.leases
, où "X" est 1 et 8. Empiriquement :-) J'ai établi que c'est vmnet8 que je devrais rechercher. Voici un extrait du dossier de location/var/db/vmware/vmnet-dhcpd-vmnet8.leases
:Le
client-hostname
est le nom de la VM et le numéro après le motlease
est son IP. Vous pouvez analyser ces entrées ou simplement regarder les plus récentes. Assurez-vous que le bail que vous consultez est toujours valide.la source
Ma solution à cela était:
Une fois les outils VMware installés, configurez le partage afin d'accéder à un dossier (n'importe quel dossier) à partir de CentOS. Ensuite, modifiez / etc / sysconfig / network-scripts / ifup-post pour ajouter votre date actuelle et votre adresse IP à un fichier dans ce dossier partagé.
Comment procéder:
Modifiez: / etc / sysconfig / network-scripts / ifup-post
ajoutez ceci avant la dernière ligne de ifup-post ("exit 0"):
Cela ajoutera à votre guest_ip.log la date et la valeur de retour de ifconfig chaque fois que le réseau démarre.
Dans mon cas, j'ai décidé de chercher un préfixe de 192 sur mon adresse IP, car je sais qu'entre mon domicile et mon travail, c'est toujours 192. Cela peut être fait en ajustant ce qui précède comme suit:
la source
Exécutez dans la console VM
ipconfig
(si VM est Windows) ouifconfig
(si VM est Linux).IP
eth0
est l'adresse IP que vous recherchez.la source
J'ai eu le même problème lors de l'exécution de VMPlayer sur Ubuntu 15.04. Ma machine virtuelle était définie sur NAT, et même si je pouvais déterminer son adresse IP en me connectant à l'interface graphique et en exécutant ifconfig dans la machine virtuelle, je ne pouvais pas y envoyer de ping ou ssh.
S'avère quand VMPlayer est installé, il n'a pas activé DHCP sur l'adaptateur vmnet1 et vmnet8. La solution consistait à utiliser l'interface utilisateur ubuntu pour modifier les connexions réseau avec "Modifier les connexions". Trouvez vmnet1 sous ethernet et appuyez sur le bouton d'édition. Sous Paramètres IPv4, activez DHCP, enregistrez et redémarrez.
Maintenant, si vous exécutez ifconfig sur la ligne de commande, vous remarquerez que le vmnet1 a une adresse IP. La connexion SSH dans la machine virtuelle native à partir de l'hôte fonctionne désormais également.
la source
Depuis les pages de manuel de vmrun (version 1.14.4 build-3204469):
Cependant, gardez à l'esprit que pour que cela fonctionne, la suite VMware Tools doit être installée dans le système d'exploitation invité et cette étape ne peut pas être effectuée sans se connecter au système d'exploitation invité. Vous pouvez installer les outils dans une "image de base" et en créer de nouvelles images via le clonage. Ensuite, vous pouvez utiliser la commande ci-dessus pour obtenir l'adresse IP des VM nouvellement créées.
la source
la source