Comment puis-je obtenir l'adresse IP pontée d'une machine virtuelle VirtualBox s'exécutant en mode sans tête?


26

J'ai VirtualBox installé sur un serveur. Il a été configuré en tant que machine virtuelle pontée et possède une adresse IP. Il fonctionne maintenant en mode sans tête, a commencé avec "VBoxHeadless -s PuppetMaster".

Comment puis-je savoir quelle IP la VM utilise VBoxManage?

Réponses:


20

J'ai pu trouver mon Headless VB avec la combinaison des commandes suivantes:

# Update arp table
for i in {1..254}; do ping -c 1 192.168.178.$i & done

# Find vm name
VBoxManage list runningvms

# Find MAC: subsitute vmname with your vm's name
VBoxManage showvminfo vmname

# Find IP: substitute vname-mac-addr with your vm's mac address in ':' notation
arp -a | grep vmname-mac-addr

Mais encore plus simple: sous linux, vous pouvez vous connecter au VB:

# Default VirtualBox Listening Port: 3389
rdesktop -N hostingserver:3389

Cette commande ouvrira une fenêtre shell, et vous aurez un accès direct au Headless VB, où vous pourrez récupérer votre Headless VB IP: ip addr


6

Installez les ajouts d'invités et (en supposant que Linux est l'invité), vous pouvez exécuter ce qui suit:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a

1
Le format a changé un peu maintenant, vous aurez besoin deVBoxManage --nologo guestcontrol yourVirtualMachineName --username yourUser --password yourPassword run -- /sbin/ifconfig -a
mike.dld

4
VBoxManage guestproperty enumerate {`VBoxManage list runningvms | awk -F"{" '{print $2}'` | grep IP | awk -F"," '{print $2}' | awk '{print $2}'

La commande fonctionne pour une seule machine virtuelle. - Avec plusieurs VMs filtrées par nom de VM, par exemple:VBoxManage list runningvms | grep vmname | awk ...
mschuett

Ou nous pouvons nous renseigner sur une machine virtuelle spécifique. par exempleVBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish

3

Je ne sais pas si VBoxManage peut vous fournir directement ces informations. Vous pouvez exécuter la commande suivante pour voir la configuration de la carte réseau.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Ce sera le cas si rien d'autre ne vous fournira l'adresse MAC, vous permettant de découvrir l'adresse IP réelle par d'autres moyens.


2
Des idées sur la façon d'obtenir l'IP en utilisant l'adresse MAC à partir de la ligne de commande?
Jon Haddad

2

Vous pouvez l'obtenir directement en utilisant cette commande:

VBoxManage list bridgedifs

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.