Wie kann ich die Bridged-IP-Adresse einer VirtualBox-VM ermitteln, die im Headless-Modus ausgeführt wird?

26

Ich habe VirtualBox auf einem Server eingerichtet. Es wurde als Bridged-VM eingerichtet und verfügt über eine IP-Adresse. Es läuft jetzt im Headless-Modus und wurde mit "VBoxHeadless -s PuppetMaster" gestartet.

Wie kann ich herausfinden, welche IP-Adresse die VM mit VBoxManage verwendet?

Jon Haddad
quelle

Antworten:

20

Ich konnte mein Headless VB mit der Kombination der folgenden Befehle finden:

# 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

Aber noch einfacher: Unter Linux können Sie eine Verbindung zum VB herstellen:

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

Dieser Befehl öffnet ein Shell-Fenster und Sie haben direkten Zugriff auf das Headless VB, wo Sie Ihre Headless VB IP: ip-Adresse abrufen können

Alberto
quelle
6

Installieren Sie Guest-Ergänzungen, und (vorausgesetzt, Linux ist der Gast) können Sie Folgendes ausführen:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a
Simone Scarduzio
quelle
1
Das Format hat sich jetzt etwas geändert, du wirst es brauchenVBoxManage --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}'
brendan
quelle
Befehl funktioniert für eine einzelne VM. - Bei mehreren VMs wird nach VM-Namen gefiltert, z. B .:VBoxManage list runningvms | grep vmname | awk ...
4.
Oder wir können uns nach einer bestimmten VM erkundigen. zBVBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish
3

Ich bin nicht sicher, ob VBoxManage Ihnen diese Informationen direkt zur Verfügung stellen kann. Sie können den folgenden Befehl ausführen, um die Netzwerkkartenkonfiguration anzuzeigen.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Das wird, wenn nichts anderes Ihnen die MAC-Adresse liefert, die es Ihnen ermöglicht, die tatsächliche IP-Adresse auf andere Weise herauszufinden.

andol
quelle
2
Irgendwelche Ideen, wie man die IP über die MAC-Adresse von der Kommandozeile abruft?
Jon Haddad
2

Sie können es direkt mit diesem Befehl abrufen:

VBoxManage list bridgedifs
ShawnMilo
quelle
1

Von virtualbox.org Forum -

VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "

Mohnish
quelle