web-dev-qa-db-fra.com

Comment trouver l'adresse IP d'une machine virtuelle à l'aide de VMware Fusion?

Puis-je déterminer l'IP d'une machine virtuelle à l'aide de VMware Fusion sans entrer en réalité dans le système d'exploitation en cours d'exécution sur la machine virtuelle? Je cherche une option de menu, une ligne de commande ou sinon que je peux émettre sur l'image virtuelle avec le logiciel VMware Fusion lui-même.

Merci - adron

19
Adron

Réponse courte: Non

Réponse longue: non mais peut-être

Une adresse IP est uniquement la responsabilité d'un système d'exploitation. Par conséquent, la structure virtuelle qui détient le système d'exploitation ne contient aucune idée de la pile TCP/IP dans sauf s'il existe des ajouts symbiotiques dans le cadre tel que les outils d'invité Hyper-V et 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 a VM sans le démarrer en premier.

Techniquement, si le VM s'appuie sur DHCP, vous pourrait Rechercher votre serveur DHCP (probablement le routeur de votre réseau local) pour le dernier bail distribué à l'adresse MAC de le virtuel NIC pour avoir une bonne idée de ce que l'IP serait probablement être la prochaine fois qu'elle se lance. C'est en supposant que la même adresse IP n'a pas été distribuée à un autre appareil Entre après avoir examiné l'historique de bail et lorsque le VM a commencé.

2
Wesley

VMware fournit, sans surprise, un outil intégré pour cela, vmrun. C'est sous /Applications/VMware Fusion.app/Contents/Library/vmrun Bien que cela ait été déplacé dans d'autres libèches de fusion un peu.

???? vmrun list
    Total running VMs: 1
    .docker/machine/machines/myvm.vmx

????  vmrun getGuestIPAddress ~/.docker/machine/machines/myvm.vmx
    172.16.213.128
49
dch

Voici un pourboire au cas où cela aide tout le monde. Installer avahi-daemon sur la machine virtuelle. Cela vous permet de vous connecter via l'hôte Name vmname.local, où vmname est le nom de votre machine virtuelle. Dans mon cas, le nom de la VM est baremetal et sur l'hôte, je peux exécuter:

ssh baremetal.local

Pas besoin de connaître l'adresse IP du VM. :)

10
berto

Comme Mikhail T. a dit: "Parce que VMware fournit la NAT-ING, il devrait être capable de nous dire, quelle adresse elle est actuellement natrice." En effet, il fait:

Dans mon installation VMware Fusion 6, le vmnet-dhcpd démon écrit ses baux aux 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 fichier de location /var/db/vmware/vmnet-dhcpd-vmnet8.leases:

lease 192.168.177.129 {
    starts 1 2014/02/17 09:34:19;
    ends 1 2014/02/17 09:36:56;
    hardware ethernet 00:0c:29:2b:2b:10;
    client-hostname "ubuntu";
}

Le client-hostname est le nom du VM et le numéro après le mot lease est son IP. Vous pouvez analyser ces entrées ou simplement regarder les plus récentes. Assurez-vous de bien sûr Le bail que vous regardez est toujours valable.

4
Laryx Decidua

Il est possible - au moins, dans le cas commun, où le réseau de style NAT est configuré pour l'invité. Étant donné que VMware fournit la NAT-ING, il devrait être capable de nous dire, quelle adresse elle est actuellement natrice. Quelque chose comme vmrun list devrait émettre ces informations. Que ce n'est pas une faille ...

Mais, en tout cas, voici comment on peut savoir quand même. Tout d'abord, courez ifconfig sur votre Mac (peut-être, ipconfig _ _ feriez la même chose sur Windows, mais je ne l'ai pas testé). Cela listera toutes les interfaces réseau sur la machine - physiques et virtuelles. Recherchez les vmnet-celles-ci. Sur mon Mac, cela produit:

% ifconfig | grep -A2 ^vmnet
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:01 
inet 192.168.82.1 netmask 0xffffff00 broadcast 192.168.82.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08 
inet 192.168.123.1 netmask 0xffffff00 broadcast 192.168.123.255

Donc, la propriété intellectuelle de mon invité est sur l'une de ces deux VM réseaux privés: 192.168.82.0/24 ou 192.168.123.0/24. Sur votre hôte, il peut y avoir une chance, votre chance, ou plus de deux - nous avons besoin de les vérifier tous. Voici un script TCSH très simple, entré directement sur la ligne de commande, cela m'a fait pour moi. Il tente de ping chaque adresse dans tous les réseaux privés de classe C. géré par VMNet et se termine, quand un ping réussit. Le -W 500 L'option dit à Ping d'attendre qu'une demi-seconde pour une réponse (pouvait probablement utiliser encore moins) et le -c 1 Donne-lui d'envoyer exactement un paquet:

% set i=2
% while ( $i < 255 )
while? ping -W 500 -c 1 192.168.82.$i && break
while? ping -W 500 -c 1 192.168.123.$i && break
while? @ i++
while? end

Le petit script ci-dessus a couru pendant un certain temps, toutes les tentatives infructueuses d'atteindre les adresses inexistantes:

PING 192.168.82.2 (192.168.82.2): 56 data bytes

--- 192.168.82.2 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING 192.168.123.2 (192.168.123.2): 56 data bytes
...

Jusqu'à ce qu'il a finalement réussi et fini:

64 bytes from 192.168.123.130: icmp_seq=0 ttl=64 time=0.307 ms

--- 192.168.123.130 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss

Voilà, j'ai pu passer à Ssh dans mon invité:

% ssh 192.168.123.130
Password:

Maintenant, je n'avais qu'un seul invité en cours d'exécution - la première adresse IP de 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 de ping similaire pour créer une liste de toutes ces adresses IP privées valides, puis les essayer jusqu'à ce que vous entriez dans le bon invité ...

(Et peut-être que .130 est une bonne supposition pour les adresses basées sur NAT de toute façon. Mais je ne peux pas dire à coup sûr.)

4
Mikhail T.

Ma solution à cela était:

Une fois que vous avez installé VMware Tools, configurez le partage, de sorte que vous puissiez accéder à un dossier (n'importe quel dossier) de Centos. Ensuite, modifiez/etc/sysconfig/Network-Scripts/IFUP-POST pour ajouter votre adresse actuelle de date et IP à un fichier dans ce dossier partagé.

Comment faire cela:

Modifier:/etc/sysconfig/réseaux-scripts/ifup-post

ajoutez ceci avant la dernière ligne d'Ifup-Publier ("Quitter 0"):

date >> /path/to/shared/folder/guest_ip.log
ifconfig >> /path/to/shared/folder/guest_ip.log

Cela ajoutera votre invité_ip.log avec la valeur de date et de retour de l'ifconfig chaque fois que le réseau se présente.

Dans mon cas, j'ai décidé de grep pour un préfixe de 192 sur mon adresse IP, car je sais qu'entre ma maison et mon travail, c'est toujours 192. Cela peut être fait en ajustant ce qui précède comme suit:

date >> /path/to/shared/folder/guest_ip.log
ifconfig | grep 192 >> /path/to/shared/folder/guest_ip.log
2
Mr.BassHatt

Exécutez dans la console VM ipconfig (si VM est Windows) ou ifconfig (si VM est linux).

IP de eth0 Est l'adresse IP que vous recherchez.

1
VM user

J'avais le même problème lors de l'exécution de VMPlayer sur Ubuntu 15.04. Ma machine virtuelle a été définie sur NAT, et bien que je puisse déterminer son adresse IP en vous connectant à l'interface graphique et en exécutant Ifconfig dans la machine virtuelle, je ne pouvais ni ping ni ssh.

S'avère lorsque VMPlayer est installé, il n'a pas activé DHCP sur l'adaptateur VMNET1 et VMNET8. La solution consistait à utiliser l'interface graphique Ubuntu pour modifier les connexions réseau avec "Modifier les connexions". Trouvez VMNET1 sous Ethernet et appuyez sur le bouton Modifier. Sous Paramètres IPv4, activez DHCP, sauvegardez et redémarrez.

Maintenant, si vous exécutez IFCONFIG sur la ligne de commande, vous remarquerez que la VMNET1 a une adresse IP. Sshing dans le NAT-ED VM de l'hôte fonctionne maintenant également.

1
Atifm

Des Mangages de Vmrun (version 1.14.4 Build-3204469):

getGuestIPAddress        Path to vmx file     Gets the IP address of  the guest
                         [-wait]

Toutefois, gardez à l'esprit que pour que cela fonctionne, la suite de VMware Tools Suite doit être installée dans le système d'exploitation invitée et cette étape ne peut être accomplie sans vous connecter au système d'exploitation invité. Vous pouvez installer les outils dans une "image de base" et créer de nouvelles images à partir de la clonage. Ensuite, vous pouvez utiliser la commande ci-dessus pour obtenir l'adresse IP de la VMS nouvellement créée.

0
pldimitrov